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

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

Issue 2647833002: fix #28008, fix #28009 implement FutureOr<T> (Closed)
Patch Set: Merge remote-tracking branch 'origin/master' into 28008_futureort Created 3 years, 10 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) 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/constant/value.dart'; 8 import 'package:analyzer/dart/constant/value.dart';
9 import 'package:analyzer/dart/element/element.dart'; 9 import 'package:analyzer/dart/element/element.dart';
10 import 'package:analyzer/dart/element/type.dart'; 10 import 'package:analyzer/dart/element/type.dart';
(...skipping 1802 matching lines...) Expand 10 before | Expand all | Expand 10 after
1813 expect(VoidTypeImpl.instance == s.returnType, isTrue); 1813 expect(VoidTypeImpl.instance == s.returnType, isTrue);
1814 expect(t.isSubtypeOf(s), isTrue); 1814 expect(t.isSubtypeOf(s), isTrue);
1815 } 1815 }
1816 1816
1817 void test_isSubtypeOf_returnType_tAssignableToS() { 1817 void test_isSubtypeOf_returnType_tAssignableToS() {
1818 // B extends A 1818 // B extends A
1819 // () -> A <: () -> B 1819 // () -> A <: () -> B
1820 // () -> B <: () -> A 1820 // () -> B <: () -> A
1821 ClassElement a = ElementFactory.classElement2("A"); 1821 ClassElement a = ElementFactory.classElement2("A");
1822 ClassElement b = ElementFactory.classElement("B", a.type); 1822 ClassElement b = ElementFactory.classElement("B", a.type);
1823 FunctionType t = ElementFactory.functionElement2("t", a).type; 1823 FunctionType t = ElementFactory.functionElement2("t", a.type).type;
1824 FunctionType s = ElementFactory.functionElement2("s", b).type; 1824 FunctionType s = ElementFactory.functionElement2("s", b.type).type;
1825 expect(t.isSubtypeOf(s), isTrue); 1825 expect(t.isSubtypeOf(s), isTrue);
1826 expect(s.isSubtypeOf(t), isTrue); 1826 expect(s.isSubtypeOf(t), isTrue);
1827 } 1827 }
1828 1828
1829 void test_isSubtypeOf_returnType_tNotAssignableToS() { 1829 void test_isSubtypeOf_returnType_tNotAssignableToS() {
1830 // ! () -> A <: () -> B 1830 // ! () -> A <: () -> B
1831 FunctionType t = ElementFactory 1831 FunctionType t = ElementFactory
1832 .functionElement2("t", ElementFactory.classElement2("A")) 1832 .functionElement2("t", ElementFactory.classElement2("A").type)
1833 .type; 1833 .type;
1834 FunctionType s = ElementFactory 1834 FunctionType s = ElementFactory
1835 .functionElement2("s", ElementFactory.classElement2("B")) 1835 .functionElement2("s", ElementFactory.classElement2("B").type)
1836 .type; 1836 .type;
1837 expect(t.isSubtypeOf(s), isFalse); 1837 expect(t.isSubtypeOf(s), isFalse);
1838 } 1838 }
1839 1839
1840 void test_isSubtypeOf_typeParameters_matchesBounds() { 1840 void test_isSubtypeOf_typeParameters_matchesBounds() {
1841 TestTypeProvider provider = new TestTypeProvider(); 1841 TestTypeProvider provider = new TestTypeProvider();
1842 InterfaceType boolType = provider.boolType; 1842 InterfaceType boolType = provider.boolType;
1843 InterfaceType stringType = provider.stringType; 1843 InterfaceType stringType = provider.stringType;
1844 TypeParameterElementImpl parameterB = 1844 TypeParameterElementImpl parameterB =
1845 new TypeParameterElementImpl.forNode(AstTestFactory.identifier3("B")); 1845 new TypeParameterElementImpl.forNode(AstTestFactory.identifier3("B"));
(...skipping 2642 matching lines...) Expand 10 before | Expand all | Expand 10 after
4488 } 4488 }
4489 4489
4490 class _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction 4490 class _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction
4491 extends InterfaceTypeImpl { 4491 extends InterfaceTypeImpl {
4492 _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction(ClassElement arg0) 4492 _FunctionTypeImplTest_isSubtypeOf_baseCase_classFunction(ClassElement arg0)
4493 : super(arg0); 4493 : super(arg0);
4494 4494
4495 @override 4495 @override
4496 bool get isDartCoreFunction => true; 4496 bool get isDartCoreFunction => true;
4497 } 4497 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/src/context/mock_sdk.dart ('k') | pkg/analyzer/test/src/summary/resynthesize_ast_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698