jdk.nashorn.internal.ir.ContinueNode Java Examples
The following examples show how to use
jdk.nashorn.internal.ir.ContinueNode.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: JSONWriter.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final String label = continueNode.getLabelName(); if(label != null) { property("label", label); } else { property("label"); nullValue(); } return leave(); }
Example #2
Source File: JSONWriter.java From hottub with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final String label = continueNode.getLabelName(); if(label != null) { property("label", label); } else { property("label"); nullValue(); } return leave(); }
Example #3
Source File: JSONWriter.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final String label = continueNode.getLabelName(); if(label != null) { property("label", label); } else { property("label"); nullValue(); } return leave(); }
Example #4
Source File: JSONWriter.java From nashorn with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final IdentNode label = continueNode.getLabel(); property("label"); if (label != null) { label.accept(this); } else { nullValue(); } return leave(); }
Example #5
Source File: JSONWriter.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final IdentNode label = continueNode.getLabel(); property("label"); if (label != null) { label.accept(this); } else { nullValue(); } return leave(); }
Example #6
Source File: JSONWriter.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final String label = continueNode.getLabelName(); if(label != null) { property("label", label); } else { property("label"); nullValue(); } return leave(); }
Example #7
Source File: JSONWriter.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final String label = continueNode.getLabelName(); if(label != null) { property("label", label); } else { property("label"); nullValue(); } return leave(); }
Example #8
Source File: JSONWriter.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final String label = continueNode.getLabelName(); if(label != null) { property("label", label); } else { property("label"); nullValue(); } return leave(); }
Example #9
Source File: JSONWriter.java From jdk8u_nashorn with GNU General Public License v2.0 | 6 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { enterDefault(continueNode); type("ContinueStatement"); comma(); final String label = continueNode.getLabelName(); if(label != null) { property("label", label); } else { property("label"); nullValue(); } return leave(); }
Example #10
Source File: CodeGenerator.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { lineNumber(continueNode); final LoopNode continueTo = lc.getContinueTo(continueNode.getLabel()); for (int i = 0; i < lc.getScopeNestingLevelTo(continueTo); i++) { closeWith(); } method.splitAwareGoto(lc, continueTo.getContinueLabel()); return false; }
Example #11
Source File: CodeGenerator.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { lineNumber(continueNode); final LoopNode continueTo = lc.getContinueTo(continueNode.getLabel()); for (int i = 0; i < lc.getScopeNestingLevelTo(continueTo); i++) { closeWith(); } method.splitAwareGoto(lc, continueTo.getContinueLabel()); return false; }
Example #12
Source File: CodeGenerator.java From nashorn with GNU General Public License v2.0 | 5 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { lineNumber(continueNode); final LoopNode continueTo = lc.getContinueTo(continueNode.getLabel()); for (int i = 0; i < lc.getScopeNestingLevelTo(continueTo); i++) { closeWith(); } method.splitAwareGoto(lc, continueTo.getContinueLabel()); return false; }
Example #13
Source File: Lower.java From hottub with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { addStatement(continueNode); return false; }
Example #14
Source File: Parser.java From openjdk-8 with GNU General Public License v2.0 | 4 votes |
/** * ContinueStatement : * continue Identifier? ; // [no LineTerminator here] * * See 12.7 * * Parse CONTINUE statement. */ private void continueStatement() { // Capture CONTINUE token. final int continueLine = line; final long continueToken = token; // CONTINUE tested in caller. nextOrEOL(); LabelNode labelNode = null; // SEMICOLON or label. switch (type) { case RBRACE: case SEMICOLON: case EOL: case EOF: break; default: final IdentNode ident = getIdent(); labelNode = lc.findLabel(ident.getName()); if (labelNode == null) { throw error(AbstractParser.message("undefined.label", ident.getName()), ident.getToken()); } break; } final IdentNode label = labelNode == null ? null : labelNode.getLabel(); final LoopNode targetNode = lc.getContinueTo(label); if (targetNode == null) { throw error(AbstractParser.message("illegal.continue.stmt"), continueToken); } endOfLine(); // Construct and add CONTINUE node. appendStatement(new ContinueNode(continueLine, continueToken, finish, label == null ? null : new IdentNode(label))); }
Example #15
Source File: SplitIntoFunctions.java From hottub with GNU General Public License v2.0 | 4 votes |
@Override public Node leaveContinueNode(final ContinueNode continueNode) { return leaveJumpNode(continueNode); }
Example #16
Source File: LocalVariableTypesCalculator.java From hottub with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { return enterJumpStatement(continueNode); }
Example #17
Source File: PrintVisitor.java From jdk8u_nashorn with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode node) { node.toString(sb, printTypes); printLocalVariableConversion(node); return false; }
Example #18
Source File: Lower.java From jdk8u_nashorn with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { addStatement(continueNode); return false; }
Example #19
Source File: Lower.java From openjdk-8 with GNU General Public License v2.0 | 4 votes |
/** * Constructor. */ Lower(final CodeInstaller<?> installer) { super(new BlockLexicalContext() { @Override public List<Statement> popStatements() { final List<Statement> newStatements = new ArrayList<>(); boolean terminated = false; final List<Statement> statements = super.popStatements(); for (final Statement statement : statements) { if (!terminated) { newStatements.add(statement); if (statement.isTerminal() || statement instanceof BreakNode || statement instanceof ContinueNode) { //TODO hasGoto? But some Loops are hasGoto too - why? terminated = true; } } else { statement.accept(new NodeVisitor<LexicalContext>(new LexicalContext()) { @Override public boolean enterVarNode(final VarNode varNode) { newStatements.add(varNode.setInit(null)); return false; } }); } } return newStatements; } @Override protected Block afterSetStatements(final Block block) { final List<Statement> stmts = block.getStatements(); for(final ListIterator<Statement> li = stmts.listIterator(stmts.size()); li.hasPrevious();) { final Statement stmt = li.previous(); // popStatements() guarantees that the only thing after a terminal statement are uninitialized // VarNodes. We skip past those, and set the terminal state of the block to the value of the // terminal state of the first statement that is not an uninitialized VarNode. if(!(stmt instanceof VarNode && ((VarNode)stmt).getInit() == null)) { return block.setIsTerminal(this, stmt.isTerminal()); } } return block.setIsTerminal(this, false); } }); this.installer = installer; }
Example #20
Source File: Lower.java From openjdk-8 with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { addStatement(continueNode); return false; }
Example #21
Source File: LocalVariableTypesCalculator.java From jdk8u_nashorn with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { return enterJumpStatement(continueNode); }
Example #22
Source File: PrintVisitor.java From hottub with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode node) { node.toString(sb, printTypes); printLocalVariableConversion(node); return false; }
Example #23
Source File: Parser.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
/** * ContinueStatement : * continue Identifier? ; // [no LineTerminator here] * * See 12.7 * * Parse CONTINUE statement. */ private void continueStatement() { // Capture CONTINUE token. final int continueLine = line; final long continueToken = token; // CONTINUE tested in caller. nextOrEOL(); LabelNode labelNode = null; // SEMICOLON or label. switch (type) { case RBRACE: case SEMICOLON: case EOL: case EOF: break; default: final IdentNode ident = getIdent(); labelNode = lc.findLabel(ident.getName()); if (labelNode == null) { throw error(AbstractParser.message("undefined.label", ident.getName()), ident.getToken()); } break; } final String labelName = labelNode == null ? null : labelNode.getLabelName(); final LoopNode targetNode = lc.getContinueTo(labelName); if (targetNode == null) { throw error(AbstractParser.message("illegal.continue.stmt"), continueToken); } endOfLine(); // Construct and add CONTINUE node. appendStatement(new ContinueNode(continueLine, continueToken, finish, labelName)); }
Example #24
Source File: Parser.java From hottub with GNU General Public License v2.0 | 4 votes |
/** * ContinueStatement : * continue Identifier? ; // [no LineTerminator here] * * See 12.7 * * Parse CONTINUE statement. */ private void continueStatement() { // Capture CONTINUE token. final int continueLine = line; final long continueToken = token; // CONTINUE tested in caller. nextOrEOL(); LabelNode labelNode = null; // SEMICOLON or label. switch (type) { case RBRACE: case SEMICOLON: case EOL: case EOF: break; default: final IdentNode ident = getIdent(); labelNode = lc.findLabel(ident.getName()); if (labelNode == null) { throw error(AbstractParser.message("undefined.label", ident.getName()), ident.getToken()); } break; } final String labelName = labelNode == null ? null : labelNode.getLabelName(); final LoopNode targetNode = lc.getContinueTo(labelName); if (targetNode == null) { throw error(AbstractParser.message("illegal.continue.stmt"), continueToken); } endOfLine(); // Construct and add CONTINUE node. appendStatement(new ContinueNode(continueLine, continueToken, finish, labelName)); }
Example #25
Source File: WeighNodes.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
@Override public Node leaveContinueNode(final ContinueNode continueNode) { weight += CONTINUE_WEIGHT; return continueNode; }
Example #26
Source File: LocalVariableTypesCalculator.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { return enterJumpStatement(continueNode); }
Example #27
Source File: SplitIntoFunctions.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
@Override public Node leaveContinueNode(final ContinueNode continueNode) { return leaveJumpNode(continueNode); }
Example #28
Source File: Lower.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode continueNode) { addStatement(continueNode); return false; }
Example #29
Source File: PrintVisitor.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
@Override public boolean enterContinueNode(final ContinueNode node) { node.toString(sb, printTypes); printLocalVariableConversion(node); return false; }
Example #30
Source File: Parser.java From openjdk-8-source with GNU General Public License v2.0 | 4 votes |
/** * ContinueStatement : * continue Identifier? ; // [no LineTerminator here] * * See 12.7 * * Parse CONTINUE statement. */ private void continueStatement() { // Capture CONTINUE token. final int continueLine = line; final long continueToken = token; // CONTINUE tested in caller. nextOrEOL(); LabelNode labelNode = null; // SEMICOLON or label. switch (type) { case RBRACE: case SEMICOLON: case EOL: case EOF: break; default: final IdentNode ident = getIdent(); labelNode = lc.findLabel(ident.getName()); if (labelNode == null) { throw error(AbstractParser.message("undefined.label", ident.getName()), ident.getToken()); } break; } final IdentNode label = labelNode == null ? null : labelNode.getLabel(); final LoopNode targetNode = lc.getContinueTo(label); if (targetNode == null) { throw error(AbstractParser.message("illegal.continue.stmt"), continueToken); } endOfLine(); // Construct and add CONTINUE node. appendStatement(new ContinueNode(continueLine, continueToken, finish, label == null ? null : new IdentNode(label))); }