anchor.diff:      } else {
         throw StateError('${node.runtimeType}');
       }
  -  }
  -
  -  AstNode readNode(LinkedNode linkedNode) {
  -    return _astReader.readNode(linkedNode);
     }
   
     DartType readType(LinkedNodeType linkedType) {
  
positive.code:     throw StateError('Expected to find $indexInLibrary part directive.');
    }
  
    static List<LinkedNode> getTypeParameters(LinkedNode node) {
      LinkedNode typeParameterList;
      var kind = node.kind;
      if (kind == LinkedNodeKind.classTypeAlias) {
        typeParameterList = node.classTypeAlias_typeParameters;
      } else if (kind == LinkedNodeKind.classDeclaration ||
          kind == LinkedNodeKind.mixinDeclaration) {
        typeParameterList = node.classOrMixinDeclaration_typeParameters;
      } else if (kind == LinkedNodeKind.constructorDeclaration) {
        return const [];
      } else if (kind == LinkedNodeKind.functionDeclaration) {
        return getTypeParameters(node.functionDeclaration_functionExpression);
      } else if (kind == LinkedNodeKind.functionExpression) {
        typeParameterList = node.functionExpression_typeParameters;
      } else if (kind == LinkedNodeKind.functionTypeAlias) {
        typeParameterList = node.functionTypeAlias_typeParameters;
      } else if (kind == LinkedNodeKind.genericFunctionType) {
        typeParameterList = node.genericFunctionType_typeParameters;
      } else if (kind == LinkedNodeKind.genericTypeAlias) {
        typeParameterList = node.genericTypeAlias_typeParameters;
      } else if (kind == LinkedNodeKind.methodDeclaration) {
        typeParameterList = node.methodDeclaration_typeParameters;
      } else {
        throw UnimplementedError('$kind');
      }
      return typeParameterList?.typeParameterList_typeParameters;
    }
  
    static NullabilitySuffix _nullabilitySuffix(EntityRefNullabilitySuffix data) {
      switch (data) {
        case EntityRefNullabilitySuffix.starOrIrrelevant:
  
negative.code:     throw UnimplementedError('${node.runtimeType}');
    }
  
    bool isSetter(AstNode node) {
      if (node is FunctionDeclaration) {
        return node.isSetter;
  