2017-06-12 8 views
0

私はjavacプログラミングに少し新しく、注釈値を与えるためにJCExpressionを作成したいと思います。私はどこに運がないのかをすべて探しました。新しいJCExpressionを作成して注釈値を与える方法

これは私がこれまでに

if (templates.size() > 0) { 
List <JCTree.JCAnnotation> annotations = templates; 

for (JCTree.JCAnnotation jcAnnotation: annotations) { 
    JCTree.JCExpression jcExpression = new JCTree.JCExpression() { 
    @Override public Tag getTag() { 
    return null; 
    } 

    @Override public void accept(Visitor visitor) { 

    } 

    @Override public < R, D > R accept(TreeVisitor < R, D > treeVisitor, D d) { 
    return null; 
    } 

    @Override public Kind getKind() { 
    return null; 
    } 
    }; 

    List <JCTree.JCExpression> jcExpressions = jcAnnotation.getArguments(); 

    for (JCTree.JCExpression jcExpression1: jcExpressions) { 
    jcExpression1 = jcExpression; 
    } 
} 

を試してみましたが、何で私を助けてください!

答えて

1

は解決策を見つけた自分

for (JCTree.JCAnnotation annotation: templates) { 
List <JCTree.JCExpression> expressionList = annotation.args; 
for (JCTree.JCExpression expression: expressionList) { 

    expression.accept(new TreeTranslator() { 
    @Override public void visitLiteral(JCTree.JCLiteral jcLiteral) { 
    super.visitLiteral(jcLiteral); 
    JCTree.JCLiteral val = treeMaker.Literal("<custom value>"); 
    jcLiteral.value = val.value; 
    } 

    @Override public void visitIdent(JCTree.JCIdent jcIdent) { 
    super.visitIdent(jcIdent); 
    <track the parameters> 
    } 
    }); 
} 
} 
関連する問題