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


Java TokenTypes.ANNOTATION_MEMBER_VALUE_PAIR属性代码示例

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


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

示例1: checkTrailingComma

/**
 * Checks to see if the trailing comma is present if required or
 * prohibited.
 *
 * @param annotation the annotation token
 */
private void checkTrailingComma(final DetailAST annotation) {
    if (trailingArrayComma != TrailingArrayComma.IGNORE) {
        DetailAST child = annotation.getFirstChild();

        while (child != null) {
            DetailAST arrayInit = null;

            if (child.getType() == TokenTypes.ANNOTATION_MEMBER_VALUE_PAIR) {
                arrayInit = child.findFirstToken(TokenTypes.ANNOTATION_ARRAY_INIT);
            }
            else if (child.getType() == TokenTypes.ANNOTATION_ARRAY_INIT) {
                arrayInit = child;
            }

            if (arrayInit != null) {
                logCommaViolation(arrayInit);
            }
            child = child.getNextSibling();
        }
    }
}
 
开发者ID:rnveach,项目名称:checkstyle-backport-jre6,代码行数:27,代码来源:AnnotationUseStyleCheck.java

示例2: visitToken

@Override
public void visitToken(DetailAST ast) {
    final int type = ast.getType();
    final DetailAST parent = ast.getParent();

    if (type == TokenTypes.LAMBDA && isLambdaSingleParameterSurrounded(ast)) {
        log(ast, MSG_LAMBDA, ast.getText());
    }
    else if (type != TokenTypes.ASSIGN
        || parent.getType() != TokenTypes.ANNOTATION_MEMBER_VALUE_PAIR) {

        final boolean surrounded = isSurrounded(ast);
        // An identifier surrounded by parentheses.
        if (surrounded && type == TokenTypes.IDENT) {
            parentToSkip = ast.getParent();
            log(ast, MSG_IDENT, ast.getText());
        }
        // A literal (numeric or string) surrounded by parentheses.
        else if (surrounded && isInTokenList(type, LITERALS)) {
            parentToSkip = ast.getParent();
            if (type == TokenTypes.STRING_LITERAL) {
                log(ast, MSG_STRING,
                    chopString(ast.getText()));
            }
            else {
                log(ast, MSG_LITERAL, ast.getText());
            }
        }
        // The rhs of an assignment surrounded by parentheses.
        else if (isInTokenList(type, ASSIGNMENTS)) {
            assignDepth++;
            final DetailAST last = ast.getLastChild();
            if (last.getType() == TokenTypes.RPAREN) {
                log(ast, MSG_ASSIGN);
            }
        }
    }
}
 
开发者ID:rnveach,项目名称:checkstyle-backport-jre6,代码行数:38,代码来源:UnnecessaryParenthesesCheck.java

示例3: leaveToken

@Override
public void leaveToken(DetailAST ast) {
    final int type = ast.getType();
    final DetailAST parent = ast.getParent();

    // shouldn't process assign in annotation pairs
    if (type != TokenTypes.ASSIGN
        || parent.getType() != TokenTypes.ANNOTATION_MEMBER_VALUE_PAIR) {
        // An expression is surrounded by parentheses.
        if (type == TokenTypes.EXPR) {

            // If 'parentToSkip' == 'ast', then we've already logged a
            // warning about an immediate child node in visitToken, so we don't
            // need to log another one here.

            if (parentToSkip != ast && isExprSurrounded(ast)) {
                if (assignDepth >= 1) {
                    log(ast, MSG_ASSIGN);
                }
                else if (ast.getParent().getType() == TokenTypes.LITERAL_RETURN) {
                    log(ast, MSG_RETURN);
                }
                else {
                    log(ast, MSG_EXPR);
                }
            }

            parentToSkip = null;
        }
        else if (isInTokenList(type, ASSIGNMENTS)) {
            assignDepth--;
        }
    }
}
 
开发者ID:rnveach,项目名称:checkstyle-backport-jre6,代码行数:34,代码来源:UnnecessaryParenthesesCheck.java

示例4: getAllAnnotationValues

/**
 * Get all annotation values.
 * @param ast annotation token
 * @return list values
 */
private static List<String> getAllAnnotationValues(DetailAST ast) {
    // get values of annotation
    List<String> values = null;
    final DetailAST lparenAST = ast.findFirstToken(TokenTypes.LPAREN);
    if (lparenAST != null) {
        final DetailAST nextAST = lparenAST.getNextSibling();
        final int nextType = nextAST.getType();
        switch (nextType) {
            case TokenTypes.EXPR:
            case TokenTypes.ANNOTATION_ARRAY_INIT:
                values = getAnnotationValues(nextAST);
                break;

            case TokenTypes.ANNOTATION_MEMBER_VALUE_PAIR:
                // expected children: IDENT ASSIGN ( EXPR |
                // ANNOTATION_ARRAY_INIT )
                values = getAnnotationValues(getNthChild(nextAST, 2));
                break;

            case TokenTypes.RPAREN:
                // no value present (not valid Java)
                break;

            default:
                // unknown annotation value type (new syntax?)
                throw new IllegalArgumentException("Unexpected AST: " + nextAST);
        }
    }
    return values;
}
 
开发者ID:rnveach,项目名称:checkstyle-backport-jre6,代码行数:35,代码来源:SuppressWarningsHolder.java


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