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

Side by Side Diff: tests/compiler/dart2js/kernel/test_helpers.dart

Issue 2968383002: Add ConstructorBodyEntity (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) 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 dart2js.kernel.equivalence; 5 library dart2js.kernel.equivalence;
6 6
7 import 'package:compiler/src/common/backend_api.dart'; 7 import 'package:compiler/src/common/backend_api.dart';
8 import 'package:compiler/src/common/resolution.dart'; 8 import 'package:compiler/src/common/resolution.dart';
9 import 'package:compiler/src/common/work.dart'; 9 import 'package:compiler/src/common/work.dart';
10 import 'package:compiler/src/constants/expressions.dart'; 10 import 'package:compiler/src/constants/expressions.dart';
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 a, b, 'enclosingClass', a.enclosingClass, b.enclosingClass); 54 a, b, 'enclosingClass', a.enclosingClass, b.enclosingClass);
55 } 55 }
56 return false; 56 return false;
57 case ElementKind.FACTORY_CONSTRUCTOR: 57 case ElementKind.FACTORY_CONSTRUCTOR:
58 if (b is KFactoryConstructor) { 58 if (b is KFactoryConstructor) {
59 return strategy.test(a, b, 'name', a.name, b.name) && 59 return strategy.test(a, b, 'name', a.name, b.name) &&
60 strategy.testElements( 60 strategy.testElements(
61 a, b, 'enclosingClass', a.enclosingClass, b.enclosingClass); 61 a, b, 'enclosingClass', a.enclosingClass, b.enclosingClass);
62 } 62 }
63 return false; 63 return false;
64 case ElementKind.GENERATIVE_CONSTRUCTOR_BODY:
65 ConstructorBodyElement aConstructorBody = a;
66 if (b is ConstructorBodyEntity) {
67 return entityEquivalence(aConstructorBody.constructor, b.constructor);
68 }
69 return false;
64 case ElementKind.CLASS: 70 case ElementKind.CLASS:
65 if (b is KClass) { 71 if (b is KClass) {
66 List<InterfaceType> aMixinTypes = []; 72 List<InterfaceType> aMixinTypes = [];
67 List<InterfaceType> bMixinTypes = []; 73 List<InterfaceType> bMixinTypes = [];
68 ClassElement aClass = a; 74 ClassElement aClass = a;
69 if (aClass.isUnnamedMixinApplication) { 75 if (aClass.isUnnamedMixinApplication) {
70 if (!testing.isUnnamedMixinApplication(b)) { 76 if (!testing.isUnnamedMixinApplication(b)) {
71 return false; 77 return false;
72 } 78 }
73 while (aClass.isMixinApplication) { 79 while (aClass.isMixinApplication) {
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 for (ConstructorElement constructor in element.constructors) { 304 for (ConstructorElement constructor in element.constructors) {
299 if (!constructor.isRedirectingFactory) { 305 if (!constructor.isRedirectingFactory) {
300 return true; 306 return true;
301 } 307 }
302 } 308 }
303 // The class cannot itself be instantiated. 309 // The class cannot itself be instantiated.
304 return false; 310 return false;
305 } 311 }
306 return true; 312 return true;
307 } 313 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698