Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: pkg/front_end/lib/src/fasta/source/source_class_builder.dart

Issue 2675603002: Reduce strong mode errors and warnings (Closed)
Patch Set: comments & cleanup Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library fasta.source_class_builder; 5 library fasta.source_class_builder;
6 6
7 import 'package:kernel/ast.dart' show 7 import 'package:kernel/ast.dart' show
8 Class, 8 Class,
9 Constructor, 9 Constructor,
10 Supertype, 10 Supertype,
11 setParents; 11 setParents;
12 12
13 import '../errors.dart' show 13 import '../errors.dart' show
14 internalError, 14 internalError,
15 inputError; 15 inputError;
16 16
17 import '../kernel/kernel_builder.dart' show 17 import '../kernel/kernel_builder.dart' show
18 Builder, 18 Builder,
19 ConstructorReferenceBuilder, 19 ConstructorReferenceBuilder,
20 KernelClassBuilder, 20 KernelClassBuilder,
21 KernelFieldBuilder, 21 KernelFieldBuilder,
22 KernelFunctionBuilder, 22 KernelFunctionBuilder,
23 KernelLibraryBuilder, 23 KernelLibraryBuilder,
24 KernelProcedureBuilder, 24 KernelProcedureBuilder,
25 KernelTypeBuilder, 25 KernelTypeBuilder,
26 KernelTypeVariableBuilder, 26 KernelTypeVariableBuilder,
27 LibraryBuilder, 27 LibraryBuilder,
28 MemberBuilder,
29 MetadataBuilder, 28 MetadataBuilder,
30 ProcedureBuilder, 29 ProcedureBuilder,
31 TypeVariableBuilder; 30 TypeVariableBuilder;
32 31
33 import '../dill/dill_member_builder.dart' show 32 import '../dill/dill_member_builder.dart' show
34 DillMemberBuilder; 33 DillMemberBuilder;
35 34
36 class SourceClassBuilder extends KernelClassBuilder { 35 class SourceClassBuilder extends KernelClassBuilder {
37 final Class cls; 36 final Class cls;
38 37
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 // TODO(ahe): Report an error if supertype is null. 92 // TODO(ahe): Report an error if supertype is null.
94 cls.implementedTypes.add(supertype); 93 cls.implementedTypes.add(supertype);
95 } 94 }
96 } 95 }
97 } 96 }
98 return cls; 97 return cls;
99 } 98 }
100 99
101 int convertConstructors(KernelLibraryBuilder library) { 100 int convertConstructors(KernelLibraryBuilder library) {
102 List<String> oldConstructorNames = <String>[]; 101 List<String> oldConstructorNames = <String>[];
103 members.forEach((String name, MemberBuilder builder) { 102 // TODO(sigmund): should be `covariant MemberBuilder`
103 members.forEach((String name, dynamic builder) {
104 if (isConstructorName(name, this.name)) { 104 if (isConstructorName(name, this.name)) {
105 oldConstructorNames.add(name); 105 oldConstructorNames.add(name);
106 String newName = ""; 106 String newName = "";
107 int index = name.indexOf("."); 107 int index = name.indexOf(".");
108 if (index != -1) { 108 if (index != -1) {
109 newName = name.substring(index + 1); 109 newName = name.substring(index + 1);
110 } 110 }
111 if (builder is KernelProcedureBuilder) { 111 if (builder is KernelProcedureBuilder) {
112 Builder constructor = builder.toConstructor(newName, typeVariables); 112 Builder constructor = builder.toConstructor(newName, typeVariables);
113 Builder other = members[newName]; 113 Builder other = members[newName];
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 if (isConstructorName(builder.name, className)) return; 158 if (isConstructorName(builder.name, className)) return;
159 } 159 }
160 if (name.indexOf(".") != -1) { 160 if (name.indexOf(".") != -1) {
161 inputError(null, null, "Only constructors and factories can have names " 161 inputError(null, null, "Only constructors and factories can have names "
162 "containing a period ('.'): $name"); 162 "containing a period ('.'): $name");
163 } 163 }
164 membersInScope[name] = builder; 164 membersInScope[name] = builder;
165 }); 165 });
166 return membersInScope; 166 return membersInScope;
167 } 167 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698