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

Unified Diff: pkg/analyzer/test/generated/hint_code_test.dart

Issue 2045693002: Fix @protected checks to play nice with generic supers (linter#257). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/test/generated/hint_code_test.dart
diff --git a/pkg/analyzer/test/generated/hint_code_test.dart b/pkg/analyzer/test/generated/hint_code_test.dart
index e384012bee17432a83dda2bcdde52074cff5667b..77b127fe4ca8a12414c1c1879e0015a818363cb4 100644
--- a/pkg/analyzer/test/generated/hint_code_test.dart
+++ b/pkg/analyzer/test/generated/hint_code_test.dart
@@ -21,33 +21,6 @@ main() {
@reflectiveTest
class HintCodeTest extends ResolverTestCase {
- void test_deadCode_statementAfterRethrow() {
- Source source = addSource(r'''
-f() {
- try {
- var one = 1;
- } catch (e) {
- rethrow;
- var two = 2;
- }
-}''');
- computeLibrarySourceErrors(source);
- assertErrors(source, [HintCode.DEAD_CODE]);
- verify([source]);
- }
-
- void test_deadCode_statementAfterThrow() {
- Source source = addSource(r'''
-f() {
- var one = 1;
- throw 'Stop here';
- var two = 2;
-}''');
- computeLibrarySourceErrors(source);
- assertErrors(source, [HintCode.DEAD_CODE]);
- verify([source]);
- }
-
void fail_isInt() {
Source source = addSource("var v = 1 is int;");
computeLibrarySourceErrors(source);
@@ -553,6 +526,36 @@ f(v) {
verify([source]);
}
+ void test_deadCode_statementAfterExitingIf_returns() {
+ Source source = addSource(r'''
+f() {
+ if (1 > 2) {
+ return;
+ } else {
+ return;
+ }
+ var one = 1;
+}''');
+ computeLibrarySourceErrors(source);
+ assertErrors(source, [HintCode.DEAD_CODE]);
+ verify([source]);
+ }
+
+ void test_deadCode_statementAfterRethrow() {
+ Source source = addSource(r'''
+f() {
+ try {
+ var one = 1;
+ } catch (e) {
+ rethrow;
+ var two = 2;
+ }
+}''');
+ computeLibrarySourceErrors(source);
+ assertErrors(source, [HintCode.DEAD_CODE]);
+ verify([source]);
+ }
+
void test_deadCode_statementAfterReturn_function() {
Source source = addSource(r'''
f() {
@@ -619,15 +622,12 @@ f() {
verify([source]);
}
- void test_deadCode_statementAfterExitingIf_returns() {
+ void test_deadCode_statementAfterThrow() {
Source source = addSource(r'''
f() {
- if (1 > 2) {
- return;
- } else {
- return;
- }
var one = 1;
+ throw 'Stop here';
+ var two = 2;
}''');
computeLibrarySourceErrors(source);
assertErrors(source, [HintCode.DEAD_CODE]);
@@ -1044,6 +1044,23 @@ main() {
verify([source]);
}
+ void test_invalidUseOfProtectedMember_closure() {
+ Source source = addSource(r'''
+import 'package:meta/meta.dart';
+
+class A {
+ @protected
+ int a() => 42;
+}
+void main() {
+ var leak = new A().a;
+ print(leak);
+}''');
+ computeLibrarySourceErrors(source);
+ assertErrors(source, [HintCode.INVALID_USE_OF_PROTECTED_MEMBER]);
+ verify([source]);
+ }
+
void test_invalidUseOfProtectedMember_field() {
Source source = addSource(r'''
import 'package:meta/meta.dart';
@@ -1105,23 +1122,6 @@ abstract class B implements A {
verify([source]);
}
- void test_invalidUseOfProtectedMember_closure() {
- Source source = addSource(r'''
-import 'package:meta/meta.dart';
-
-class A {
- @protected
- int a() => 42;
-}
-void main() {
- var leak = new A().a;
- print(leak);
-}''');
- computeLibrarySourceErrors(source);
- assertErrors(source, [HintCode.INVALID_USE_OF_PROTECTED_MEMBER]);
- verify([source]);
- }
-
void test_invalidUseOfProtectedMember_getter() {
Source source = addSource(r'''
import 'package:meta/meta.dart';
@@ -1184,6 +1184,29 @@ class B {
verify([source]);
}
+ void test_invalidUseOfProtectedMember_method_OK() {
+ // https://github.com/dart-lang/linter/issues/257
+ Source source = addSource(r'''
+import 'package:meta/meta.dart';
+
+typedef void VoidCallback();
+
+class State<E> {
+ @protected
+ void setState(VoidCallback fn) {}
+}
+
+class Button extends State<Object> {
+ void handleSomething() {
+ setState(() {});
+ }
+}
+''');
+ computeLibrarySourceErrors(source);
+ assertNoErrors(source);
+ verify([source]);
+ }
+
void test_invalidUseOfProtectedMember_OK_1() {
Source source = addSource(r'''
import 'package:meta/meta.dart';
« pkg/analyzer/lib/src/generated/resolver.dart ('K') | « pkg/analyzer/lib/src/generated/resolver.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698