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:
committed by
commit-bot@chromium.org
parent
6085e065e9
commit
84adebbef6
@@ -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) {}
|
||||
|
||||
Reference in New Issue
Block a user