anchor.diff:          return compilationUnit;
       }
       
  -        private boolean parseAsNamedArguments() {
  -            //state.backtracking++;
  -            int start = input.mark();
  -            blockOrNamedArguments_return r=null;
  -            try {
  -            	r=blockOrNamedArguments(); // can never throw exception
  -            } catch (RecognitionException re) {
  -                System.err.println("impossible: "+re);
  -            }
  -            boolean success = !state.failed;
  -            input.rewind(start);
  -            //state.backtracking--;
  -            state.failed=false;
  -            return (success&&!r.foundStatement)
  -            		|| (!success&&!r.foundStatement&&r.foundExpressionList);
  -        }
   }
   
   @lexer::members {
  
positive.code:     : expression 
        { $expressionStatement = new ExpressionStatement(null); 
          $expressionStatement.setExpression($expression.expression); } 
        ';'
      ;
  directiveStatement returns [Directive directive]
      : d=directive 
  
negative.code:         r.setExpression(e);
          $block.addStatement(r); }
      //-> ^(BLOCK ^(RETURN ^(EXPRESSION ^(INVOCATION_EXPRESSION ^(BASE_TYPE_EXPRESSION { ((CommonTree)$mt).getChild(0) } { ((CommonTree)$mt).getChild(1) } ) namedArguments))))
        | b1=block //if there is a "return" directive or control structure, it must be a block
        { $block=$b1.block; } 
      )
      | b2=block
        { $block=$b2.block; }
      ;
  
  extendedType returns [ExtendedType extendedType]
  