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

Side by Side Diff: pkg/compiler/lib/src/kernel/element_map_impl.dart

Issue 2982783003: Use failedAt in more places (Closed)
Patch Set: Created 3 years, 5 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 dart2js.kernel.element_map; 5 library dart2js.kernel.element_map;
6 6
7 import 'package:kernel/ast.dart' as ir; 7 import 'package:kernel/ast.dart' as ir;
8 8
9 import '../common.dart'; 9 import '../common.dart';
10 import '../common/names.dart' show Identifiers; 10 import '../common/names.dart' show Identifiers;
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 ClassEntity cls = getMember(context).enclosingClass; 354 ClassEntity cls = getMember(context).enclosingClass;
355 IndexedClass superclass = _getSuperType(cls)?.element; 355 IndexedClass superclass = _getSuperType(cls)?.element;
356 while (superclass != null) { 356 while (superclass != null) {
357 ClassEnv env = _classEnvs[superclass.classIndex]; 357 ClassEnv env = _classEnvs[superclass.classIndex];
358 ir.Member superMember = env.lookupMember(name.name, setter: setter); 358 ir.Member superMember = env.lookupMember(name.name, setter: setter);
359 if (superMember != null) { 359 if (superMember != null) {
360 return getMember(superMember); 360 return getMember(superMember);
361 } 361 }
362 superclass = _getSuperType(superclass)?.element; 362 superclass = _getSuperType(superclass)?.element;
363 } 363 }
364 throw new SpannableAssertionFailure( 364 throw failedAt(cls, "No super method member found for ${name} in $cls.");
365 cls, "No super method member found for ${name} in $cls.");
366 } 365 }
367 366
368 @override 367 @override
369 ConstructorEntity getConstructor(ir.Member node) => _getConstructor(node); 368 ConstructorEntity getConstructor(ir.Member node) => _getConstructor(node);
370 369
371 ConstructorEntity _getConstructor(ir.Member node); 370 ConstructorEntity _getConstructor(ir.Member node);
372 371
373 ConstructorEntity getSuperConstructor( 372 ConstructorEntity getSuperConstructor(
374 ir.Constructor sourceNode, ir.Member targetNode) { 373 ir.Constructor sourceNode, ir.Member targetNode) {
375 ConstructorEntity source = getConstructor(sourceNode); 374 ConstructorEntity source = getConstructor(sourceNode);
376 ClassEntity sourceClass = source.enclosingClass; 375 ClassEntity sourceClass = source.enclosingClass;
377 ConstructorEntity target = getConstructor(targetNode); 376 ConstructorEntity target = getConstructor(targetNode);
378 ClassEntity targetClass = target.enclosingClass; 377 ClassEntity targetClass = target.enclosingClass;
379 IndexedClass superClass = _getSuperType(sourceClass)?.element; 378 IndexedClass superClass = _getSuperType(sourceClass)?.element;
380 if (superClass == targetClass) { 379 if (superClass == targetClass) {
381 return target; 380 return target;
382 } 381 }
383 ClassEnv env = _classEnvs[superClass.classIndex]; 382 ClassEnv env = _classEnvs[superClass.classIndex];
384 ir.Member member = env.lookupConstructor(target.name); 383 ir.Member member = env.lookupConstructor(target.name);
385 if (member != null) { 384 if (member != null) {
386 return getConstructor(member); 385 return getConstructor(member);
387 } 386 }
388 throw new SpannableAssertionFailure( 387 throw failedAt(source, "Super constructor for $source not found.");
389 source, "Super constructor for $source not found.");
390 } 388 }
391 389
392 @override 390 @override
393 FunctionEntity getMethod(ir.Procedure node) => _getMethod(node); 391 FunctionEntity getMethod(ir.Procedure node) => _getMethod(node);
394 392
395 FunctionEntity _getMethod(ir.Procedure node); 393 FunctionEntity _getMethod(ir.Procedure node);
396 394
397 @override 395 @override
398 FieldEntity getField(ir.Field node) => _getField(node); 396 FieldEntity getField(ir.Field node) => _getField(node);
399 397
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 bool isFromEnvironment = isExternal && 761 bool isFromEnvironment = isExternal &&
764 name.text == 'fromEnvironment' && 762 name.text == 'fromEnvironment' &&
765 const ['int', 'bool', 'String'].contains(enclosingClass.name); 763 const ['int', 'bool', 'String'].contains(enclosingClass.name);
766 constructor = createFactoryConstructor(memberIndex, enclosingClass, 764 constructor = createFactoryConstructor(memberIndex, enclosingClass,
767 name, _getParameterStructure(functionNode), 765 name, _getParameterStructure(functionNode),
768 isExternal: isExternal, 766 isExternal: isExternal,
769 isConst: node.isConst, 767 isConst: node.isConst,
770 isFromEnvironmentConstructor: isFromEnvironment); 768 isFromEnvironmentConstructor: isFromEnvironment);
771 } else { 769 } else {
772 // TODO(johnniwinther): Convert `node.location` to a [SourceSpan]. 770 // TODO(johnniwinther): Convert `node.location` to a [SourceSpan].
773 throw new SpannableAssertionFailure( 771 throw failedAt(
774 NO_LOCATION_SPANNABLE, "Unexpected constructor node: ${node}."); 772 NO_LOCATION_SPANNABLE, "Unexpected constructor node: ${node}.");
775 } 773 }
776 _memberData.add(new ConstructorData(node, functionNode)); 774 _memberData.add(new ConstructorData(node, functionNode));
777 _memberList.add(constructor); 775 _memberList.add(constructor);
778 return constructor; 776 return constructor;
779 }); 777 });
780 } 778 }
781 779
782 FunctionEntity _getMethod(ir.Procedure node) { 780 FunctionEntity _getMethod(ir.Procedure node) {
783 return _methodMap.putIfAbsent(node, () { 781 return _methodMap.putIfAbsent(node, () {
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
1178 } 1176 }
1179 1177
1180 @override 1178 @override
1181 DartType getUnaliasedType(DartType type) => type; 1179 DartType getUnaliasedType(DartType type) => type;
1182 1180
1183 @override 1181 @override
1184 ConstructorEntity lookupConstructor(ClassEntity cls, String name, 1182 ConstructorEntity lookupConstructor(ClassEntity cls, String name,
1185 {bool required: false}) { 1183 {bool required: false}) {
1186 ConstructorEntity constructor = elementMap.lookupConstructor(cls, name); 1184 ConstructorEntity constructor = elementMap.lookupConstructor(cls, name);
1187 if (constructor == null && required) { 1185 if (constructor == null && required) {
1188 throw new SpannableAssertionFailure( 1186 throw failedAt(
1189 CURRENT_ELEMENT_SPANNABLE, 1187 CURRENT_ELEMENT_SPANNABLE,
1190 "The constructor '$name' was not found in class '${cls.name}' " 1188 "The constructor '$name' was not found in class '${cls.name}' "
1191 "in library ${cls.library.canonicalUri}."); 1189 "in library ${cls.library.canonicalUri}.");
1192 } 1190 }
1193 return constructor; 1191 return constructor;
1194 } 1192 }
1195 1193
1196 @override 1194 @override
1197 MemberEntity lookupClassMember(ClassEntity cls, String name, 1195 MemberEntity lookupClassMember(ClassEntity cls, String name,
1198 {bool setter: false, bool required: false}) { 1196 {bool setter: false, bool required: false}) {
1199 MemberEntity member = 1197 MemberEntity member =
1200 elementMap.lookupClassMember(cls, name, setter: setter); 1198 elementMap.lookupClassMember(cls, name, setter: setter);
1201 if (member == null && required) { 1199 if (member == null && required) {
1202 throw new SpannableAssertionFailure(CURRENT_ELEMENT_SPANNABLE, 1200 throw failedAt(CURRENT_ELEMENT_SPANNABLE,
1203 "The member '$name' was not found in ${cls.name}."); 1201 "The member '$name' was not found in ${cls.name}.");
1204 } 1202 }
1205 return member; 1203 return member;
1206 } 1204 }
1207 1205
1208 @override 1206 @override
1209 ClassEntity getSuperClass(ClassEntity cls, 1207 ClassEntity getSuperClass(ClassEntity cls,
1210 {bool skipUnnamedMixinApplications: false}) { 1208 {bool skipUnnamedMixinApplications: false}) {
1211 ClassEntity superclass = elementMap._getSuperType(cls)?.element; 1209 ClassEntity superclass = elementMap._getSuperType(cls)?.element;
1212 if (skipUnnamedMixinApplications) { 1210 if (skipUnnamedMixinApplications) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1251 LibraryEntity library, void f(MemberEntity member)) { 1249 LibraryEntity library, void f(MemberEntity member)) {
1252 elementMap._forEachLibraryMember(library, f); 1250 elementMap._forEachLibraryMember(library, f);
1253 } 1251 }
1254 1252
1255 @override 1253 @override
1256 MemberEntity lookupLibraryMember(LibraryEntity library, String name, 1254 MemberEntity lookupLibraryMember(LibraryEntity library, String name,
1257 {bool setter: false, bool required: false}) { 1255 {bool setter: false, bool required: false}) {
1258 MemberEntity member = 1256 MemberEntity member =
1259 elementMap.lookupLibraryMember(library, name, setter: setter); 1257 elementMap.lookupLibraryMember(library, name, setter: setter);
1260 if (member == null && required) { 1258 if (member == null && required) {
1261 throw new SpannableAssertionFailure(CURRENT_ELEMENT_SPANNABLE, 1259 failedAt(CURRENT_ELEMENT_SPANNABLE,
1262 "The member '${name}' was not found in library '${library.name}'."); 1260 "The member '${name}' was not found in library '${library.name}'.");
1263 } 1261 }
1264 return member; 1262 return member;
1265 } 1263 }
1266 1264
1267 @override 1265 @override
1268 ClassEntity lookupClass(LibraryEntity library, String name, 1266 ClassEntity lookupClass(LibraryEntity library, String name,
1269 {bool required: false}) { 1267 {bool required: false}) {
1270 ClassEntity cls = elementMap.lookupClass(library, name); 1268 ClassEntity cls = elementMap.lookupClass(library, name);
1271 if (cls == null && required) { 1269 if (cls == null && required) {
1272 throw new SpannableAssertionFailure(CURRENT_ELEMENT_SPANNABLE, 1270 failedAt(CURRENT_ELEMENT_SPANNABLE,
1273 "The class '$name' was not found in library '${library.name}'."); 1271 "The class '$name' was not found in library '${library.name}'.");
1274 } 1272 }
1275 return cls; 1273 return cls;
1276 } 1274 }
1277 1275
1278 @override 1276 @override
1279 void forEachClass(LibraryEntity library, void f(ClassEntity cls)) { 1277 void forEachClass(LibraryEntity library, void f(ClassEntity cls)) {
1280 elementMap._forEachClass(library, f); 1278 elementMap._forEachClass(library, f);
1281 } 1279 }
1282 1280
1283 @override 1281 @override
1284 LibraryEntity lookupLibrary(Uri uri, {bool required: false}) { 1282 LibraryEntity lookupLibrary(Uri uri, {bool required: false}) {
1285 LibraryEntity library = elementMap.lookupLibrary(uri); 1283 LibraryEntity library = elementMap.lookupLibrary(uri);
1286 if (library == null && required) { 1284 if (library == null && required) {
1287 throw new SpannableAssertionFailure( 1285 failedAt(CURRENT_ELEMENT_SPANNABLE, "The library '$uri' was not found.");
1288 CURRENT_ELEMENT_SPANNABLE, "The library '$uri' was not found.");
1289 } 1286 }
1290 return library; 1287 return library;
1291 } 1288 }
1292 1289
1293 @override 1290 @override
1294 bool isDeferredLoadLibraryGetter(MemberEntity member) { 1291 bool isDeferredLoadLibraryGetter(MemberEntity member) {
1295 // TODO(redemption): Support these. 1292 // TODO(redemption): Support these.
1296 return false; 1293 return false;
1297 } 1294 }
1298 1295
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after
2009 if (data.constructorBody != null) { 2006 if (data.constructorBody != null) {
2010 f(data.constructorBody); 2007 f(data.constructorBody);
2011 } 2008 }
2012 }); 2009 });
2013 } 2010 }
2014 2011
2015 String getDeferredUri(ir.LibraryDependency node) { 2012 String getDeferredUri(ir.LibraryDependency node) {
2016 throw new UnimplementedError('JsKernelToElementMap.getDeferredUri'); 2013 throw new UnimplementedError('JsKernelToElementMap.getDeferredUri');
2017 } 2014 }
2018 } 2015 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698