Files
sdk/pkg/analyzer/test/generated/strong_mode_driver_test.dart
T
Mike Fairhurst bd757f9948 Redo #28580: instantiate bounds to bounds.
One thing to be careful of here is that function type bounds may be
left unbounded. However, their parameters and return type cannot refer
to a type parameter for resolve-to-bounds to work.

There are also a large number of ways that this can loop infinitely, and
a number of new guards had to be added (as well as some test cases) to
catch them all.

Change-Id: I14322f5f71d1f7b73b27a870553e5c588b2c7e2e
Reviewed-on: https://dart-review.googlesource.com/52062
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-04-20 17:25:09 +00:00

88 lines
2.5 KiB
Dart

// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// 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:test_reflective_loader/test_reflective_loader.dart';
import 'strong_mode_test.dart';
main() {
defineReflectiveSuite(() {
defineReflectiveTests(StrongModeLocalInferenceTest_Driver);
defineReflectiveTests(StrongModeStaticTypeAnalyzer2Test_Driver);
defineReflectiveTests(StrongModeTypePropagationTest_Driver);
});
}
@reflectiveTest
class StrongModeLocalInferenceTest_Driver extends StrongModeLocalInferenceTest {
@override
bool get enableNewAnalysisDriver => true;
}
@reflectiveTest
class StrongModeStaticTypeAnalyzer2Test_Driver
extends StrongModeStaticTypeAnalyzer2Test {
@override
bool get enableNewAnalysisDriver => true;
@failingTest
@override
test_genericFunction_parameter() {
return super.test_genericFunction_parameter();
}
@failingTest
@override
test_genericMethod_functionExpressionInvocation_functionTypedParameter_explicit() {
return super
.test_genericMethod_functionExpressionInvocation_functionTypedParameter_explicit();
}
@failingTest
@override
test_genericMethod_functionExpressionInvocation_functionTypedParameter_inferred() {
return super
.test_genericMethod_functionExpressionInvocation_functionTypedParameter_inferred();
}
@failingTest
@override
test_genericMethod_functionInvocation_functionTypedParameter_explicit() {
return super
.test_genericMethod_functionInvocation_functionTypedParameter_explicit();
}
@failingTest
@override
test_genericMethod_functionInvocation_functionTypedParameter_inferred() {
return super
.test_genericMethod_functionInvocation_functionTypedParameter_inferred();
}
@failingTest
@override
test_genericMethod_functionTypedParameter_tearoff() {
return super.test_genericMethod_functionTypedParameter_tearoff();
}
@override
test_notInstantiatedBound_class_error_recursion() {
// overridden because not failing
return super.test_notInstantiatedBound_class_error_recursion();
}
@override
test_notInstantiatedBound_class_error_recursion_less_direct() {
// overridden because not failing
return super.test_notInstantiatedBound_class_error_recursion_less_direct();
}
}
@reflectiveTest
class StrongModeTypePropagationTest_Driver
extends StrongModeTypePropagationTest {
@override
bool get enableNewAnalysisDriver => true;
}