Java 类jdk.nashorn.internal.ir.EmptyNode 实例源码

项目:OpenJSharp    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode.PrimitiveLiteralNode) {
        final boolean isTrue = ((LiteralNode.PrimitiveLiteralNode<?>)test).isTrue();
        final Block executed = isTrue ? ifNode.getPass() : ifNode.getFail();
        final Block dropped  = isTrue ? ifNode.getFail() : ifNode.getPass();
        final List<Statement> statements = new ArrayList<>();

        if (executed != null) {
            statements.addAll(executed.getStatements()); // Get statements form executed branch
        }
        if (dropped != null) {
            extractVarNodes(dropped, statements); // Get var-nodes from non-executed branch
        }
        if (statements.isEmpty()) {
            return new EmptyNode(ifNode);
        }
        return BlockStatement.createReplacement(ifNode, ifNode.getFinish(), statements);
    }
    return ifNode;
}
项目:openjdk-jdk10    文件:IRTranslator.java   
private boolean handleBlock(final Block block, final boolean sortStats) {
    // FIXME: revisit this!
    if (block.isSynthetic()) {
        final int statCount = block.getStatementCount();
        switch (statCount) {
            case 0: {
                final EmptyNode emptyNode = new EmptyNode(-1, block.getToken(), block.getFinish());
                curStat = new EmptyStatementTreeImpl(emptyNode);
                return false;
            }
            case 1: {
                curStat = translateStat(block.getStatements().get(0));
                return false;
            }
            default: {
                // fall through
                break;
            }
        }
    }

    final List<? extends Statement> stats = block.getStatements();
    curStat = new BlockTreeImpl(block,
        translateStats(sortStats? getOrderedStatements(stats) : stats));
    return false;
}
项目:openjdk-jdk10    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode.PrimitiveLiteralNode) {
        final boolean isTrue = ((LiteralNode.PrimitiveLiteralNode<?>)test).isTrue();
        final Block executed = isTrue ? ifNode.getPass() : ifNode.getFail();
        final Block dropped  = isTrue ? ifNode.getFail() : ifNode.getPass();
        final List<Statement> statements = new ArrayList<>();

        if (executed != null) {
            statements.addAll(executed.getStatements()); // Get statements form executed branch
        }
        if (dropped != null) {
            extractVarNodesFromDeadCode(dropped, statements); // Get var-nodes from non-executed branch
        }
        if (statements.isEmpty()) {
            return new EmptyNode(ifNode);
        }
        return BlockStatement.createReplacement(ifNode, ifNode.getFinish(), statements);
    }
    return ifNode;
}
项目:openjdk9    文件:IRTranslator.java   
private boolean handleBlock(final Block block, final boolean sortStats) {
    // FIXME: revisit this!
    if (block.isSynthetic()) {
        final int statCount = block.getStatementCount();
        switch (statCount) {
            case 0: {
                final EmptyNode emptyNode = new EmptyNode(-1, block.getToken(), block.getFinish());
                curStat = new EmptyStatementTreeImpl(emptyNode);
                return false;
            }
            case 1: {
                curStat = translateStat(block.getStatements().get(0));
                return false;
            }
            default: {
                // fall through
                break;
            }
        }
    }

    final List<? extends Statement> stats = block.getStatements();
    curStat = new BlockTreeImpl(block,
        translateStats(sortStats? getOrderedStatements(stats) : stats));
    return false;
}
项目:openjdk9    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode.PrimitiveLiteralNode) {
        final boolean isTrue = ((LiteralNode.PrimitiveLiteralNode<?>)test).isTrue();
        final Block executed = isTrue ? ifNode.getPass() : ifNode.getFail();
        final Block dropped  = isTrue ? ifNode.getFail() : ifNode.getPass();
        final List<Statement> statements = new ArrayList<>();

        if (executed != null) {
            statements.addAll(executed.getStatements()); // Get statements form executed branch
        }
        if (dropped != null) {
            extractVarNodesFromDeadCode(dropped, statements); // Get var-nodes from non-executed branch
        }
        if (statements.isEmpty()) {
            return new EmptyNode(ifNode);
        }
        return BlockStatement.createReplacement(ifNode, ifNode.getFinish(), statements);
    }
    return ifNode;
}
项目:kaziranga    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode.PrimitiveLiteralNode) {
        final boolean isTrue = ((LiteralNode.PrimitiveLiteralNode<?>)test).isTrue();
        final Block executed = isTrue ? ifNode.getPass() : ifNode.getFail();
        final Block dropped  = isTrue ? ifNode.getFail() : ifNode.getPass();
        final List<Statement> statements = new ArrayList<>();

        if (executed != null) {
            statements.addAll(executed.getStatements()); // Get statements form executed branch
        }
        if (dropped != null) {
            extractVarNodes(dropped, statements); // Get var-nodes from non-executed branch
        }
        if (statements.isEmpty()) {
            return new EmptyNode(ifNode);
        }
        return BlockStatement.createReplacement(ifNode, ifNode.getFinish(), statements);
    }
    return ifNode;
}
项目:lookaside_java-1.8.0-openjdk    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode.PrimitiveLiteralNode) {
        final boolean isTrue = ((LiteralNode.PrimitiveLiteralNode<?>)test).isTrue();
        final Block executed = isTrue ? ifNode.getPass() : ifNode.getFail();
        final Block dropped  = isTrue ? ifNode.getFail() : ifNode.getPass();
        final List<Statement> statements = new ArrayList<>();

        if (executed != null) {
            statements.addAll(executed.getStatements()); // Get statements form executed branch
        }
        if (dropped != null) {
            extractVarNodesFromDeadCode(dropped, statements); // Get var-nodes from non-executed branch
        }
        if (statements.isEmpty()) {
            return new EmptyNode(ifNode);
        }
        return BlockStatement.createReplacement(ifNode, ifNode.getFinish(), statements);
    }
    return ifNode;
}
项目:jdk8u_nashorn    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode.PrimitiveLiteralNode) {
        final boolean isTrue = ((LiteralNode.PrimitiveLiteralNode<?>)test).isTrue();
        final Block executed = isTrue ? ifNode.getPass() : ifNode.getFail();
        final Block dropped  = isTrue ? ifNode.getFail() : ifNode.getPass();
        final List<Statement> statements = new ArrayList<>();

        if (executed != null) {
            statements.addAll(executed.getStatements()); // Get statements form executed branch
        }
        if (dropped != null) {
            extractVarNodesFromDeadCode(dropped, statements); // Get var-nodes from non-executed branch
        }
        if (statements.isEmpty()) {
            return new EmptyNode(ifNode);
        }
        return BlockStatement.createReplacement(ifNode, ifNode.getFinish(), statements);
    }
    return ifNode;
}
项目:infobip-open-jdk-8    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode.PrimitiveLiteralNode) {
        final boolean isTrue = ((LiteralNode.PrimitiveLiteralNode<?>)test).isTrue();
        final Block executed = isTrue ? ifNode.getPass() : ifNode.getFail();
        final Block dropped  = isTrue ? ifNode.getFail() : ifNode.getPass();
        final List<Statement> statements = new ArrayList<>();

        if (executed != null) {
            statements.addAll(executed.getStatements()); // Get statements form executed branch
        }
        if (dropped != null) {
            extractVarNodes(dropped, statements); // Get var-nodes from non-executed branch
        }
        if (statements.isEmpty()) {
            return new EmptyNode(ifNode);
        }
        return BlockStatement.createReplacement(ifNode, ifNode.getFinish(), statements);
    }
    return ifNode;
}
项目:OLD-OpenJDK8    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode.PrimitiveLiteralNode) {
        final boolean isTrue = ((LiteralNode.PrimitiveLiteralNode<?>)test).isTrue();
        final Block executed = isTrue ? ifNode.getPass() : ifNode.getFail();
        final Block dropped  = isTrue ? ifNode.getFail() : ifNode.getPass();
        final List<Statement> statements = new ArrayList<>();

        if (executed != null) {
            statements.addAll(executed.getStatements()); // Get statements form executed branch
        }
        if (dropped != null) {
            extractVarNodes(dropped, statements); // Get var-nodes from non-executed branch
        }
        if (statements.isEmpty()) {
            return new EmptyNode(ifNode);
        }
        return BlockStatement.createReplacement(ifNode, ifNode.getFinish(), statements);
    }
    return ifNode;
}
项目:OpenJSharp    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:OpenJSharp    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:OpenJSharp    文件:CodeGenerator.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    if(!method.isReachable()) {
        return false;
    }
    enterStatement(emptyNode);

    return false;
}
项目:openjdk-jdk10    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:openjdk-jdk10    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:openjdk9    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:openjdk9    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:kaziranga    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:kaziranga    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:lookaside_java-1.8.0-openjdk    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:lookaside_java-1.8.0-openjdk    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:jdk8u_nashorn    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:jdk8u_nashorn    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:infobip-open-jdk-8    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:infobip-open-jdk-8    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:infobip-open-jdk-8    文件:CodeGenerator.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    if(!method.isReachable()) {
        return false;
    }
    enterStatement(emptyNode);

    return false;
}
项目:OLD-OpenJDK8    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:OLD-OpenJDK8    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:nashorn-backport    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:nashorn-backport    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:nashorn-backport    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode) {
        final Block shortCut = ((LiteralNode<?>)test).isTrue() ? ifNode.getPass() : ifNode.getFail();
        if (shortCut != null) {
            return new BlockStatement(ifNode.getLineNumber(), shortCut);
        }
        return new EmptyNode(ifNode);
    }
    return ifNode;
}
项目:nashorn    文件:Parser.java   
/**
 * EmptyStatement :
 *      ;
 *
 * See 12.3
 *
 * Parse an empty statement.
 */
