[CFE] Simplify outline expression parsing
Outline expressions (const field initializers, annotations) are never
in a formal parameter scope so it's not necessary to consider it.
Change-Id: Ifacdc28d7d565f29ae9e47b09ed32dd4947d284a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107284
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_body_builder.dart
index 278e742..dedf5ae 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_body_builder.dart
@@ -47,14 +47,13 @@
KernelClassBuilder classBuilder,
ModifierBuilder member,
Scope scope,
- Scope parameterScope,
Uri fileUri)
: forest = const Fangorn(),
super(
library,
member,
scope,
- parameterScope,
+ null,
library.loader.hierarchy,
library.loader.coreTypes,
classBuilder,
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
index fd09cca..cb9eaf8 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
@@ -235,7 +235,7 @@
}
KernelMetadataBuilder.buildAnnotations(
- isPatch ? origin.target : cls, metadata, library, this, null, null);
+ isPatch ? origin.target : cls, metadata, library, this, null);
constructors.forEach(build);
scope.forEach(build);
}
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart
index d750874..3a22dbb 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart
@@ -108,12 +108,12 @@
void buildOutlineExpressions(LibraryBuilder library) {
ClassBuilder classBuilder = isClassMember ? parent : null;
KernelMetadataBuilder.buildAnnotations(
- field, metadata, library, classBuilder, this, null);
+ field, metadata, library, classBuilder, this);
if (constInitializerToken != null) {
Scope scope = classBuilder?.scope ?? library.scope;
KernelBodyBuilder bodyBuilder =
new KernelBodyBuilder.forOutlineExpression(
- library, classBuilder, this, scope, null, fileUri);
+ library, classBuilder, this, scope, fileUri);
bodyBuilder.constantContext =
isConst ? ConstantContext.inferred : ConstantContext.none;
initializer = bodyBuilder.parseFieldInitializer(constInitializerToken)
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart
index 6c5e907..c9f6976 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart
@@ -917,8 +917,7 @@
@override
void buildOutlineExpressions() {
- KernelMetadataBuilder.buildAnnotations(
- library, metadata, this, null, null, null);
+ KernelMetadataBuilder.buildAnnotations(library, metadata, this, null, null);
}
@override
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_metadata_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_metadata_builder.dart
index 1c9f1f0..81970a0 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_metadata_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_metadata_builder.dart
@@ -31,15 +31,14 @@
List<MetadataBuilder> metadata,
KernelLibraryBuilder library,
KernelClassBuilder classBuilder,
- MemberBuilder member,
- Scope parameterScope) {
+ MemberBuilder member) {
if (metadata == null) return;
Uri fileUri = member?.fileUri ?? classBuilder?.fileUri ?? library.fileUri;
Scope scope = parent is Library || parent is Class || classBuilder == null
? library.scope
: classBuilder.scope;
KernelBodyBuilder bodyBuilder = new KernelBodyBuilder.forOutlineExpression(
- library, classBuilder, member, scope, parameterScope, fileUri);
+ library, classBuilder, member, scope, fileUri);
for (int i = 0; i < metadata.length; ++i) {
KernelMetadataBuilder annotationBuilder = metadata[i];
parent.addAnnotation(
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_procedure_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_procedure_builder.dart
index d751f8c..c654647 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_procedure_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_procedure_builder.dart
@@ -359,14 +359,8 @@
@override
void buildOutlineExpressions(LibraryBuilder library) {
- ClassBuilder classBuilder = isClassMember ? parent : null;
KernelMetadataBuilder.buildAnnotations(
- target,
- metadata,
- library,
- classBuilder,
- this,
- computeFormalParameterScope(classBuilder?.scope ?? library.scope));
+ target, metadata, library, isClassMember ? parent : null, this);
}
Procedure get target => origin.procedure;
@@ -493,14 +487,8 @@
@override
void buildOutlineExpressions(LibraryBuilder library) {
- ClassBuilder classBuilder = isClassMember ? parent : null;
KernelMetadataBuilder.buildAnnotations(
- target,
- metadata,
- library,
- classBuilder,
- this,
- computeFormalParameterScope(classBuilder?.scope ?? library.scope));
+ target, metadata, library, parent, this);
}
FunctionNode buildFunction(LibraryBuilder library) {