Remove old commented out code.

R=brianwilkerson@google.com

Change-Id: I73e7356514d9500f517fd315f477f9bca56cc776
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101400
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/summary2/builder/source_library_builder.dart b/pkg/analyzer/lib/src/summary2/builder/source_library_builder.dart
index eff744a..f19d56e 100644
--- a/pkg/analyzer/lib/src/summary2/builder/source_library_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/builder/source_library_builder.dart
@@ -162,79 +162,6 @@
         }
       }
     }
-//    for (var unit in units) {
-//      var unitRef = reference.getChild('@unit').getChild('${unit.uri}');
-//      var classRef = unitRef.getChild('@class');
-//      var enumRef = unitRef.getChild('@enum');
-//      var functionRef = unitRef.getChild('@function');
-//      var typeAliasRef = unitRef.getChild('@typeAlias');
-//      var getterRef = unitRef.getChild('@getter');
-//      var setterRef = unitRef.getChild('@setter');
-//      var variableRef = unitRef.getChild('@variable');
-//      for (var node in unit.node.compilationUnit_declarations) {
-//        if (node.kind == LinkedNodeKind.classDeclaration ||
-//            node.kind == LinkedNodeKind.classTypeAlias ||
-//            node.kind == LinkedNodeKind.mixinDeclaration) {
-//          var name = unit.context.getUnitMemberName(node);
-//          var reference = classRef.getChild(name);
-//          reference.node = node;
-//          scope.declare(name, reference);
-//        } else if (node.kind == LinkedNodeKind.enumDeclaration) {
-//          var name = unit.context.getUnitMemberName(node);
-//          var reference = enumRef.getChild(name);
-//          reference.node = node;
-//          scope.declare(name, reference);
-//        } else if (node.kind == LinkedNodeKind.functionDeclaration) {
-//          var name = unit.context.getUnitMemberName(node);
-//
-//          Reference containerRef;
-//          if (unit.context.isGetterFunction(node)) {
-//            containerRef = getterRef;
-//          } else if (unit.context.isSetterFunction(node)) {
-//            containerRef = setterRef;
-//          } else {
-//            containerRef = functionRef;
-//          }
-//
-//          var reference = containerRef.getChild(name);
-//          reference.node = node;
-//
-//          scope.declare(name, reference);
-//        } else if (node.kind == LinkedNodeKind.functionTypeAlias) {
-//          var name = unit.context.getUnitMemberName(node);
-//          var reference = typeAliasRef.getChild(name);
-//          reference.node = node;
-//
-//          scope.declare(name, reference);
-//        } else if (node.kind == LinkedNodeKind.genericTypeAlias) {
-//          var name = unit.context.getUnitMemberName(node);
-//          var reference = typeAliasRef.getChild(name);
-//          reference.node = node;
-//
-//          scope.declare(name, reference);
-//        } else if (node.kind == LinkedNodeKind.topLevelVariableDeclaration) {
-//          var variableList = node.topLevelVariableDeclaration_variableList;
-//          for (var variable in variableList.variableDeclarationList_variables) {
-//            var name = unit.context.getVariableName(variable);
-//
-//            var reference = variableRef.getChild(name);
-//            reference.node = node;
-//
-//            var getter = getterRef.getChild(name);
-//            scope.declare(name, getter);
-//
-//            if (!unit.context.isConst(variable) &&
-//                !unit.context.isFinal(variable)) {
-//              var setter = setterRef.getChild(name);
-//              scope.declare('$name=', setter);
-//            }
-//          }
-//        } else {
-//          // TODO(scheglov) implement
-//          throw UnimplementedError('${node.kind}');
-//        }
-//      }
-//    }
     if ('$uri' == 'dart:core') {
       localScope.declare('dynamic', reference.getChild('dynamic'));
       localScope.declare('Never', reference.getChild('Never'));
diff --git a/pkg/analyzer/lib/src/summary2/linked_element_factory.dart b/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
index f02b5e7..37c4ef9 100644
--- a/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
+++ b/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
@@ -8,7 +8,6 @@
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/resolver/scope.dart';
 import 'package:analyzer/src/generated/engine.dart' show AnalysisContext;
-import 'package:analyzer/src/summary/idl.dart';
 import 'package:analyzer/src/summary2/core_types.dart';
 import 'package:analyzer/src/summary2/linked_bundle_context.dart';
 import 'package:analyzer/src/summary2/linked_unit_context.dart';
@@ -79,33 +78,6 @@
     var reference = rootReference.getChild(uriStr);
     return elementOfReference(reference);
   }