private void emptyStatement() {
    if (env._empty_statements) {
        appendStatement(new EmptyNode(line, token, Token.descPosition(token) + Token.descLength(token)));
    }

    // SEMICOLON checked in caller.
    next();
}
项目:nashorn    文件:JSONWriter.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    enterDefault(emptyNode);

    type("EmptyStatement");

    return leave();
}
项目:nashorn    文件:FoldConstants.java   
@Override
public Node leaveIfNode(final IfNode ifNode) {
    final Node test = ifNode.getTest();
    if (test instanceof LiteralNode) {
        final Block shortCut = ((LiteralNode<?>)test).isTrue() ? ifNode.getPass() : ifNode.getFail();
        if (shortCut != null) {
            return new BlockStatement(ifNode.getLineNumber(), shortCut);
        }
        return new EmptyNode(ifNode);
    }
    return ifNode;
}
项目:OpenJSharp    文件:Lower.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    return false;
}
项目:openjdk-jdk10    文件:IRTranslator.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    curStat = new EmptyStatementTreeImpl(emptyNode);
    return false;
}
项目:openjdk-jdk10    文件:EmptyStatementTreeImpl.java   
EmptyStatementTreeImpl(final EmptyNode node) {
    super(node);
}
项目:openjdk-jdk10    文件:Lower.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    return false;
}
项目:openjdk-jdk10    文件:CodeGenerator.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    // Don't even record the line number, it's irrelevant as there's no code.
    return false;
}
项目:openjdk9    文件:IRTranslator.java   
@Override
public boolean enterEmptyNode(final EmptyNode emptyNode) {
    curStat = new EmptyStatementTreeImpl(emptyNode);
    return false;
}