com.oracle.truffle.api.nodes.Node.adoptAndCountHelper()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(1.8k)|赞(0)|评价(0)|浏览(589)

本文整理了Java中com.oracle.truffle.api.nodes.Node.adoptAndCountHelper()方法的一些代码示例,展示了Node.adoptAndCountHelper()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.adoptAndCountHelper()方法的具体详情如下:
包路径:com.oracle.truffle.api.nodes.Node
类名称:Node
方法名:adoptAndCountHelper

Node.adoptAndCountHelper介绍

暂无

代码示例

代码示例来源:origin: com.oracle.truffle/truffle-api

  1. static int adoptChildrenAndCountHelper(Node currentNode) {
  2. int count = 0;
  3. NodeClass clazz = currentNode.getNodeClass();
  4. for (Object field : clazz.getNodeFields()) {
  5. if (clazz.isChildField(field)) {
  6. Object child = clazz.getFieldObject(field, currentNode);
  7. if (child != null) {
  8. Node node = (Node) child;
  9. count += currentNode.adoptAndCountHelper(node);
  10. }
  11. } else if (clazz.isChildrenField(field)) {
  12. Object arrayObject = clazz.getFieldObject(field, currentNode);
  13. if (arrayObject == null) {
  14. continue;
  15. }
  16. Object[] array = (Object[]) arrayObject;
  17. for (int i = 0; i < array.length; i++) {
  18. Object child = array[i];
  19. if (child != null) {
  20. Node node = (Node) child;
  21. count += currentNode.adoptAndCountHelper(node);
  22. }
  23. }
  24. } else if (clazz.nodeFieldsOrderedByKind()) {
  25. break;
  26. }
  27. }
  28. return count;
  29. }

代码示例来源:origin: org.graalvm.truffle/truffle-api

  1. static int adoptChildrenAndCountHelper(Node currentNode) {
  2. int count = 0;
  3. NodeClass clazz = currentNode.getNodeClass();
  4. for (Object field : clazz.getNodeFields()) {
  5. if (clazz.isChildField(field)) {
  6. Object child = clazz.getFieldObject(field, currentNode);
  7. if (child != null) {
  8. Node node = (Node) child;
  9. count += currentNode.adoptAndCountHelper(node);
  10. }
  11. } else if (clazz.isChildrenField(field)) {
  12. Object arrayObject = clazz.getFieldObject(field, currentNode);
  13. if (arrayObject == null) {
  14. continue;
  15. }
  16. Object[] array = (Object[]) arrayObject;
  17. for (int i = 0; i < array.length; i++) {
  18. Object child = array[i];
  19. if (child != null) {
  20. Node node = (Node) child;
  21. count += currentNode.adoptAndCountHelper(node);
  22. }
  23. }
  24. } else if (clazz.nodeFieldsOrderedByKind()) {
  25. break;
  26. }
  27. }
  28. return count;
  29. }

相关文章