anchor.diff:  scope MethodScope;
   @init{TypeReference tref = null;}
   @after{check_null(retval.element);}
  -    :   (t=type {tref=t.element;}| 'void' {tref = typeRef("void");}) name=identifierRule {retval.element = createNormalMethod(new SimpleNameDeclarationWithParametersHeader($name.text),tref); $MethodScope::method = retval.element;} methodDeclaratorRest
  -    |   name=identifierRule {retval.element = createNormalMethod(new SimpleNameDeclarationWithParametersHeader($name.text),typeRef($name.text)); $MethodScope::method = retval.element;} constructorDeclaratorRest
  +    :   (t=type {tref=t.element;}| 'void' {tref = typeRef("void");}) name=identifierRule 
  +        {retval.element = createNormalMethod(new SimpleNameDeclarationWithParametersHeader($name.text),tref); 
  +         $MethodScope::method = retval.element;
  +         setName(retval.element,name.start);
  +        } methodDeclaratorRest
  +    |   name=identifierRule 
  +        {retval.element = createNormalMethod(new SimpleNameDeclarationWithParametersHeader($name.text),typeRef($name.text)); 
  +         $MethodScope::method = retval.element;
  +         setName(retval.element,name.start);
  +        } constructorDeclaratorRest
       ;
   
   methodDeclaration returns [Method element]
   scope MethodScope;
  -    :   t=type name=identifierRule {retval.element = createNormalMethod(new SimpleNameDeclarationWithParametersHeader($name.text),t.element); $MethodScope::method = retval.element;} methodDeclaratorRest
  +    :   t=type name=identifierRule 
  +        {retval.element = createNormalMethod(new SimpleNameDeclarationWithParametersHeader($name.text),t.element); 
  +         $MethodScope::method = retval.element;
  +         setName(retval.element,name.start);
  +         } methodDeclaratorRest
       ;
   
   fieldDeclaration returns [MemberVariableDeclarator element]
  
positive.code: 
  interfaceMethod returns [Method element]
  scope MethodScope;
  	: tref=type methodname=identifierRule {retval.element = createNormalMethod(new SimpleNameDeclarationWithParametersHeader($methodname.text), tref.element); $MethodScope::method = retval.element;} interfaceMethodDeclaratorRest
  	;
  
      
  
negative.code:              {
                 retval.element = (TypeWithBody)createType(new SimpleNameSignature($name.text));
                 retval.element.addModifier(new AnnotationType());
                 setName(retval.element,name.start);
               } 
               body=annotationTypeBody {retval.element.setBody(body.element);}
      ;
  