Simplify ReferenceResolver creation.

Change-Id: I1445b80d9453dc8d1df9f0a3bc850bda11e109f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207781
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
Konstantin Shcheglov
2021-07-22 20:05:25 +00:00
committed by commit-bot@chromium.org
parent 6085e065e9
commit 84adebbef6
3 changed files with 5 additions and 26 deletions
@@ -190,6 +190,7 @@ class FunctionTypeBuilder extends TypeBuilder {
} else if (isNNBD) {
nullabilitySuffix = NullabilitySuffix.none;
} else {
// TODO(scheglov) legacy?
nullabilitySuffix = NullabilitySuffix.question;
}
@@ -2,7 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/ast/ast.dart' as ast;
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/src/dart/ast/ast.dart' as ast;
@@ -161,7 +160,7 @@ class LibraryBuilder {
void resolveTypes(NodesToBuildType nodesToBuildType) {
for (var linkingUnit in units) {
var resolver = _newTypeReferenceResolver(nodesToBuildType, linkingUnit);
var resolver = ReferenceResolver(linker, nodesToBuildType, element);
linkingUnit.node.accept(resolver);
}
}
@@ -212,7 +211,7 @@ class LibraryBuilder {
{
var nodesToBuildType = NodesToBuildType();
var resolver =
_newTypeReferenceResolver(nodesToBuildType, linkingUnit);
ReferenceResolver(linker, nodesToBuildType, element);
for (var newMember in newMembers) {
newMember.accept(resolver);
}
@@ -258,21 +257,6 @@ class LibraryBuilder {
}
}
ReferenceResolver _newTypeReferenceResolver(
NodesToBuildType nodesToBuildType,
LinkingUnit linkingUnit,
) {
/// TODO(scheglov) Do we need all these parameters?
return ReferenceResolver(
linker,
nodesToBuildType,
linker.elementFactory,
element,
linkingUnit.reference,
linkingUnit.node.featureSet.isEnabled(Feature.non_nullable),
);
}
static void build(Linker linker, LinkInputLibrary inputLibrary) {
var elementFactory = linker.elementFactory;
@@ -14,10 +14,8 @@ import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/dart/element/type_system.dart';
import 'package:analyzer/src/summary2/function_type_builder.dart';
import 'package:analyzer/src/summary2/link.dart';
import 'package:analyzer/src/summary2/linked_element_factory.dart';
import 'package:analyzer/src/summary2/linking_node_scope.dart';
import 'package:analyzer/src/summary2/named_type_builder.dart';
import 'package:analyzer/src/summary2/reference.dart';
import 'package:analyzer/src/summary2/types_builder.dart';
/// Recursive visitor of [LinkedNode]s that resolves explicit type annotations
@@ -33,8 +31,6 @@ class ReferenceResolver extends ThrowingAstVisitor<void> {
final Linker linker;
final TypeSystemImpl _typeSystem;
final NodesToBuildType nodesToBuildType;
final LinkedElementFactory elementFactory;
final Reference unitReference;
/// Indicates whether the library is opted into NNBD.
final bool isNNBD;
@@ -44,12 +40,10 @@ class ReferenceResolver extends ThrowingAstVisitor<void> {
ReferenceResolver(
this.linker,
this.nodesToBuildType,
this.elementFactory,
LibraryElementImpl libraryElement,
this.unitReference,
this.isNNBD,
) : _typeSystem = libraryElement.typeSystem,
scope = libraryElement.scope;
scope = libraryElement.scope,
isNNBD = libraryElement.isNonNullableByDefault;
@override
void visitBlockFunctionBody(BlockFunctionBody node) {}