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

Side by Side Diff: pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart

Issue 2691613002: Improve compile-time error handling. (Closed)
Patch Set: Update status and expectations for rasta tests. 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.kernel_library_builder; 5 library fasta.kernel_library_builder;
6 6
7 import 'package:kernel/ast.dart'; 7 import 'package:kernel/ast.dart';
8 8
9 import 'package:kernel/clone.dart' show 9 import 'package:kernel/clone.dart' show
10 CloneVisitor; 10 CloneVisitor;
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 charOffset); 101 charOffset);
102 constructorReferences.clear(); 102 constructorReferences.clear();
103 classMembers.forEach((String name, MemberBuilder builder) { 103 classMembers.forEach((String name, MemberBuilder builder) {
104 while (builder != null) { 104 while (builder != null) {
105 builder.parent = cls; 105 builder.parent = cls;
106 builder = builder.next; 106 builder = builder.next;
107 } 107 }
108 }); 108 });
109 // Nested declaration began in `OutlineBuilder.beginClassDeclaration`. 109 // Nested declaration began in `OutlineBuilder.beginClassDeclaration`.
110 endNestedDeclaration(); 110 endNestedDeclaration();
111 addBuilder(className, cls); 111 addBuilder(className, cls, charOffset);
112 } 112 }
113 113
114 void addNamedMixinApplication( 114 void addNamedMixinApplication(
115 List<MetadataBuilder> metadata, String name, 115 List<MetadataBuilder> metadata, String name,
116 List<TypeVariableBuilder> typeVariables, int modifiers, 116 List<TypeVariableBuilder> typeVariables, int modifiers,
117 KernelTypeBuilder mixinApplication, List<KernelTypeBuilder> interfaces, 117 KernelTypeBuilder mixinApplication, List<KernelTypeBuilder> interfaces,
118 int charOffset) { 118 int charOffset) {
119 NamedMixinApplicationBuilder builder = 119 NamedMixinApplicationBuilder builder =
120 new KernelNamedMixinApplicationBuilder(metadata, name, typeVariables, 120 new KernelNamedMixinApplicationBuilder(metadata, name, typeVariables,
121 modifiers, mixinApplication, interfaces, declarationTypes, this, 121 modifiers, mixinApplication, interfaces, declarationTypes, this,
122 charOffset); 122 charOffset);
123 // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`. 123 // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`.
124 endNestedDeclaration(); 124 endNestedDeclaration();
125 addBuilder(name, builder); 125 addBuilder(name, builder, charOffset);
126 } 126 }
127 127
128 void addField(List<MetadataBuilder> metadata, 128 void addField(List<MetadataBuilder> metadata,
129 int modifiers, KernelTypeBuilder type, String name, int charOffset) { 129 int modifiers, KernelTypeBuilder type, String name, int charOffset) {
130 addBuilder(name, new KernelFieldBuilder( 130 addBuilder(name, new KernelFieldBuilder(
131 metadata, type, name, modifiers, this, charOffset)); 131 metadata, type, name, modifiers, this, charOffset), charOffset);
132 } 132 }
133 133
134 void addProcedure(List<MetadataBuilder> metadata, 134 void addProcedure(List<MetadataBuilder> metadata,
135 int modifiers, KernelTypeBuilder returnType, String name, 135 int modifiers, KernelTypeBuilder returnType, String name,
136 List<TypeVariableBuilder> typeVariables, 136 List<TypeVariableBuilder> typeVariables,
137 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier, 137 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier,
138 ProcedureKind kind, int charOffset) { 138 ProcedureKind kind, int charOffset) {
139 // Nested declaration began in `OutlineBuilder.beginMethod` or 139 // Nested declaration began in `OutlineBuilder.beginMethod` or
140 // `OutlineBuilder.beginTopLevelMethod`. 140 // `OutlineBuilder.beginTopLevelMethod`.
141 endNestedDeclaration().resolveTypes(typeVariables); 141 endNestedDeclaration().resolveTypes(typeVariables);
142 addBuilder(name, 142 addBuilder(name,
143 new KernelProcedureBuilder(metadata, modifiers, returnType, name, 143 new KernelProcedureBuilder(metadata, modifiers, returnType, name,
144 typeVariables, formals, asyncModifier, kind, this, charOffset)); 144 typeVariables, formals, asyncModifier, kind, this, charOffset),
145 charOffset);
145 } 146 }
146 147
147 void addFactoryMethod(List<MetadataBuilder> metadata, 148 void addFactoryMethod(List<MetadataBuilder> metadata,
148 ConstructorReferenceBuilder constructorName, 149 ConstructorReferenceBuilder constructorName,
149 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier, 150 List<FormalParameterBuilder> formals, AsyncMarker asyncModifier,
150 ConstructorReferenceBuilder redirectionTarget, int charOffset) { 151 ConstructorReferenceBuilder redirectionTarget, int charOffset) {
151 String name = constructorName.name; 152 String name = constructorName.name;
152 assert(constructorName.suffix == null); 153 assert(constructorName.suffix == null);
153 addBuilder(name, 154 addBuilder(name,
154 new KernelProcedureBuilder(metadata, staticMask, null, name, null, 155 new KernelProcedureBuilder(metadata, staticMask, null, name, null,
155 formals, asyncModifier, ProcedureKind.Factory, this, charOffset, 156 formals, asyncModifier, ProcedureKind.Factory, this, charOffset,
156 redirectionTarget)); 157 redirectionTarget), charOffset);
157 } 158 }
158 159
159 void addEnum(List<MetadataBuilder> metadata, String name, 160 void addEnum(List<MetadataBuilder> metadata, String name,
160 List<String> constants, int charOffset) { 161 List<String> constants, int charOffset) {
161 addBuilder(name, 162 addBuilder(name,
162 new KernelEnumBuilder(metadata, name, constants, this, charOffset)); 163 new KernelEnumBuilder(metadata, name, constants, this, charOffset),
164 charOffset);
163 } 165 }
164 166
165 void addFunctionTypeAlias(List<MetadataBuilder> metadata, 167 void addFunctionTypeAlias(List<MetadataBuilder> metadata,
166 KernelTypeBuilder returnType, String name, 168 KernelTypeBuilder returnType, String name,
167 List<TypeVariableBuilder> typeVariables, 169 List<TypeVariableBuilder> typeVariables,
168 List<FormalParameterBuilder> formals, int charOffset) { 170 List<FormalParameterBuilder> formals, int charOffset) {
169 FunctionTypeAliasBuilder typedef = new KernelFunctionTypeAliasBuilder( 171 FunctionTypeAliasBuilder typedef = new KernelFunctionTypeAliasBuilder(
170 metadata, returnType, name, typeVariables, formals, declarationTypes, 172 metadata, returnType, name, typeVariables, formals, declarationTypes,
171 this, charOffset); 173 this, charOffset);
172 // Nested declaration began in `OutlineBuilder.beginFunctionTypeAlias`. 174 // Nested declaration began in `OutlineBuilder.beginFunctionTypeAlias`.
173 endNestedDeclaration(); 175 endNestedDeclaration();
174 addBuilder(name, typedef); 176 addBuilder(name, typedef, charOffset);
175 } 177 }
176 178
177 KernelFormalParameterBuilder addFormalParameter( 179 KernelFormalParameterBuilder addFormalParameter(
178 List<MetadataBuilder> metadata, int modifiers, 180 List<MetadataBuilder> metadata, int modifiers,
179 KernelTypeBuilder type, String name, bool hasThis, int charOffset) { 181 KernelTypeBuilder type, String name, bool hasThis, int charOffset) {
180 return new KernelFormalParameterBuilder( 182 return new KernelFormalParameterBuilder(
181 metadata, modifiers, type, name, hasThis, this, charOffset); 183 metadata, modifiers, type, name, hasThis, this, charOffset);
182 } 184 }
183 185
184 KernelTypeVariableBuilder addTypeVariable(String name, 186 KernelTypeVariableBuilder addTypeVariable(String name,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 } 281 }
280 expression.value = 282 expression.value =
281 defaultArgumentFrom(names[expression.name].initializer) 283 defaultArgumentFrom(names[expression.name].initializer)
282 ..parent = expression; 284 ..parent = expression;
283 } 285 }
284 } 286 }
285 } 287 }
286 return argumentsWithMissingDefaultValues.length; 288 return argumentsWithMissingDefaultValues.length;
287 } 289 }
288 } 290 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698