mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 12:48:10 +00:00
Switch InheritanceManager2Test to DriverResolutionTest.
R=brianwilkerson@google.com Change-Id: I21b39555f6b7975fd8e621aba80e23e4878dd2c3 Reviewed-on: https://dart-review.googlesource.com/c/78924 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
parent
e221a6288b
commit
bc4d2f5d1b
|
@ -2,16 +2,11 @@
|
|||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
import 'package:analyzer/dart/element/element.dart';
|
||||
import 'package:analyzer/dart/element/type.dart';
|
||||
import 'package:analyzer/src/dart/analysis/driver.dart';
|
||||
import 'package:analyzer/src/dart/element/inheritance_manager2.dart';
|
||||
import 'package:analyzer/src/generated/resolver.dart';
|
||||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
import '../analysis/base.dart';
|
||||
import '../resolution/find_element.dart';
|
||||
import '../resolution/driver_resolution.dart';
|
||||
|
||||
main() {
|
||||
defineReflectiveSuite(() {
|
||||
|
@ -20,39 +15,36 @@ main() {
|
|||
}
|
||||
|
||||
@reflectiveTest
|
||||
class InheritanceManager2Test extends BaseAnalysisDriverTest {
|
||||
AnalysisResult result;
|
||||
FindElement findElement;
|
||||
class InheritanceManager2Test extends DriverResolutionTest {
|
||||
InheritanceManager2 manager;
|
||||
|
||||
TypeProvider get typeProvider =>
|
||||
result.unit.declaredElement.context.typeProvider;
|
||||
|
||||
Future resolveTestFile() async {
|
||||
result = await driver.getResult(testFile);
|
||||
findElement = new FindElement(result.unit);
|
||||
manager =
|
||||
new InheritanceManager2(result.unit.declaredElement.context.typeSystem);
|
||||
@override
|
||||
Future<void> resolveTestFile() async {
|
||||
await super.resolveTestFile();
|
||||
manager = new InheritanceManager2(
|
||||
result.unit.declaredElement.context.typeSystem,
|
||||
);
|
||||
}
|
||||
|
||||
void test_computeNode_ClassDeclaration() async {
|
||||
void test_getMember_() async {
|
||||
addTestFile('''
|
||||
abstract class I1 {
|
||||
void f(int i);
|
||||
}
|
||||
|
||||
abstract class I2 {
|
||||
void f(Object o);
|
||||
}
|
||||
|
||||
abstract class C implements I1, I2 {}
|
||||
''');
|
||||
await resolveTestFile();
|
||||
ClassElement c = findElement.class_('C');
|
||||
FunctionType memberType =
|
||||
manager.getMember(c.type, new Name(c.library.source.uri, 'f'));
|
||||
expect(memberType, isNotNull);
|
||||
expect(memberType.parameters, hasLength(1));
|
||||
DartType parameterType = memberType.parameters[0].type;
|
||||
expect(parameterType.name, 'Object');
|
||||
|
||||
var memberType = manager.getMember(
|
||||
findElement.class_('C').type,
|
||||
new Name(null, 'f'),
|
||||
);
|
||||
assertElementTypeString(memberType, '(Object) → void');
|
||||
}
|
||||
|
||||
test_preferLatest_mixin() async {
|
||||
|
|
Loading…
Reference in a new issue