Java源码示例:jdk.nashorn.internal.ir.Splittable
示例1
@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
@Override
public Node leaveObjectNode(final ObjectNode objectNode) {
final List<Splittable.SplitRange> ranges = objectNode.getSplitRanges();
if (ranges != null) {
final List<Splittable.SplitRange> newRanges = new ArrayList<>();
for (final Splittable.SplitRange range : ranges) {
newRanges.add(new Splittable.SplitRange(getExistingReplacement(range), range.getLow(), range.getHigh()));
}
return objectNode.setSplitRanges(lc, newRanges);
}
return super.leaveObjectNode(objectNode);
}
示例3
@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;
}
示例4
@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;
}
示例5
@Override
public Node leaveObjectNode(final ObjectNode objectNode) {
final List<Splittable.SplitRange> ranges = objectNode.getSplitRanges();
if (ranges != null) {
final List<Splittable.SplitRange> newRanges = new ArrayList<>();
for (final Splittable.SplitRange range : ranges) {
newRanges.add(new Splittable.SplitRange(getExistingReplacement(range), range.getLow(), range.getHigh()));
}
return objectNode.setSplitRanges(lc, newRanges);
}
return super.leaveObjectNode(objectNode);
}
示例6
@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;
}
示例7
@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;
}
示例8
@Override
public Node leaveObjectNode(final ObjectNode objectNode) {
final List<Splittable.SplitRange> ranges = objectNode.getSplitRanges();
if (ranges != null) {
final List<Splittable.SplitRange> newRanges = new ArrayList<>();
for (final Splittable.SplitRange range : ranges) {
newRanges.add(new Splittable.SplitRange(getExistingReplacement(range), range.getLow(), range.getHigh()));
}
return objectNode.setSplitRanges(lc, newRanges);
}
return super.leaveObjectNode(objectNode);
}
示例9
@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;
}
示例10
@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;
}
示例11
@Override
public Node leaveObjectNode(final ObjectNode objectNode) {
final List<Splittable.SplitRange> ranges = objectNode.getSplitRanges();
if (ranges != null) {
final List<Splittable.SplitRange> newRanges = new ArrayList<>();
for (final Splittable.SplitRange range : ranges) {
newRanges.add(new Splittable.SplitRange(getExistingReplacement(range), range.getLow(), range.getHigh()));
}
return objectNode.setSplitRanges(lc, newRanges);
}
return super.leaveObjectNode(objectNode);
}
示例12
@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;
}
示例13
@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;
}
示例14
@Override
public Node leaveObjectNode(final ObjectNode objectNode) {
final List<Splittable.SplitRange> ranges = objectNode.getSplitRanges();
if (ranges != null) {
final List<Splittable.SplitRange> newRanges = new ArrayList<>();
for (final Splittable.SplitRange range : ranges) {
newRanges.add(new Splittable.SplitRange(getExistingReplacement(range), range.getLow(), range.getHigh()));
}
return objectNode.setSplitRanges(lc, newRanges);
}
return super.leaveObjectNode(objectNode);
}
示例15
@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;
}
示例16
@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;
}
示例17
@Override
public Node leaveObjectNode(final ObjectNode objectNode) {
final List<Splittable.SplitRange> ranges = objectNode.getSplitRanges();
if (ranges != null) {
final List<Splittable.SplitRange> newRanges = new ArrayList<>();
for (final Splittable.SplitRange range : ranges) {
newRanges.add(new Splittable.SplitRange(getExistingReplacement(range), range.getLow(), range.getHigh()));
}
return objectNode.setSplitRanges(lc, newRanges);
}
return super.leaveObjectNode(objectNode);
}
示例18
@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;
}
示例19
private static boolean isSplitLiteral(final LexicalContextNode expr) {
return expr instanceof Splittable && ((Splittable) expr).getSplitRanges() != null;
}
示例20
private static boolean isSplitLiteral(final LexicalContextNode expr) {
return expr instanceof Splittable && ((Splittable) expr).getSplitRanges() != null;
}
示例21
private static boolean isSplitLiteral(final LexicalContextNode expr) {
return expr instanceof Splittable && ((Splittable) expr).getSplitRanges() != null;
}
示例22
private static boolean isSplitLiteral(final LexicalContextNode expr) {
return expr instanceof Splittable && ((Splittable) expr).getSplitRanges() != null;
}
示例23
private static boolean isSplitLiteral(final LexicalContextNode expr) {
return expr instanceof Splittable && ((Splittable) expr).getSplitRanges() != null;
}
示例24
private static boolean isSplitLiteral(final LexicalContextNode expr) {
return expr instanceof Splittable && ((Splittable) expr).getSplitRanges() != null;
}