本文整理汇总了Java中jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode.ArrayUnit类的典型用法代码示例。如果您正苦于以下问题:Java ArrayUnit类的具体用法?Java ArrayUnit怎么用?Java ArrayUnit使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ArrayUnit类属于jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode包,在下文中一共展示了ArrayUnit类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: leaveLiteralNode
import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode.ArrayUnit; //导入依赖的package包/类
@Override
public Node leaveLiteralNode(final LiteralNode<?> node) {
if (node instanceof ArrayLiteralNode) {
final ArrayLiteralNode aln = (ArrayLiteralNode)node;
if (aln.getUnits() == null) {
return node;
}
final List<ArrayUnit> newArrayUnits = new ArrayList<>();
for (final ArrayUnit au : aln.getUnits()) {
newArrayUnits.add(new ArrayUnit(getExistingReplacement(au), au.getLo(), au.getHi()));
}
return aln.setUnits(lc, newArrayUnits);
}
return node;
}
示例2: isSplitArray
import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode.ArrayUnit; //导入依赖的package包/类
private static boolean isSplitArray(final LexicalContextNode expr) {
if(!(expr instanceof ArrayLiteralNode)) {
return false;
}
final List<ArrayUnit> units = ((ArrayLiteralNode)expr).getUnits();
return !(units == null || units.isEmpty());
}
示例3: enterLiteralNode
import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode.ArrayUnit; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
@Override
public boolean enterLiteralNode(final LiteralNode literalNode) {
weight += LITERAL_WEIGHT;
if (literalNode instanceof ArrayLiteralNode) {
final ArrayLiteralNode arrayLiteralNode = (ArrayLiteralNode)literalNode;
final Node[] value = arrayLiteralNode.getValue();
final int[] postsets = arrayLiteralNode.getPostsets();
final List<ArrayUnit> units = arrayLiteralNode.getUnits();
if (units == null) {
for (final int postset : postsets) {
weight += AASTORE_WEIGHT;
final Node element = value[postset];
if (element != null) {
element.accept(this);
}
}
}
return false;
}
return true;
}