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

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

Issue 2468273003: Fix kernel/visitor_test (Closed)
Patch Set: Fix impact_test after changes. Created 4 years, 1 month 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.impact_test; 5 library dart2js.kernel.impact_test;
6 6
7 import 'dart:async';
8 import 'package:async_helper/async_helper.dart'; 7 import 'package:async_helper/async_helper.dart';
9 import 'package:compiler/src/commandline_options.dart'; 8 import 'package:compiler/src/commandline_options.dart';
10 import 'package:compiler/src/common.dart'; 9 import 'package:compiler/src/common.dart';
11 import 'package:compiler/src/common/names.dart'; 10 import 'package:compiler/src/common/names.dart';
12 import 'package:compiler/src/common/resolution.dart'; 11 import 'package:compiler/src/common/resolution.dart';
13 import 'package:compiler/src/compiler.dart'; 12 import 'package:compiler/src/compiler.dart';
13 import 'package:compiler/src/constants/expressions.dart';
14 import 'package:compiler/src/dart_types.dart'; 14 import 'package:compiler/src/dart_types.dart';
15 import 'package:compiler/src/elements/elements.dart'; 15 import 'package:compiler/src/elements/elements.dart';
16 import 'package:compiler/src/resolution/registry.dart'; 16 import 'package:compiler/src/resolution/registry.dart';
17 import 'package:compiler/src/resolution/tree_elements.dart';
17 import 'package:compiler/src/ssa/kernel_impact.dart'; 18 import 'package:compiler/src/ssa/kernel_impact.dart';
18 import 'package:compiler/src/serialization/equivalence.dart'; 19 import 'package:compiler/src/serialization/equivalence.dart';
19 import 'package:compiler/src/universe/call_structure.dart'; 20 import 'package:compiler/src/universe/call_structure.dart';
20 import 'package:compiler/src/universe/feature.dart'; 21 import 'package:compiler/src/universe/feature.dart';
21 import 'package:compiler/src/universe/use.dart'; 22 import 'package:compiler/src/universe/use.dart';
22 import 'package:expect/expect.dart'; 23 import 'package:expect/expect.dart';
23 import '../memory_compiler.dart'; 24 import '../memory_compiler.dart';
24 import '../serialization/test_helper.dart'; 25 import '../serialization/test_helper.dart';
25 26
26 const Map<String, String> SOURCE = const <String, String>{ 27 const Map<String, String> SOURCE = const <String, String>{
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 testConstRedirectingFactoryInvoke(); 145 testConstRedirectingFactoryInvoke();
145 testConstRedirectingFactoryInvokeGeneric(); 146 testConstRedirectingFactoryInvokeGeneric();
146 testConstRedirectingFactoryInvokeGenericRaw(); 147 testConstRedirectingFactoryInvokeGenericRaw();
147 testConstRedirectingFactoryInvokeGenericDynamic(); 148 testConstRedirectingFactoryInvokeGenericDynamic();
148 testImplicitConstructor(); 149 testImplicitConstructor();
149 testFactoryConstructor(); 150 testFactoryConstructor();
150 testDefaultValuesPositional(); 151 testDefaultValuesPositional();
151 testDefaultValuesNamed(); 152 testDefaultValuesNamed();
152 testFieldInitializer1(); 153 testFieldInitializer1();
153 testFieldInitializer2(); 154 testFieldInitializer2();
155 testFieldInitializer3();
154 testInstanceFieldWithInitializer(); 156 testInstanceFieldWithInitializer();
155 testInstanceFieldTyped(); 157 testInstanceFieldTyped();
156 testThisInitializer(); 158 testThisInitializer();
157 testSuperInitializer(); 159 testSuperInitializer();
158 testGenericClass(); 160 testGenericClass();
159 testSuperCall(); 161 testSuperCall();
160 testSuperGet(); 162 testSuperGet();
161 testSuperFieldSet(); 163 testSuperFieldSet();
162 testSuperSetterSet(); 164 testSuperSetterSet();
163 testSuperClosurization(); 165 testSuperClosurization();
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 class ClassFieldInitializer1 { 473 class ClassFieldInitializer1 {
472 var field; 474 var field;
473 ClassFieldInitializer1(this.field); 475 ClassFieldInitializer1(this.field);
474 } 476 }
475 testFieldInitializer1() => new ClassFieldInitializer1(42); 477 testFieldInitializer1() => new ClassFieldInitializer1(42);
476 class ClassFieldInitializer2 { 478 class ClassFieldInitializer2 {
477 var field; 479 var field;
478 ClassFieldInitializer2(value) : field = value; 480 ClassFieldInitializer2(value) : field = value;
479 } 481 }
480 testFieldInitializer2() => new ClassFieldInitializer2(42); 482 testFieldInitializer2() => new ClassFieldInitializer2(42);
483 class ClassFieldInitializer3 {
484 var field;
485 ClassFieldInitializer3.a();
486 ClassFieldInitializer3.b(value) : field = value;
487 }
488 testFieldInitializer3() {
489 new ClassFieldInitializer3.a();
490 new ClassFieldInitializer3.b(42);
491 }
481 class ClassInstanceFieldWithInitializer { 492 class ClassInstanceFieldWithInitializer {
482 var field = false; 493 var field = false;
483 } 494 }
484 testInstanceFieldWithInitializer() => new ClassInstanceFieldWithInitializer(); 495 testInstanceFieldWithInitializer() => new ClassInstanceFieldWithInitializer();
485 class ClassInstanceFieldTyped { 496 class ClassInstanceFieldTyped {
486 int field; 497 int field;
487 } 498 }
488 testInstanceFieldTyped() => new ClassInstanceFieldTyped(); 499 testInstanceFieldTyped() => new ClassInstanceFieldTyped();
489 class ClassGeneric<T> { 500 class ClassGeneric<T> {
490 ClassGeneric(T arg); 501 ClassGeneric(T arg);
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 for (TypeUse typeUse in impact.typeUses) { 675 for (TypeUse typeUse in impact.typeUses) {
665 builder.registerTypeUse(new TypeUse.internal( 676 builder.registerTypeUse(new TypeUse.internal(
666 const Unaliaser().visit(typeUse.type), typeUse.kind)); 677 const Unaliaser().visit(typeUse.type), typeUse.kind));
667 } 678 }
668 impact.constantLiterals.forEach(builder.registerConstantLiteral); 679 impact.constantLiterals.forEach(builder.registerConstantLiteral);
669 impact.constSymbolNames.forEach(builder.registerConstSymbolName); 680 impact.constSymbolNames.forEach(builder.registerConstSymbolName);
670 impact.listLiterals.forEach(builder.registerListLiteral); 681 impact.listLiterals.forEach(builder.registerListLiteral);
671 impact.mapLiterals.forEach(builder.registerMapLiteral); 682 impact.mapLiterals.forEach(builder.registerMapLiteral);
672 for (Feature feature in impact.features) { 683 for (Feature feature in impact.features) {
673 switch (feature) { 684 switch (feature) {
685 case Feature.FIELD_WITHOUT_INITIALIZER:
686 if (element.isInstanceMember) {
687 bool missing = false;
688 OUTER:
689 for (ConstructorElement constructor
690 in element.enclosingClass.constructors) {
691 if (constructor.isGenerativeConstructor &&
692 !constructor.isRedirectingGenerative) {
693 for (ParameterElement parameter in constructor.parameters) {
694 if (parameter is InitializingFormalElement &&
695 parameter.fieldElement == element) {
696 continue OUTER;
697 }
698 }
699 if (constructor.resolvedAst.kind == ResolvedAstKind.PARSED) {
700 var function = constructor.resolvedAst.node;
701 if (function.initializers != null) {
702 TreeElements elements = constructor.resolvedAst.elements;
703 for (var initializer in function.initializers) {
704 if (elements[initializer] == element) {
705 continue OUTER;
706 }
707 }
708 }
709 }
710 missing = true;
711 }
712 }
713 if (!missing) continue;
714 }
715 builder.registerConstantLiteral(new NullConstantExpression());
716 break;
674 case Feature.STRING_INTERPOLATION: 717 case Feature.STRING_INTERPOLATION:
675 case Feature.STRING_JUXTAPOSITION: 718 case Feature.STRING_JUXTAPOSITION:
676 // These are both converted into a string concatenation in kernel so 719 // These are both converted into a string concatenation in kernel so
677 // we cannot tell the difference. 720 // we cannot tell the difference.
678 builder.registerFeature(Feature.STRING_INTERPOLATION); 721 builder.registerFeature(Feature.STRING_INTERPOLATION);
679 builder.registerFeature(Feature.STRING_JUXTAPOSITION); 722 builder.registerFeature(Feature.STRING_JUXTAPOSITION);
680 break; 723 break;
681 case Feature.FALL_THROUGH_ERROR: 724 case Feature.FALL_THROUGH_ERROR:
682 LibraryElement library = 725 LibraryElement library =
683 compiler.libraryLoader.lookupLibrary(Uris.dart_core); 726 compiler.libraryLoader.lookupLibrary(Uris.dart_core);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 @override 766 @override
724 DartType visitFunctionType(FunctionType type, _) { 767 DartType visitFunctionType(FunctionType type, _) {
725 return new FunctionType.synthesized( 768 return new FunctionType.synthesized(
726 visit(type.returnType), 769 visit(type.returnType),
727 visitList(type.parameterTypes), 770 visitList(type.parameterTypes),
728 visitList(type.optionalParameterTypes), 771 visitList(type.optionalParameterTypes),
729 type.namedParameters, 772 type.namedParameters,
730 visitList(type.namedParameterTypes)); 773 visitList(type.namedParameterTypes));
731 } 774 }
732 } 775 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/kernel/class_hierarchy_test.dart ('k') | tests/compiler/dart2js/kernel/visitor_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698