| Index: pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
 | 
| 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 209699dac7cb2b7953b00e6934b47942abc5a1a6..b81da23bd022543a3d67082993421e8a86c402e9 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
 | 
| @@ -42,8 +42,10 @@ import 'kernel_builder.dart'
 | 
|          KernelProcedureBuilder,
 | 
|          KernelTypeBuilder,
 | 
|          LibraryBuilder,
 | 
| +        MemberBuilder,
 | 
|          MetadataBuilder,
 | 
|          ProcedureBuilder,
 | 
| +        Scope,
 | 
|          TypeVariableBuilder,
 | 
|          computeDefaultTypeArguments;
 | 
|  
 | 
| @@ -58,11 +60,12 @@ abstract class KernelClassBuilder
 | 
|        List<TypeVariableBuilder> typeVariables,
 | 
|        KernelTypeBuilder supertype,
 | 
|        List<KernelTypeBuilder> interfaces,
 | 
| -      Map<String, Builder> members,
 | 
| +      Scope scope,
 | 
| +      Scope constructors,
 | 
|        LibraryBuilder parent,
 | 
|        int charOffset)
 | 
|        : super(metadata, modifiers, name, typeVariables, supertype, interfaces,
 | 
| -            members, parent, charOffset);
 | 
| +            scope, constructors, parent, charOffset);
 | 
|  
 | 
|    Class get cls;
 | 
|  
 | 
| @@ -111,10 +114,11 @@ abstract class KernelClassBuilder
 | 
|    int resolveConstructors(LibraryBuilder library) {
 | 
|      int count = super.resolveConstructors(library);
 | 
|      if (count != 0) {
 | 
| +      Map<String, MemberBuilder> constructors = this.constructors.local;
 | 
|        // Copy keys to avoid concurrent modification error.
 | 
| -      List<String> names = members.keys.toList();
 | 
| +      List<String> names = constructors.keys.toList();
 | 
|        for (String name in names) {
 | 
| -        Builder builder = members[name];
 | 
| +        Builder builder = constructors[name];
 | 
|          if (builder is KernelProcedureBuilder && builder.isFactory) {
 | 
|            // Compute the immediate redirection target, not the effective.
 | 
|            ConstructorReferenceBuilder redirectionTarget =
 | 
| @@ -159,7 +163,7 @@ abstract class KernelClassBuilder
 | 
|      //
 | 
|      // TODO(ahe): Generate the correct factory body instead.
 | 
|      DillMemberBuilder constructorsField =
 | 
| -        members.putIfAbsent("_redirecting#", () {
 | 
| +        scope.local.putIfAbsent("_redirecting#", () {
 | 
|        ListLiteral literal = new ListLiteral(<Expression>[]);
 | 
|        Name name = new Name("_redirecting#", library.library);
 | 
|        Field field = new Field(name,
 | 
| 
 |