anchor.diff:  typeArguments
       :   '<' typeArgument (',' typeArgument)* '>'
       ;
  -    
  +
   typeArgument
       :   type
       |   '?' (('extends' | 'super') type)?
       ;
  -    
  +
   qualifiedNameList
       :   qualifiedName (',' qualifiedName)*
       ;
  
positive.code:     |   enumDeclaration ';'?
      |   annotationTypeDeclaration ';'?
      ;
      
  annotationMethodOrConstantRest
      :   annotationMethodRest
      |   annotationConstantRest
      ;
      
  annotationMethodRest
      :   Identifier '(' ')' defaultValue?
      ;
      
  annotationConstantRest
      :   variableDeclarators
      ;
      
  defaultValue
      :   'default' elementValue
      ;
  
negative.code: block
      :   '{' blockStatement* '}'
      ;
  
  blockStatement
      :   localVariableDeclarationStatement
      |   statement
      |   typeDeclaration
      ;
  
  localVariableDeclarationStatement
      :    localVariableDeclaration ';'
      ;
  