anchor.diff:  //   To safely compile code with compile-time errors, we may need a recovery
   //   pass to enforce all kernel invariants before it is given to the backend.
   class ClassBodyBuilder extends GeneralizingAstVisitor<Null> {
  -  final ExpressionScope scope;
  +  final ClassScope scope;
  +  final ExpressionScope annotationScope;
     final ast.Class currentClass;
     final ClassElement element;
     ast.Library get currentLibrary => currentClass.enclosingLibrary;
  
positive.code:   ClassBodyBuilder(
        ReferenceLevelLoader loader, ast.Class currentClass, this.element)
        : this.currentClass = currentClass,
          scope = new ExpressionScope(loader, currentClass.enclosingLibrary);
  
    void build(CompilationUnitMember node) {
      if (node == null) {
  
negative.code:   }
  
    void addAnnotations(List<Annotation> annotations) {
      // Class type parameters are not in scope in the annotation list.
      for (var annotation in annotations) {
        currentClass.addAnnotation(annotationScope.buildAnnotation(annotation));
      }
    }
  
  