Build local elements in constructor initializers.

R=brianwilkerson@google.com

Change-Id: Idb4645bc46a6f4804167d45e6ad809be33be8d53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/summary2/constructor_initializer_resolver.dart b/pkg/analyzer/lib/src/summary2/constructor_initializer_resolver.dart
index dd7dd8e..4a6d796 100644
--- a/pkg/analyzer/lib/src/summary2/constructor_initializer_resolver.dart
+++ b/pkg/analyzer/lib/src/summary2/constructor_initializer_resolver.dart
@@ -4,8 +4,10 @@
 
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/src/dart/ast/ast.dart';
+import 'package:analyzer/src/dart/element/builder.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/resolver/scope.dart';
+import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/summary2/ast_resolver.dart';
 import 'package:analyzer/src/summary2/link.dart';
 import 'package:analyzer/src/summary2/linking_node_scope.dart';
@@ -14,6 +16,7 @@
   final Linker _linker;
   final LibraryElementImpl _libraryElement;
 
+  CompilationUnitElement _unitElement;
   ClassElement _classElement;
   ConstructorElement _constructorElement;
   ConstructorDeclarationImpl _constructorNode;
@@ -23,6 +26,7 @@
 
   void resolve() {
     for (var unit in _libraryElement.units) {
+      _unitElement = unit;
       for (var classElement in unit.types) {
         _classElement = classElement;
         for (var constructorElement in classElement.constructors) {
@@ -62,6 +66,10 @@
       return;
     }
 
+    var holder = ElementHolder();
+    var elementBuilder = LocalElementBuilder(holder, _unitElement);
+    initializers.accept(elementBuilder);
+
     for (var initializer in initializers) {
       _astResolver.resolve(
         initializer,