-
-  LinkedNode nodeOfReference(Reference reference) {
-//    if (reference.node != null) {
-//      return reference.node;
-//    }
-//
-//    var unitRef = reference.parent?.parent;
-//    var unitContainer = unitRef?.parent;
-//    if (unitContainer?.name == '@unit') {
-//      var libraryUriStr = unitContainer.parent.name;
-//      var libraryData = libraryMap[libraryUriStr];
-//      for (var unitData in libraryData.node.units) {
-//        var definingUnitContext = LinkedUnitContext(
-//          libraryData.context,
-//          TokensContext(unitData.tokens),
-//        );
-//        _ElementRequest._indexUnitDeclarations(
-//          definingUnitContext,
-//          unitRef,
-//          unitData.node,
-//        );
-//        return reference.node;
-//      }
-//    }
-
-    throw UnimplementedError('$reference');
-  }
 }
 
 class _ElementRequest {
@@ -199,7 +171,6 @@
       return reference.element;
     }
 
-    // TODO(scheglov) support other elements
     throw StateError('Not found: $input');
   }
 
diff --git a/pkg/analyzer/lib/src/summary2/linked_unit_context.dart b/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
index 6402f7d..61da489 100644
--- a/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
+++ b/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
@@ -354,21 +354,6 @@
     } else {
       throw UnimplementedError('${node.runtimeType}');
     }
-//    if (kind == LinkedNodeKind.constructorDeclaration) {
-//      parameterList = node.constructorDeclaration_parameters;
-//    } else if (kind == LinkedNodeKind.functionDeclaration) {
-//      return getFormalParameters(node.functionDeclaration_functionExpression);
-//    } else if (kind == LinkedNodeKind.functionExpression) {
-//      parameterList = node.functionExpression_formalParameters;
-//    } else if (kind == LinkedNodeKind.functionTypeAlias) {
-//      parameterList = node.functionTypeAlias_formalParameters;
-//    } else if (kind == LinkedNodeKind.genericFunctionType) {
-//      parameterList = node.genericFunctionType_formalParameters;
-//    } else if (kind == LinkedNodeKind.methodDeclaration) {
-//      parameterList = node.methodDeclaration_formalParameters;
-//    } else {
-//      throw UnimplementedError('$kind');
-//    }
   }
 
   Reference getGenericFunctionTypeReference(GenericFunctionType node) {
@@ -498,32 +483,6 @@
         return parent2.metadata;
       }
     }
-//    var kind = node.kind;
-//    if (kind == LinkedNodeKind.classDeclaration ||
-//        kind == LinkedNodeKind.classTypeAlias ||
-//        kind == LinkedNodeKind.constructorDeclaration ||
-//        kind == LinkedNodeKind.enumConstantDeclaration ||
-//        kind == LinkedNodeKind.enumDeclaration ||
-//        kind == LinkedNodeKind.exportDirective ||
-//        kind == LinkedNodeKind.functionDeclaration ||
-//        kind == LinkedNodeKind.functionTypeAlias ||
-//        kind == LinkedNodeKind.libraryDirective ||
-//        kind == LinkedNodeKind.importDirective ||
-//        kind == LinkedNodeKind.methodDeclaration ||
-//        kind == LinkedNodeKind.mixinDeclaration ||
-//        kind == LinkedNodeKind.partDirective ||
-//        kind == LinkedNodeKind.partOfDirective ||
-//        kind == LinkedNodeKind.variableDeclaration) {
-//      return node.annotatedNode_metadata;
-//    }
-//    if (kind == LinkedNodeKind.defaultFormalParameter) {
-//      return getMetadataOrEmpty(node.defaultFormalParameter_parameter);
-//    }
-//    if (kind == LinkedNodeKind.fieldFormalParameter ||
-//        kind == LinkedNodeKind.functionTypedFormalParameter ||
-//        kind == LinkedNodeKind.simpleFormalParameter) {
-//      return node.normalFormalParameter_metadata;
-//    }
     return const <Annotation>[];
   }
 
