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

Side by Side Diff: pkg/analyzer/test/src/dart/element/element_test.dart

Issue 1810393002: Fix unguarded cast to an impl class (issue 26035) (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « pkg/analyzer/lib/src/dart/element/element.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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.dart.element.element_test; 5 library analyzer.test.src.dart.element.element_test;
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/element/element.dart'; 8 import 'package:analyzer/dart/element/element.dart';
9 import 'package:analyzer/dart/element/type.dart'; 9 import 'package:analyzer/dart/element/type.dart';
10 import 'package:analyzer/src/dart/element/element.dart'; 10 import 'package:analyzer/src/dart/element/element.dart';
11 import 'package:analyzer/src/dart/element/handle.dart';
11 import 'package:analyzer/src/dart/element/type.dart'; 12 import 'package:analyzer/src/dart/element/type.dart';
12 import 'package:analyzer/src/generated/engine.dart' 13 import 'package:analyzer/src/generated/engine.dart'
13 show AnalysisContext, AnalysisOptionsImpl; 14 show AnalysisContext, AnalysisOptionsImpl;
14 import 'package:analyzer/src/generated/java_core.dart'; 15 import 'package:analyzer/src/generated/java_core.dart';
15 import 'package:analyzer/src/generated/source_io.dart'; 16 import 'package:analyzer/src/generated/source_io.dart';
16 import 'package:analyzer/src/generated/testing/ast_factory.dart'; 17 import 'package:analyzer/src/generated/testing/ast_factory.dart';
17 import 'package:analyzer/src/generated/testing/element_factory.dart'; 18 import 'package:analyzer/src/generated/testing/element_factory.dart';
18 import 'package:analyzer/src/generated/testing/test_type_provider.dart'; 19 import 'package:analyzer/src/generated/testing/test_type_provider.dart';
19 import 'package:unittest/unittest.dart'; 20 import 'package:unittest/unittest.dart';
20 21
(...skipping 3675 matching lines...) Expand 10 before | Expand all | Expand 10 after
3696 <LibraryElement>[library, libraryA, libraryAA, libraryB])); 3697 <LibraryElement>[library, libraryA, libraryAA, libraryB]));
3697 } 3698 }
3698 3699
3699 void test_getVisibleLibraries_noImports() { 3700 void test_getVisibleLibraries_noImports() {
3700 AnalysisContext context = createAnalysisContext(); 3701 AnalysisContext context = createAnalysisContext();
3701 LibraryElementImpl library = ElementFactory.library(context, "app"); 3702 LibraryElementImpl library = ElementFactory.library(context, "app");
3702 expect( 3703 expect(
3703 library.visibleLibraries, unorderedEquals(<LibraryElement>[library])); 3704 library.visibleLibraries, unorderedEquals(<LibraryElement>[library]));
3704 } 3705 }
3705 3706
3707 void test_invalidateLibraryCycles_withHandle() {
3708 AnalysisContext context = createAnalysisContext();
3709 context.sourceFactory = new SourceFactory([]);
3710 LibraryElementImpl library = ElementFactory.library(context, "foo");
3711 LibraryElementImpl importedLibrary = ElementFactory.library(context, "bar");
3712 ElementLocation location = new ElementLocationImpl.con2('');
3713 TestElementResynthesizer resynthesizer =
3714 new TestElementResynthesizer(context, {location: importedLibrary});
3715 LibraryElement importedLibraryHandle =
3716 new LibraryElementHandle(resynthesizer, location);
3717 ImportElementImpl import =
3718 ElementFactory.importFor(importedLibraryHandle, null);
3719 library.imports = <ImportElement>[import];
3720 library.libraryCycle; // Force computation of the cycle.
3721
3722 library.invalidateLibraryCycles();
3723 }
3724
3706 void test_isUpToDate() { 3725 void test_isUpToDate() {
3707 AnalysisContext context = createAnalysisContext(); 3726 AnalysisContext context = createAnalysisContext();
3708 context.sourceFactory = new SourceFactory([]); 3727 context.sourceFactory = new SourceFactory([]);
3709 LibraryElement library = ElementFactory.library(context, "foo"); 3728 LibraryElement library = ElementFactory.library(context, "foo");
3710 context.setContents(library.definingCompilationUnit.source, "sdfsdff"); 3729 context.setContents(library.definingCompilationUnit.source, "sdfsdff");
3711 // Assert that we are not up to date if the target has an old time stamp. 3730 // Assert that we are not up to date if the target has an old time stamp.
3712 expect(library.isUpToDate(0), isFalse); 3731 expect(library.isUpToDate(0), isFalse);
3713 // Assert that we are up to date with a target modification time in the 3732 // Assert that we are up to date with a target modification time in the
3714 // future. 3733 // future.
3715 expect(library.isUpToDate(JavaSystem.currentTimeMillis() + 1000), isTrue); 3734 expect(library.isUpToDate(JavaSystem.currentTimeMillis() + 1000), isTrue);
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
3931 { 3950 {
3932 ParameterElement element = unitElement.functions[0].parameters[0]; 3951 ParameterElement element = unitElement.functions[0].parameters[0];
3933 SimpleFormalParameter node = element.computeNode(); 3952 SimpleFormalParameter node = element.computeNode();
3934 expect(node, isNotNull); 3953 expect(node, isNotNull);
3935 expect(node.identifier.name, 'p'); 3954 expect(node.identifier.name, 'p');
3936 expect(node.element, same(element)); 3955 expect(node.element, same(element));
3937 } 3956 }
3938 } 3957 }
3939 } 3958 }
3940 3959
3960 class TestElementResynthesizer extends ElementResynthesizer {
3961 Map<ElementLocation, Element> locationMap;
3962
3963 TestElementResynthesizer(AnalysisContext context, this.locationMap)
3964 : super(context);
3965
3966 @override
3967 Element getElement(ElementLocation location) {
3968 return locationMap[location];
3969 }
3970 }
3971
3941 @reflectiveTest 3972 @reflectiveTest
3942 class TypeParameterTypeImplTest extends EngineTestCase { 3973 class TypeParameterTypeImplTest extends EngineTestCase {
3943 void test_creation() { 3974 void test_creation() {
3944 expect( 3975 expect(
3945 new TypeParameterTypeImpl( 3976 new TypeParameterTypeImpl(
3946 new TypeParameterElementImpl.forNode(AstFactory.identifier3("E"))), 3977 new TypeParameterElementImpl.forNode(AstFactory.identifier3("E"))),
3947 isNotNull); 3978 isNotNull);
3948 } 3979 }
3949 3980
3950 void test_getElement() { 3981 void test_getElement() {
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
4139 } 4170 }
4140 4171
4141 class _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction 4172 class _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction
4142 extends InterfaceTypeImpl { 4173 extends InterfaceTypeImpl {
4143 _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction(ClassElement arg0) 4174 _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction(ClassElement arg0)
4144 : super(arg0); 4175 : super(arg0);
4145 4176
4146 @override 4177 @override
4147 bool get isDartCoreFunction => true; 4178 bool get isDartCoreFunction => true;
4148 } 4179 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/dart/element/element.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698