本文整理了Java中com.oracle.truffle.api.nodes.Node.adoptAndCountHelper()
方法的一些代码示例,展示了Node.adoptAndCountHelper()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.adoptAndCountHelper()
方法的具体详情如下:
包路径:com.oracle.truffle.api.nodes.Node
类名称:Node
方法名:adoptAndCountHelper
暂无
代码示例来源:origin: com.oracle.truffle/truffle-api
static int adoptChildrenAndCountHelper(Node currentNode) {
int count = 0;
NodeClass clazz = currentNode.getNodeClass();
for (Object field : clazz.getNodeFields()) {
if (clazz.isChildField(field)) {
Object child = clazz.getFieldObject(field, currentNode);
if (child != null) {
Node node = (Node) child;
count += currentNode.adoptAndCountHelper(node);
}
} else if (clazz.isChildrenField(field)) {
Object arrayObject = clazz.getFieldObject(field, currentNode);
if (arrayObject == null) {
continue;
}
Object[] array = (Object[]) arrayObject;
for (int i = 0; i < array.length; i++) {
Object child = array[i];
if (child != null) {
Node node = (Node) child;
count += currentNode.adoptAndCountHelper(node);
}
}
} else if (clazz.nodeFieldsOrderedByKind()) {
break;
}
}
return count;
}
代码示例来源:origin: org.graalvm.truffle/truffle-api
static int adoptChildrenAndCountHelper(Node currentNode) {
int count = 0;
NodeClass clazz = currentNode.getNodeClass();
for (Object field : clazz.getNodeFields()) {
if (clazz.isChildField(field)) {
Object child = clazz.getFieldObject(field, currentNode);
if (child != null) {
Node node = (Node) child;
count += currentNode.adoptAndCountHelper(node);
}
} else if (clazz.isChildrenField(field)) {
Object arrayObject = clazz.getFieldObject(field, currentNode);
if (arrayObject == null) {
continue;
}
Object[] array = (Object[]) arrayObject;
for (int i = 0; i < array.length; i++) {
Object child = array[i];
if (child != null) {
Node node = (Node) child;
count += currentNode.adoptAndCountHelper(node);
}
}
} else if (clazz.nodeFieldsOrderedByKind()) {
break;
}
}
return count;
}
内容来源于网络,如有侵权,请联系作者删除!