anchor.diff:        { $primary=$selfReference.atom; }
       | typeReference
         { BaseTypeExpression bte = new BaseTypeExpression(null);
  +        bte.setTypeArguments( new InferredTypeArguments(null) );
           bte.setIdentifier($typeReference.identifier);
  -        bte.setTypeArguments($typeReference.typeArgumentList);
  +        if ($typeReference.typeArgumentList!=null) {
  +            bte.setTypeArguments($typeReference.typeArgumentList);
  +        }
           $primary=bte; }
       | memberReference
         { BaseMemberExpression bme = new BaseMemberExpression(null);
  +        bme.setTypeArguments( new InferredTypeArguments(null) );
           bme.setIdentifier($memberReference.identifier);
  -        bme.setTypeArguments($memberReference.typeArgumentList);
  +        if ($memberReference.typeArgumentList!=null) {
  +            bme.setTypeArguments($memberReference.typeArgumentList);
  +        }
           $primary=bme; }
       | parExpression
         { $primary=$parExpression.expression; }
  
positive.code:     : LBRACE 
        { $interfaceBody = new InterfaceBody($LBRACE); }
        (
          annotatedDeclarationOrStatement
          { $interfaceBody.addStatement($annotatedDeclarationOrStatement.statement); }
        )*
        RBRACE
      //-> ^(INTERFACE_BODY[$LBRACE] annotatedDeclarationOrStatement2*)
  
negative.code:       { $type=$t.type;}
      | memberName //-> ^(BASE_MEMBER_EXPRESSION memberName)
        { $instance = new BaseMemberExpression(null);
          $instance.setTypeArguments( new InferredTypeArguments(null) );
          $instance.setIdentifier($memberName.identifier); }
      ;
  
  