anchor.diff:        { $declaration=$aliasDeclaration.declaration; }
       | objectDeclaration
         { $declaration=$objectDeclaration.declaration; }
  -    | (VALUE_MODIFIER LBRACKET) => d1=destructure
  -      { $declaration = $d1.destructure; }
  -    | (VALUE_MODIFIER var ENTRY_OP) => d2=destructure
  -      { $declaration = $d2.destructure; }
       | setterDeclaration
         { $declaration=$setterDeclaration.declaration; }
       | voidOrInferredMethodDeclaration
  
positive.code:       SEMICOLON
        { $declaration=new BrokenDeclaration($SEMICOLON); }*/
      )
      { if ($declaration instanceof com.redhat.ceylon.compiler.typechecker.tree.Tree.Declaration) {
            com.redhat.ceylon.compiler.typechecker.tree.Tree.Declaration dec =
                (com.redhat.ceylon.compiler.typechecker.tree.Tree.Declaration) $declaration;
            dec.setAnnotationList($annotations.annotationList); } }
      ;
  
  annotatedDeclarationStart
  
negative.code:     options {memoize=true;}
      : compilerAnnotations
        ( 
          (VALUE_MODIFIER LBRACKET) => d1=destructure
          { $statement=$d1.destructure; }
        | (VALUE_MODIFIER var ENTRY_OP) => d2=destructure
          { $statement=$d2.destructure; }
        | (annotatedDeclarationStart) => d3=declaration
          { $statement=$d3.declaration; }
        | (annotatedAssertionStart) => assertion
          { $statement = $assertion.assertion; }
        | (annotationListStart) => d4=declaration
          { $statement=$d4.declaration; }
        | s=statement
          { $statement=$s.statement; }
        )
  