[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) {