コード例 #1
0
 /**
  * Records <strong>either</strong> a literal argument to the annotation class instantiation:
  *
  * <pre>
  *    ... => AnnotationClass("", 1, true, 1.0, 'x')
  * </pre>
  *
  * <strong>Or</strong> a literal default argument in an annotation constructor:
  *
  * <pre>
  *     AnnotationClass ctor(String s="", Integer i=1,
  *             Boolean b=true, Float f=1.0,
  *             Character c='x') => ...
  * </pre>
  *
  * Literal is in the Javac sense.
  */
 private LiteralAnnotationTerm appendLiteralArgument(Node bme, LiteralAnnotationTerm argument) {
   if (spread) {
     bme.addError("compiler bug: spread static arguments not supported");
   }
   if (this.elements != null) {
     this.elements.addElement(argument);
   } else {
     this.term = argument;
   }
   return argument;
 }
コード例 #2
0
 private void errorDefaultedParameter(Node d) {
   d.addError(
       "compiler bug: only literals, true, false, and annotation class instantiations are permitted as annotation parameter defaults");
 }