@@ -794,16 +753,6 @@
       VariableDeclarationList parent = node.parent;
       return parent.isConst;
     }
-//    var kind = node.kind;
-//    if (kind == LinkedNodeKind.defaultFormalParameter) {
-//      return isConst(node.defaultFormalParameter_parameter);
-//    }
-//    if (kind == LinkedNodeKind.simpleFormalParameter) {
-//      return isConstKeyword(node.simpleFormalParameter_keyword);
-//    }
-//    if (kind == LinkedNodeKind.variableDeclaration) {
-//      return node.variableDeclaration_declaration.isConst;
-//    }
     throw UnimplementedError('${node.runtimeType}');
   }
 
diff --git a/pkg/analyzer/lib/src/summary2/reference_resolver.dart b/pkg/analyzer/lib/src/summary2/reference_resolver.dart
index 74b8547..cfaee14 100644
--- a/pkg/analyzer/lib/src/summary2/reference_resolver.dart
+++ b/pkg/analyzer/lib/src/summary2/reference_resolver.dart
@@ -20,492 +20,6 @@
 import 'package:analyzer/src/summary2/reference.dart';
 import 'package:analyzer/src/summary2/types_builder.dart';
 
-//class ReferenceResolver {
-//  final LinkingBundleContext linkingBundleContext;
-//  final TypesToBuild typesToBuild;
-//  final UnitBuilder unit;
-//
-//  /// TODO(scheglov) Update scope with local scopes (formal / type parameters).
-//  Scope scope;
-//
-//  Reference reference;
-//
-//  ReferenceResolver(
-//    this.linkingBundleContext,
-//    this.typesToBuild,
-//    this.unit,
-//    this.scope,
-//    this.reference,
-//  );
-//
-//  LinkedNodeTypeBuilder get _dynamicType {
-//    return LinkedNodeTypeBuilder(
-//      kind: LinkedNodeTypeKind.dynamic_,
-//    );
-//  }
-//
-//  void resolve() {
-//    _node(unit.node);
-//  }
-//
-//  void _classDeclaration(LinkedNodeBuilder node) {
-//    var name = unit.context.getUnitMemberName(node);
-//    reference = reference.getChild('@class').getChild(name);
-//
-//    var typeParameters = node.classOrMixinDeclaration_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      _extendsClause(node.classDeclaration_extendsClause);
-//      _withClause(node.classDeclaration_withClause);
-//      _implementsClause(node.classOrMixinDeclaration_implementsClause);
-//
-//      for (var member in node.classOrMixinDeclaration_members) {
-//        if (member.kind != LinkedNodeKind.constructorDeclaration) {
-//          _node(member);
-//        }
-//      }
-//      for (var member in node.classOrMixinDeclaration_members) {
-//        if (member.kind == LinkedNodeKind.constructorDeclaration) {
-//          _node(member);
-//        }
-//      }
-//    });
-//
-//    reference = reference.parent.parent;
-//  }
-//
-//  void _classTypeAlias(LinkedNodeBuilder node) {
-//    var name = unit.context.getUnitMemberName(node);
-//    reference = reference.getChild('@class').getChild(name);
-//
-//    var typeParameters = node.classTypeAlias_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      _typeName(node.classTypeAlias_superclass);
-//      _withClause(node.classTypeAlias_withClause);
-//      _implementsClause(node.classTypeAlias_implementsClause);
-//    });
-//
-//    reference = reference.parent.parent;
-//  }
-//
-//  void _compilationUnit(LinkedNodeBuilder node) {
-//    _nodeList(node.compilationUnit_directives);
-//    _nodeList(node.compilationUnit_declarations);
-//  }
-//
-//  void _constructorDeclaration(LinkedNodeBuilder node) {
-//    _node(node.constructorDeclaration_parameters);
-//  }
-//
-//  void _enumConstantDeclaration(LinkedNodeBuilder node) {}
-//
-//  void _enumDeclaration(LinkedNodeBuilder node) {
-//    _nodeList(node.enumDeclaration_constants);
-//  }
-//
-//  void _exportDirective(LinkedNodeBuilder node) {}
-//
-//  void _extendsClause(LinkedNodeBuilder node) {
-//    if (node == null) return;
-//
-//    _typeName(node.extendsClause_superclass);
-//  }
-//
-//  void _fieldDeclaration(LinkedNodeBuilder node) {
-//    _node(node.fieldDeclaration_fields);
-//  }
-//
-//  void _fieldFormalParameter(LinkedNodeBuilder node) {
-//    var typeNode = node.fieldFormalParameter_type;
-//    if (typeNode != null) {
-//      _node(typeNode);
-//    }
-//
-//    var formalParameters = node.fieldFormalParameter_formalParameters;
-//    if (formalParameters != null) {
-//      _formalParameters(formalParameters);
-//    }
-//
-//    if (typeNode != null || formalParameters != null) {
-//      typesToBuild.declarations.add(node);
-//    }
-//  }
-//
-//  void _formalParameters(LinkedNodeBuilder node) {
-//    for (var parameter in node.formalParameterList_parameters) {
-//      _node(parameter);
-//    }
-//  }
-//
-//  void _functionDeclaration(LinkedNodeBuilder node) {
-//    var name = unit.context.getUnitMemberName(node);
-//    reference = reference.getChild('@function').getChild(name);
-//
-//    var function = node.functionDeclaration_functionExpression;
-//    var typeParameters = function.functionExpression_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      var returnType = node.functionDeclaration_returnType;
-//      if (returnType != null) {
-//        _node(returnType);
-//        typesToBuild.declarations.add(node);
-//      } else {
-//        node.functionDeclaration_returnType2 = _dynamicType;
-//      }
-//
-//      _node(function.functionExpression_formalParameters);
-//    });
-//
-//    reference = reference.parent.parent;
-//  }
-//
-//  void _functionExpression(LinkedNodeBuilder node) {
-//    var typeParameters = node.functionExpression_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      _node(node.functionExpression_formalParameters);
-//    });
-//  }
-//
-//  void _functionTypeAlias(LinkedNodeBuilder node) {
-//    var name = unit.context.getUnitMemberName(node);
-//    reference = reference.getChild('@typeAlias').getChild(name);
-//
-//    var typeParameters = node.functionTypeAlias_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      var returnType = node.functionTypeAlias_returnType;
-//      if (returnType != null) {
-//        _node(returnType);
-//        typesToBuild.declarations.add(node);
-//      } else {
-//        node.functionTypeAlias_returnType2 = _dynamicType;
-//      }
-//
-//      _node(node.functionTypeAlias_formalParameters);
-//    });
-//
-//    reference = reference.parent.parent;
-//  }
-//
-//  void _functionTypedFormalParameter(LinkedNodeBuilder node) {
-//    var typeParameters = node.functionTypedFormalParameter_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      var typeNode = node.functionTypedFormalParameter_returnType;
-//      if (typeNode != null) {
-//        _node(typeNode);
-//      }
-//
-//      _formalParameters(node.functionTypedFormalParameter_formalParameters);
-//      typesToBuild.declarations.add(node);
-//    });
-//  }
-//
-//  void _genericFunctionType(LinkedNodeBuilder node) {
-//    reference = reference.getChild('@function');
-//
-//    var name = '${reference.numOfChildren}';
-//    reference = reference.getChild(name);
-//
-//    var typeParameters = node.genericFunctionType_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      var returnType = node.genericFunctionType_returnType;
-//      if (returnType != null) {
-//        _node(returnType);
-//        typesToBuild.declarations.add(node);
-//      }
-//
-//      _formalParameters(node.genericFunctionType_formalParameters);
-//
-//      typesToBuild.typeAnnotations.add(node);
-//    });
-//
-//    reference = reference.parent.parent;
-//  }
-//
-//  void _genericTypeAlias(LinkedNodeBuilder node) {
-//    var name = unit.context.getSimpleName(
-//      node.namedCompilationUnitMember_name,
-//    );
-//    reference = reference.getChild('@typeAlias').getChild(name);
-//
-//    var typeParameters = node.genericTypeAlias_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      _node(node.genericTypeAlias_functionType);
-//    });
-//
-//    reference = reference.parent.parent;
-//  }
-//
-//  void _implementsClause(LinkedNodeBuilder node) {
-//    if (node == null) return;
-//
-//    _typeNameList(node.implementsClause_interfaces);
-//  }
-//
-//  void _importDirective(LinkedNodeBuilder node) {}
-//
-//  void _libraryDirective(LinkedNodeBuilder node) {}
-//
-//  void _methodDeclaration(LinkedNodeBuilder node) {
-//    var name = unit.context.getMethodName(node);
-//    reference = reference.getChild('@method').getChild(name);
-//
-//    var typeParameters = node.methodDeclaration_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      var returnType = node.methodDeclaration_returnType;
-//      if (returnType != null) {
-//        _node(returnType);
-//        typesToBuild.declarations.add(node);
-//      }
-//
-//      _node(node.methodDeclaration_formalParameters);
-//    });
-//
-//    reference = reference.parent.parent;
-//  }
-//
-//  void _mixinDeclaration(LinkedNodeBuilder node) {
-//    var name = unit.context.getUnitMemberName(node);
-//    reference = reference.getChild('@class').getChild(name);
-//
-//    var typeParameters = node.classOrMixinDeclaration_typeParameters;
-//    _withTypeParameters(typeParameters, () {
-//      _onClause(node.mixinDeclaration_onClause);
-//      _implementsClause(node.classOrMixinDeclaration_implementsClause);
-//      _nodeList(node.classOrMixinDeclaration_members);
-//    });
-//
-//    reference = reference.parent.parent;
-//  }
-//
-//  void _node(LinkedNodeBuilder node) {
-//    if (node == null) return;
-//
-//    if (node.kind == LinkedNodeKind.classDeclaration) {
-//      _classDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.classTypeAlias) {
-//      _classTypeAlias(node);
-//    } else if (node.kind == LinkedNodeKind.compilationUnit) {
-//      _compilationUnit(node);
-//    } else if (node.kind == LinkedNodeKind.constructorDeclaration) {
-//      _constructorDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.defaultFormalParameter) {
-//      _node(node.defaultFormalParameter_parameter);
-//    } else if (node.kind == LinkedNodeKind.enumDeclaration) {
-//      _enumDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.enumConstantDeclaration) {
-//      _enumConstantDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.exportDirective) {
-//      _exportDirective(node);
-//    } else if (node.kind == LinkedNodeKind.fieldDeclaration) {
-//      _fieldDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.fieldFormalParameter) {
-//      _fieldFormalParameter(node);
-//    } else if (node.kind == LinkedNodeKind.formalParameterList) {
-//      _formalParameters(node);
-//    } else if (node.kind == LinkedNodeKind.functionDeclaration) {
-//      _functionDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.functionExpression) {
-//      _functionExpression(node);
-//    } else if (node.kind == LinkedNodeKind.functionTypeAlias) {
-//      _functionTypeAlias(node);
-//    } else if (node.kind == LinkedNodeKind.functionTypedFormalParameter) {
-//      _functionTypedFormalParameter(node);
-//    } else if (node.kind == LinkedNodeKind.genericFunctionType) {
-//      _genericFunctionType(node);
-//    } else if (node.kind == LinkedNodeKind.genericTypeAlias) {
-//      _genericTypeAlias(node);
-//    } else if (node.kind == LinkedNodeKind.importDirective) {
-//      _importDirective(node);
-//    } else if (node.kind == LinkedNodeKind.libraryDirective) {
-//      _libraryDirective(node);
-//    } else if (node.kind == LinkedNodeKind.methodDeclaration) {
-//      _methodDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.mixinDeclaration) {
-//      _mixinDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.partDirective) {
-//      _partDirective(node);
-//    } else if (node.kind == LinkedNodeKind.partOfDirective) {
-//      _partOfDirective(node);
-//    } else if (node.kind == LinkedNodeKind.simpleFormalParameter) {
-//      _simpleFormalParameter(node);
-//    } else if (node.kind == LinkedNodeKind.topLevelVariableDeclaration) {
-//      _topLevelVariableDeclaration(node);
-//    } else if (node.kind == LinkedNodeKind.typeArgumentList) {
-//      _typeArgumentList(node);
-//    } else if (node.kind == LinkedNodeKind.typeName) {
-//      _typeName(node);
-//    } else if (node.kind == LinkedNodeKind.typeParameter) {
-//      _typeParameter(node);
-//    } else if (node.kind == LinkedNodeKind.typeParameterList) {
-//      _typeParameterList(node);
-//    } else if (node.kind == LinkedNodeKind.variableDeclarationList) {
-//      _variableDeclarationList(node);
-//    } else {
-//      // TODO(scheglov) implement
-//      throw UnimplementedError('${node.kind}');
-//    }
-//  }
-//
-//  void _nodeList(List<LinkedNode> nodeList) {
-//    if (nodeList == null) return;
-//
-//    for (var i = 0; i < nodeList.length; ++i) {
-//      var node = nodeList[i];
-//      _node(node);
-//    }
-//  }
-//
-//  void _onClause(LinkedNodeBuilder node) {
-//    if (node == null) return;
-//
-//    _typeNameList(node.onClause_superclassConstraints);
-//  }
-//
-//  void _partDirective(LinkedNodeBuilder node) {}
-//
-//  void _partOfDirective(LinkedNodeBuilder node) {}
-//
-//  void _setSimpleElement(LinkedNodeBuilder identifier, Reference reference) {
-//    var referenceIndex = linkingBundleContext.indexOfReference(reference);
-//    identifier.simpleIdentifier_element = referenceIndex;
-//  }
-//
-//  void _simpleFormalParameter(LinkedNodeBuilder node) {
-//    var typeNode = node.simpleFormalParameter_type;
-//    if (typeNode != null) {
-//      _node(typeNode);
-//      typesToBuild.declarations.add(node);
-//    } else {
-//      // TODO(scheglov) might be inferred
-//      node.simpleFormalParameter_type2 = _dynamicType;
-//    }
-//
-//    if (node.normalFormalParameter_covariantKeyword != 0) {
-//      node.normalFormalParameter_isCovariant = true;
-//    } else {
-//      // TODO(scheglov) might be inferred
-//    }
-//  }
-//
-//  void _topLevelVariableDeclaration(LinkedNodeBuilder node) {
-//    _node(node.topLevelVariableDeclaration_variableList);
-//  }
-//
-//  void _typeArgumentList(LinkedNodeBuilder node) {
-//    for (var typeArgument in node.typeArgumentList_arguments) {
-//      _typeName(typeArgument);
-//    }
-//  }
-//
-//  void _typeName(LinkedNodeBuilder node) {
-//    if (node == null) return;
-//
-//    var identifier = node.typeName_name;
-//    Reference reference;
-//
-//    if (identifier.kind == LinkedNodeKind.simpleIdentifier) {
-//      var name = unit.context.getSimpleName(identifier);
-//
-//      if (name == 'void') {
-//        node.typeName_type = LinkedNodeTypeBuilder(
-//          kind: LinkedNodeTypeKind.void_,
-//        );
-//        return;
-//      }
-//
-//      reference = scope.lookup(name);
-//    } else {
-//      var prefixNode = identifier.prefixedIdentifier_prefix;
-//      var prefixName = unit.context.getSimpleName(prefixNode);
-//      var prefixReference = scope.lookup(prefixName);
-//      _setSimpleElement(prefixNode, prefixReference);
-//
-//      identifier = identifier.prefixedIdentifier_identifier;
-//      var name = unit.context.getSimpleName(identifier);
-//
-//      if (prefixReference != null && prefixReference.isPrefix) {
-//        var prefixScope = prefixReference.prefixScope;
-//        reference = prefixScope.lookup(name);
-//      } else {
-//        identifier.simpleIdentifier_element = 0;
-//        node.typeName_type = _dynamicType;
-//        return;
-//      }
-//    }
-//
-//    if (reference == null) {
-//      identifier.simpleIdentifier_element = 0;
-//      node.typeName_type = _dynamicType;
-//      return;
-//    }
-//
-//    _setSimpleElement(identifier, reference);
-//
-//    var typeArgumentList = node.typeName_typeArguments;
-//    if (typeArgumentList != null) {
-//      _node(typeArgumentList);
-//    }
-//
-//    typesToBuild.typeAnnotations.add(node);
-//  }
-//
-//  void _typeNameList(List<LinkedNode> nodeList) {
-//    for (var i = 0; i < nodeList.length; ++i) {
-//      var node = nodeList[i];
-//      _typeName(node);
-//    }
-//  }
-//
-//  void _typeParameter(LinkedNodeBuilder node) {
-//    _node(node.typeParameter_bound);
-//    // TODO(scheglov) set Object bound if no explicit?
-//  }
-//
-//  void _typeParameterList(LinkedNodeBuilder node) {
-//    for (var typeParameter in node.typeParameterList_typeParameters) {
-//      _node(typeParameter);
-//    }
-//  }
-//
-//  void _variableDeclarationList(LinkedNodeBuilder node) {
-//    var typeNode = node.variableDeclarationList_type;
-//    if (typeNode != null) {
-//      _node(typeNode);
-//      typesToBuild.declarations.add(node);
-//    }
-//  }
-//
-//  void _withClause(LinkedNodeBuilder node) {
-//    if (node == null) return;
-//
-//    _typeNameList(node.withClause_mixinTypes);
-//  }
-//
-//  /// Enter the type parameters scope, visit them, and run [f].
-//  void _withTypeParameters(LinkedNode typeParameterList, void f()) {
-//    if (typeParameterList == null) {
-//      f();
-//      return;
-//    }
-//
-//    scope = Scope(this.scope, {});
-//
-//    var containerRef = this.reference.getChild('@typeParameter');
-//    var typeParameters = typeParameterList.typeParameterList_typeParameters;
-//    for (var typeParameter in typeParameters) {
-//      var name = unit.context.getSimpleName(typeParameter.typeParameter_name);
-//      var reference = containerRef.getChild(name);
-//      reference.node = typeParameter;
-//      scope.declare(name, reference);
-//    }
-//
-//    _node(typeParameterList);
-//    f();
-//
-//    if (typeParameterList != null) {
-//      scope = scope.parent;
-//    }
-//  }
-//}
-
 /// Recursive visitor of [LinkedNode]s that resolves explicit type annotations
 /// in outlines.  This includes resolving element references in identifiers
 /// in type annotation, and setting [LinkedNodeType]s for corresponding type