com.redhat.ceylon.compiler.java.codegen.AnnotationTerm Maven / Gradle / Ivy
package com.redhat.ceylon.compiler.java.codegen;
import com.redhat.ceylon.langtools.tools.javac.tree.JCTree.JCAnnotation;
import com.redhat.ceylon.langtools.tools.javac.tree.JCTree.JCExpression;
import com.redhat.ceylon.langtools.tools.javac.util.ListBuffer;
/**
* Represents an argument in the invocation of an annotation class or
* annotation constructor
*/
public abstract class AnnotationTerm {
/**
* On the JVM the number of method parameters is limited to 255
* So 0-255 are for unmodified parameter expressions being used as arguments
* 256-511 are for spread parameter expressions being used as arguments
*/
public abstract int encode(AbstractTransformer gen, ListBuffer instantiations);
public abstract JCExpression makeAnnotationArgumentValue(
ExpressionTransformer exprGen, AnnotationInvocation ai,
com.redhat.ceylon.langtools.tools.javac.util.List fieldPath);
public abstract com.redhat.ceylon.langtools.tools.javac.util.List makeDpmAnnotations(ExpressionTransformer exprGen);
public abstract com.redhat.ceylon.langtools.tools.javac.util.List makeExprs(ExpressionTransformer exprGen, com.redhat.ceylon.langtools.tools.javac.util.List value);
public abstract com.redhat.ceylon.langtools.tools.javac.util.List makeExprAnnotations(
ExpressionTransformer exprGen, AnnotationInvocation toplevel,
com.redhat.ceylon.langtools.tools.javac.util.List fieldPath);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy