本文整理汇总了Java中jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode.getSplitRanges方法的典型用法代码示例。如果您正苦于以下问题:Java ArrayLiteralNode.getSplitRanges方法的具体用法?Java ArrayLiteralNode.getSplitRanges怎么用?Java ArrayLiteralNode.getSplitRanges使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode
的用法示例。
在下文中一共展示了ArrayLiteralNode.getSplitRanges方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: leaveLiteralNode
import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode; //导入方法依赖的package包/类
@Override
public Node leaveLiteralNode(final LiteralNode<?> node) {
if (node instanceof ArrayLiteralNode) {
final ArrayLiteralNode aln = (ArrayLiteralNode)node;
if (aln.getSplitRanges() == null) {
return node;
}
final List<Splittable.SplitRange> newArrayUnits = new ArrayList<>();
for (final Splittable.SplitRange au : aln.getSplitRanges()) {
newArrayUnits.add(new Splittable.SplitRange(getExistingReplacement(au), au.getLow(), au.getHigh()));
}
return aln.setSplitRanges(lc, newArrayUnits);
}
return node;
}
示例2: enterLiteralNode
import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode; //导入方法依赖的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<Splittable.SplitRange> units = arrayLiteralNode.getSplitRanges();
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;
}
示例3: enterLiteralNode
import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
@Override
public boolean enterLiteralNode(final LiteralNode literalNode) {
if (literalNode instanceof LiteralNode.PrimitiveLiteralNode) {
weight += CONST_WEIGHT;
return false;
}
weight += LITERAL_WEIGHT;
if (literalNode instanceof ArrayLiteralNode) {
final ArrayLiteralNode arrayLiteralNode = (ArrayLiteralNode)literalNode;
final Node[] value = arrayLiteralNode.getValue();
final int[] postsets = arrayLiteralNode.getPostsets();
final List<Splittable.SplitRange> units = arrayLiteralNode.getSplitRanges();
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;
}