| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 analyzer.test.src.summary.summary_test; | 5 library analyzer.test.src.summary.summary_test; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/element/element.dart'; | 7 import 'package:analyzer/dart/element/element.dart'; |
| 8 import 'package:analyzer/src/generated/engine.dart'; | 8 import 'package:analyzer/src/generated/engine.dart'; |
| 9 import 'package:analyzer/src/generated/java_engine_io.dart'; | 9 import 'package:analyzer/src/generated/java_engine_io.dart'; |
| 10 import 'package:analyzer/src/generated/source.dart'; | 10 import 'package:analyzer/src/generated/source.dart'; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 void setUp() { | 69 void setUp() { |
| 70 super.setUp(); | 70 super.setUp(); |
| 71 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); | 71 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); |
| 72 options.enableGenericMethods = true; | 72 options.enableGenericMethods = true; |
| 73 resetWithOptions(options); | 73 resetWithOptions(options); |
| 74 } | 74 } |
| 75 | 75 |
| 76 test_class_no_superclass() { | 76 test_class_no_superclass() { |
| 77 UnlinkedClass cls = serializeClassElement(typeProvider.objectType.element); | 77 UnlinkedClass cls = serializeClassElement(typeProvider.objectType.element); |
| 78 expect(cls.supertype, isNull); | 78 expect(cls.supertype, isNull); |
| 79 expect(cls.hasNoSupertype, isTrue); |
| 79 } | 80 } |
| 80 } | 81 } |
| 81 | 82 |
| 82 /** | 83 /** |
| 83 * Base class containing most summary tests. This allows summary tests to be | 84 * Base class containing most summary tests. This allows summary tests to be |
| 84 * re-used to exercise all the different ways in which summaries can be | 85 * re-used to exercise all the different ways in which summaries can be |
| 85 * generated (e.g. direct from the AST, from the element model, from a | 86 * generated (e.g. direct from the AST, from the element model, from a |
| 86 * "relinking" process, etc.) | 87 * "relinking" process, etc.) |
| 87 */ | 88 */ |
| 88 abstract class SummaryTest { | 89 abstract class SummaryTest { |
| (...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 657 } | 658 } |
| 658 class E {} | 659 class E {} |
| 659 '''); | 660 '''); |
| 660 expect(cls.executables, isEmpty); | 661 expect(cls.executables, isEmpty); |
| 661 } | 662 } |
| 662 | 663 |
| 663 test_class_alias_supertype() { | 664 test_class_alias_supertype() { |
| 664 UnlinkedClass cls = | 665 UnlinkedClass cls = |
| 665 serializeClassText('class C = D with E; class D {} class E {}'); | 666 serializeClassText('class C = D with E; class D {} class E {}'); |
| 666 checkTypeRef(cls.supertype, null, null, 'D'); | 667 checkTypeRef(cls.supertype, null, null, 'D'); |
| 668 expect(cls.hasNoSupertype, isFalse); |
| 667 } | 669 } |
| 668 | 670 |
| 669 test_class_concrete() { | 671 test_class_concrete() { |
| 670 UnlinkedClass cls = serializeClassText('class C {}'); | 672 UnlinkedClass cls = serializeClassText('class C {}'); |
| 671 expect(cls.isAbstract, false); | 673 expect(cls.isAbstract, false); |
| 672 } | 674 } |
| 673 | 675 |
| 674 test_class_interface() { | 676 test_class_interface() { |
| 675 UnlinkedClass cls = serializeClassText(''' | 677 UnlinkedClass cls = serializeClassText(''' |
| 676 class C implements D {} | 678 class C implements D {} |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 739 } | 741 } |
| 740 | 742 |
| 741 test_class_non_alias_flag() { | 743 test_class_non_alias_flag() { |
| 742 UnlinkedClass cls = serializeClassText('class C {}'); | 744 UnlinkedClass cls = serializeClassText('class C {}'); |
| 743 expect(cls.isMixinApplication, false); | 745 expect(cls.isMixinApplication, false); |
| 744 } | 746 } |
| 745 | 747 |
| 746 test_class_superclass() { | 748 test_class_superclass() { |
| 747 UnlinkedClass cls = serializeClassText('class C {}'); | 749 UnlinkedClass cls = serializeClassText('class C {}'); |
| 748 expect(cls.supertype, isNull); | 750 expect(cls.supertype, isNull); |
| 751 expect(cls.hasNoSupertype, isFalse); |
| 749 } | 752 } |
| 750 | 753 |
| 751 test_class_superclass_explicit() { | 754 test_class_superclass_explicit() { |
| 752 UnlinkedClass cls = serializeClassText('class C extends D {} class D {}'); | 755 UnlinkedClass cls = serializeClassText('class C extends D {} class D {}'); |
| 753 expect(cls.supertype, isNotNull); | 756 expect(cls.supertype, isNotNull); |
| 754 checkTypeRef(cls.supertype, null, null, 'D'); | 757 checkTypeRef(cls.supertype, null, null, 'D'); |
| 758 expect(cls.hasNoSupertype, isFalse); |
| 755 } | 759 } |
| 756 | 760 |
| 757 test_class_type_param_bound() { | 761 test_class_type_param_bound() { |
| 758 UnlinkedClass cls = serializeClassText('class C<T extends List> {}'); | 762 UnlinkedClass cls = serializeClassText('class C<T extends List> {}'); |
| 759 expect(cls.typeParameters, hasLength(1)); | 763 expect(cls.typeParameters, hasLength(1)); |
| 760 expect(cls.typeParameters[0].name, 'T'); | 764 expect(cls.typeParameters[0].name, 'T'); |
| 761 expect(cls.typeParameters[0].bound, isNotNull); | 765 expect(cls.typeParameters[0].bound, isNotNull); |
| 762 checkTypeRef(cls.typeParameters[0].bound, 'dart:core', 'dart:core', 'List', | 766 checkTypeRef(cls.typeParameters[0].bound, 'dart:core', 'dart:core', 'List', |
| 763 allowTypeParameters: true); | 767 allowTypeParameters: true); |
| 764 } | 768 } |
| (...skipping 1360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2125 serializeClassText('class C { static int i; }').fields[0]; | 2129 serializeClassText('class C { static int i; }').fields[0]; |
| 2126 expect(variable.isStatic, isTrue); | 2130 expect(variable.isStatic, isTrue); |
| 2127 } | 2131 } |
| 2128 | 2132 |
| 2129 test_variable_type() { | 2133 test_variable_type() { |
| 2130 UnlinkedVariable variable = | 2134 UnlinkedVariable variable = |
| 2131 serializeVariableText('int i;', variableName: 'i'); | 2135 serializeVariableText('int i;', variableName: 'i'); |
| 2132 checkTypeRef(variable.type, 'dart:core', 'dart:core', 'int'); | 2136 checkTypeRef(variable.type, 'dart:core', 'dart:core', 'int'); |
| 2133 } | 2137 } |
| 2134 } | 2138 } |
| OLD | NEW |