anchor.diff:  	{ $text = ($n.text == null) ? $t.text : $n.text + "." + $t.text; }
   	;
   
  -classDeclaration
  +classDefinition
   @init {
   	paraphrases.push("in class definition");
   	Buffer<Method> methodCollector = new ArrayBuffer<Method>();
  
positive.code:   @init { $SourceFile::file = $file;
            paraphrases.push("at top-level in file"); }
    @after { paraphrases.pop(); }
    :	 namespaceDeclaration? importDeclaration* (classDeclaration | test)
    ;
  
  namespaceDeclaration
  
negative.code: 	;
  
  classBlock [Buffer<Method> methods, Buffer<Method> unittests]
  	:	(identifierDeclaration | methodDefinition[methods] | unittest[unittests])+
  	;
  
  methodDefinition [Buffer<Method> methods]
  @init { paraphrases.push("in method definition"); }
  @after { paraphrases.pop(); }
    :	^(METHOD d=doc? m=modifiers? type=TypeIdentifier name=VariableIdentifier p=parameters? b=block)
    { Method method = new Method($name.text, $type.text, $b.block, $d.doc);
  