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


Java BodyKind.STATEMENT属性代码示例

本文整理汇总了Java中com.sun.source.tree.LambdaExpressionTree.BodyKind.STATEMENT属性的典型用法代码示例。如果您正苦于以下问题:Java BodyKind.STATEMENT属性的具体用法?Java BodyKind.STATEMENT怎么用?Java BodyKind.STATEMENT使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在com.sun.source.tree.LambdaExpressionTree.BodyKind的用法示例。


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

示例1: visitLambda

@Override
public void visitLambda(JCLambda tree) {
    print(cs.spaceWithinLambdaParens() && tree.params.nonEmpty() ? "( " : "(");
    boolean oldPrintingMethodParams = printingMethodParams;
    printingMethodParams = true;
    suppressVariableType = tree.paramKind == JCLambda.ParameterKind.IMPLICIT;
    wrapTrees(tree.params, cs.wrapLambdaParams(), cs.alignMultilineLambdaParams()
            ? out.col : out.leftMargin + cs.getContinuationIndentSize(),
              true);
    suppressVariableType = false;
    printingMethodParams = oldPrintingMethodParams;
    if (cs.spaceWithinLambdaParens() && tree.params.nonEmpty())
        needSpace();
    print(')');
    print(cs.spaceAroundLambdaArrow() ? " ->" : "->");
    if (tree.getBodyKind() == BodyKind.STATEMENT) {
        printBlock(tree.body, cs.getOtherBracePlacement(), cs.spaceAroundLambdaArrow());
    } else {
        int rm = cs.getRightMargin();
        switch(cs.wrapBinaryOps()) {
        case WRAP_IF_LONG:
            if (widthEstimator.estimateWidth(tree.body, rm - out.col) + out.col <= cs.getRightMargin()) {
                if(cs.spaceAroundLambdaArrow())
                    print(' ');
                break;
            }
        case WRAP_ALWAYS:
            newline();
            toColExactly(out.leftMargin + cs.getContinuationIndentSize());
            break;
        case WRAP_NEVER:
            if(cs.spaceAroundLambdaArrow())
                print(' ');
            break;
        }
        printExpr(tree.body, TreeInfo.notExpression);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:38,代码来源:VeryPretty.java

示例2: visitLambda

@Override
public void visitLambda(JCLambda tree) {
  if (tree.getBodyKind() == BodyKind.STATEMENT) {
    JCExpression ident = make.at(tree).QualIdent(symtab.assertionErrorType.tsym);
    JCThrow throwTree = make.Throw(make.NewClass(null, List.nil(), ident, List.nil(), null));
    tree.body = make.Block(0, List.of(throwTree));
  }
}
 
开发者ID:bazelbuild,项目名称:bazel,代码行数:8,代码来源:TreePruner.java

示例3: getBodyKind

@Override
public BodyKind getBodyKind() {
    return body.hasTag(BLOCK) ?
            BodyKind.STATEMENT :
            BodyKind.EXPRESSION;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:6,代码来源:JCTree.java


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