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

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

Issue 2925263002: A step towards handling `new Object()` in compile_from_dill_test (Closed)
Patch Set: Created 3 years, 6 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 import 'package:kernel/clone.dart'; 8 import 'package:kernel/clone.dart';
9 import 'package:kernel/type_algebra.dart'; 9 import 'package:kernel/type_algebra.dart';
10 10
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 _getTypeVariable(node.typeParameters[index])); 473 _getTypeVariable(node.typeParameters[index]));
474 })); 474 }));
475 env.rawType = new InterfaceType( 475 env.rawType = new InterfaceType(
476 cls, 476 cls,
477 new List/*<DartType>*/ .filled( 477 new List/*<DartType>*/ .filled(
478 node.typeParameters.length, const DynamicType())); 478 node.typeParameters.length, const DynamicType()));
479 } 479 }
480 } 480 }
481 } 481 }
482 482
483 InterfaceType _getThisType(KClass cls) { 483 InterfaceType getThisType(KClass cls) {
484 _KClassEnv env = _classEnvs[cls.classIndex]; 484 _KClassEnv env = _classEnvs[cls.classIndex];
485 _ensureThisAndRawType(cls, env); 485 _ensureThisAndRawType(cls, env);
486 return env.thisType; 486 return env.thisType;
487 } 487 }
488 488
489 InterfaceType _getRawType(KClass cls) { 489 InterfaceType _getRawType(KClass cls) {
490 _KClassEnv env = _classEnvs[cls.classIndex]; 490 _KClassEnv env = _classEnvs[cls.classIndex];
491 _ensureThisAndRawType(cls, env); 491 _ensureThisAndRawType(cls, env);
492 return env.rawType; 492 return env.rawType;
493 } 493 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 } 551 }
552 552
553 ClassEntity _getAppliedMixin(KClass cls) { 553 ClassEntity _getAppliedMixin(KClass cls) {
554 _KClassEnv env = _classEnvs[cls.classIndex]; 554 _KClassEnv env = _classEnvs[cls.classIndex];
555 _ensureSupertypes(cls, env); 555 _ensureSupertypes(cls, env);
556 return env.mixedInType?.element; 556 return env.mixedInType?.element;
557 } 557 }
558 558
559 DartType _substByContext(DartType type, InterfaceType context) { 559 DartType _substByContext(DartType type, InterfaceType context) {
560 return type.subst( 560 return type.subst(
561 context.typeArguments, _getThisType(context.element).typeArguments); 561 context.typeArguments, getThisType(context.element).typeArguments);
562 } 562 }
563 563
564 InterfaceType _getSuperType(KClass cls) { 564 InterfaceType _getSuperType(KClass cls) {
565 _KClassEnv env = _classEnvs[cls.classIndex]; 565 _KClassEnv env = _classEnvs[cls.classIndex];
566 _ensureSupertypes(cls, env); 566 _ensureSupertypes(cls, env);
567 return env.supertype; 567 return env.supertype;
568 } 568 }
569 569
570 bool _isUnnamedMixinApplication(KClass cls) { 570 bool _isUnnamedMixinApplication(KClass cls) {
571 _KClassEnv env = _classEnvs[cls.classIndex]; 571 _KClassEnv env = _classEnvs[cls.classIndex];
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
1101 LibraryEntity get mainLibrary => elementMap._mainLibrary; 1101 LibraryEntity get mainLibrary => elementMap._mainLibrary;
1102 1102
1103 @override 1103 @override
1104 FunctionEntity get mainFunction => elementMap._mainFunction; 1104 FunctionEntity get mainFunction => elementMap._mainFunction;
1105 1105
1106 @override 1106 @override
1107 Iterable<LibraryEntity> get libraries => elementMap._libraries; 1107 Iterable<LibraryEntity> get libraries => elementMap._libraries;
1108 1108
1109 @override 1109 @override
1110 InterfaceType getThisType(ClassEntity cls) { 1110 InterfaceType getThisType(ClassEntity cls) {
1111 return elementMap._getThisType(cls); 1111 return elementMap.getThisType(cls);
1112 } 1112 }
1113 1113
1114 @override 1114 @override
1115 InterfaceType getRawType(ClassEntity cls) { 1115 InterfaceType getRawType(ClassEntity cls) {
1116 return elementMap._getRawType(cls); 1116 return elementMap._getRawType(cls);
1117 } 1117 }
1118 1118
1119 @override 1119 @override
1120 bool isGenericClass(ClassEntity cls) { 1120 bool isGenericClass(ClassEntity cls) {
1121 return getThisType(cls).typeArguments.isNotEmpty; 1121 return getThisType(cls).typeArguments.isNotEmpty;
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
1553 return node.isExternal && 1553 return node.isExternal &&
1554 !elementMap.isForeignLibrary(node.enclosingLibrary); 1554 !elementMap.isForeignLibrary(node.enclosingLibrary);
1555 } 1555 }
1556 1556
1557 @override 1557 @override
1558 bool isJsInteropMember(MemberEntity element) { 1558 bool isJsInteropMember(MemberEntity element) {
1559 // TODO(johnniwinther): Compute this. 1559 // TODO(johnniwinther): Compute this.
1560 return false; 1560 return false;
1561 } 1561 }
1562 } 1562 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698