anchor.diff:  
     @override
     void visitClassDeclaration(ClassDeclaration node) {
  +    var wasInGenericContext = inGenericContext;
  +    inGenericContext = inGenericContext || node.typeParameters != null;
       data.recordPercentage(
           'Classes with type parameters', node.typeParameters != null);
       var context = 'name';
  
positive.code: 
    @override
    void visitGenericFunctionType(GenericFunctionType node) {
      // There are no completions.
      super.visitGenericFunctionType(node);
    }
  
    @override
    void visitGenericTypeAlias(GenericTypeAlias node) {
      _recordDataForNode('GenericTypeAlias (functionType)', node.functionType,
          allowedKeywords: [Keyword.FUNCTION]);
      super.visitGenericTypeAlias(node);
    }
  
    @override
  
negative.code:           allowedKeywords: memberKeywords);
      }
      super.visitMixinDeclaration(node);
      inGenericContext = wasInGenericContext;
    }
  
    @override
  