当前位置: 首页>>代码示例>>Java>>正文


Java WhileNode.isDoWhile方法代码示例

本文整理汇总了Java中jdk.nashorn.internal.ir.WhileNode.isDoWhile方法的典型用法代码示例。如果您正苦于以下问题:Java WhileNode.isDoWhile方法的具体用法?Java WhileNode.isDoWhile怎么用?Java WhileNode.isDoWhile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在jdk.nashorn.internal.ir.WhileNode的用法示例。


在下文中一共展示了WhileNode.isDoWhile方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: enterWhileNode

import jdk.nashorn.internal.ir.WhileNode; //导入方法依赖的package包/类
@Override
public boolean enterWhileNode(final WhileNode whileNode) {
    enterDefault(whileNode);

    type(whileNode.isDoWhile() ? "DoWhileStatement" : "WhileStatement");
    comma();

    if (whileNode.isDoWhile()) {
        property("body");
        whileNode.getBody().accept(this);
        comma();

        property("test");
        whileNode.getTest().accept(this);
    } else {
        property("test");
        whileNode.getTest().accept(this);
        comma();

        property("body");
        whileNode.getBody().accept(this);
    }

    return leave();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:26,代码来源:JSONWriter.java

示例2: enterWhileNode

import jdk.nashorn.internal.ir.WhileNode; //导入方法依赖的package包/类
@Override
public boolean enterWhileNode(final WhileNode whileNode) {
    final Expression test          = whileNode.getTest();
    final Block      body          = whileNode.getBody();
    final Label      breakLabel    = whileNode.getBreakLabel();
    final Label      continueLabel = whileNode.getContinueLabel();
    final boolean    isDoWhile     = whileNode.isDoWhile();
    final Label      loopLabel     = new Label("loop");

    if (!isDoWhile) {
        method._goto(continueLabel);
    }

    method.label(loopLabel);
    body.accept(this);
    if (!whileNode.isTerminal()) {
        method.label(continueLabel);
        lineNumber(whileNode);
        new BranchOptimizer(this, method).execute(test, loopLabel, true);
        method.label(breakLabel);
    }

    return false;
}
 
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:25,代码来源:CodeGenerator.java

示例3: enterWhileNode

import jdk.nashorn.internal.ir.WhileNode; //导入方法依赖的package包/类
@Override
public boolean enterWhileNode(final WhileNode whileNode) {
    lineNumber(whileNode);

    final Expression test          = whileNode.getTest();
    final Block      body          = whileNode.getBody();
    final Label      breakLabel    = whileNode.getBreakLabel();
    final Label      continueLabel = whileNode.getContinueLabel();
    final Label      loopLabel     = new Label("loop");

    if (!whileNode.isDoWhile()) {
        method._goto(continueLabel);
    }

    method.label(loopLabel);
    body.accept(this);
    if (!whileNode.isTerminal()) {
        method.label(continueLabel);
        new BranchOptimizer(this, method).execute(test, loopLabel, true);
        method.label(breakLabel);
    }

    return false;
}
 
开发者ID:wro4j,项目名称:nashorn-backport,代码行数:25,代码来源:CodeGenerator.java

示例4: enterWhileNode

import jdk.nashorn.internal.ir.WhileNode; //导入方法依赖的package包/类
@Override
public boolean enterWhileNode(final WhileNode whileNode) {
    printLocalVariableConversion(whileNode);
    if (whileNode.isDoWhile()) {
        sb.append("do");
        whileNode.getBody().accept(this);
        sb.append(' ');
        whileNode.toString(sb, printTypes);
    } else {
        whileNode.toString(sb, printTypes);
        whileNode.getBody().accept(this);
    }

    return false;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:PrintVisitor.java

示例5: enterWhileNode

import jdk.nashorn.internal.ir.WhileNode; //导入方法依赖的package包/类
@Override
public boolean enterWhileNode(final WhileNode whileNode) {
    if(!reachable) {
        return false;
    }
    if(whileNode.isDoWhile()) {
        enterDoWhileLoop(whileNode);
    } else {
        enterTestFirstLoop(whileNode, null, null, false);
    }
    return false;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:LocalVariableTypesCalculator.java

示例6: enterWhileNode

import jdk.nashorn.internal.ir.WhileNode; //导入方法依赖的package包/类
@Override
public boolean enterWhileNode(final WhileNode whileNode) {
    if(!method.isReachable()) {
        return false;
    }
    if(whileNode.isDoWhile()) {
        enterDoWhile(whileNode);
    } else {
        enterStatement(whileNode);
        enterForOrWhile(whileNode, null);
    }
    return false;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:14,代码来源:CodeGenerator.java

示例7: enterWhileNode

import jdk.nashorn.internal.ir.WhileNode; //导入方法依赖的package包/类
@Override
public boolean enterWhileNode(final WhileNode whileNode) {
    final ExpressionTree condTree = translateExpr(whileNode.getTest());
    final StatementTree statTree = translateBlock(whileNode.getBody());

    if (whileNode.isDoWhile()) {
        curStat = new DoWhileLoopTreeImpl(whileNode, condTree, statTree);
    } else {
        curStat = new WhileLoopTreeImpl(whileNode, condTree, statTree);
    }

    return false;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:14,代码来源:IRTranslator.java

示例8: enterWhileNode

import jdk.nashorn.internal.ir.WhileNode; //导入方法依赖的package包/类
@Override
public boolean enterWhileNode(final WhileNode whileNode) {
    if (whileNode.isDoWhile()) {
        sb.append("do");
        whileNode.getBody().accept(this);
        sb.append(' ');
        whileNode.toString(sb);
    } else {
        whileNode.toString(sb);
        whileNode.getBody().accept(this);
    }

    return false;
}
 
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:15,代码来源:PrintVisitor.java


注:本文中的jdk.nashorn.internal.ir.WhileNode.isDoWhile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。