anchor.diff:        specifier 
         { $specifiedArgument.setSpecifierExpression($specifier.specifierExpression); }
         SEMICOLON
  +      { $specifiedArgument.setEndToken($SEMICOLON); }
       ;
   
   objectArgument returns [ObjectArgument declaration]
  
positive.code:           { adec.setSpecifierOrInitializerExpression($initializer.initializerExpression); }
          )?
          { $declaration = adec; }
          SEMICOLON
          { $declaration.setEndToken($SEMICOLON); }
        //-> ^(ATTRIBUTE_DECLARATION unionType memberName specifier? initializer?)
        | ab=memberBody[$unionType.type]
          { adef.setBlock($ab.block); }
  
negative.code:       | { displayRecognitionError(getTokenNames(), 
                new MismatchedTokenException(LBRACE, input)); }
          SEMICOLON
          { $declaration.setEndToken($SEMICOLON); }
        )
      //-> ^(OBJECT_ARGUMENT[$OBJECT_DEFINITION] VALUE_MODIFIER memberName extendedType? satisfiedTypes? classBody?)
      ;
  