| Index: pkg/analyzer_experimental/test/generated/resolver_test.dart
|
| diff --git a/pkg/analyzer_experimental/test/generated/resolver_test.dart b/pkg/analyzer_experimental/test/generated/resolver_test.dart
|
| index 701b12828cc3eca57eb8b8cf8195614a17cd06b0..915e08faac4fe7c444a36e03cebc0d412e2098e8 100644
|
| --- a/pkg/analyzer_experimental/test/generated/resolver_test.dart
|
| +++ b/pkg/analyzer_experimental/test/generated/resolver_test.dart
|
| @@ -1500,7 +1500,7 @@ class NonErrorResolverTest extends ResolverTestCase {
|
| void test_nonConstValueInInitializer_binary_bool() {
|
| Source source = addSource(EngineTestCase.createSource(["class A {", " final v;", " const A.a1(bool p) : v = p && true;", " const A.a2(bool p) : v = true && p;", " const A.b1(bool p) : v = p || true;", " const A.b2(bool p) : v = true || p;", "}"]));
|
| resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| verify([source]);
|
| }
|
| void test_nonConstValueInInitializer_binary_dynamic() {
|
| @@ -3519,6 +3519,162 @@ class StaticTypeWarningCodeTest extends ResolverTestCase {
|
| });
|
| }
|
| }
|
| +class HintCodeTest extends ResolverTestCase {
|
| + void test_deadCode_deadBlock_conditionalElse() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " true ? 1 : 2;", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadBlock_conditionalIf() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " false ? 1 : 2;", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadBlock_else() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " if(true) {", " } else {", " }", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadBlock_if() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " if(false) {}", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadBlock_if_nested() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " if(false) {if(false) {}}", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadBlock_while() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " while(false) {}", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadCatch_catchFollowingCatch() {
|
| + Source source = addSource(EngineTestCase.createSource(["class A {}", "f() {", " try {} catch (e) {} catch (e) {}", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE_CATCH_FOLLOWING_CATCH]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadCatch_catchFollowingCatch_object() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " try {} on Object catch (e) {} catch (e) {}", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE_CATCH_FOLLOWING_CATCH]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadCatch_onCatchSubtype() {
|
| + Source source = addSource(EngineTestCase.createSource(["class A {}", "class B extends A {}", "f() {", " try {} on A catch (e) {} on B catch (e) {}", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE_ON_CATCH_SUBTYPE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadOperandLHS_and() {
|
| + Source source = addSource(EngineTestCase.createSource(["f(bool b) {", " bool c = false && b;", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_deadOperandLHS_or() {
|
| + Source source = addSource(EngineTestCase.createSource(["f(bool b) {", " bool c = true || b;", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_statementAfterReturn_function() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " var one = 1;", " return;", " var two = 2;", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_statementAfterReturn_ifStatement() {
|
| + Source source = addSource(EngineTestCase.createSource(["f(bool b) {", " if(b) {", " var one = 1;", " return;", " var two = 2;", " }", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_statementAfterReturn_method() {
|
| + Source source = addSource(EngineTestCase.createSource(["class A {", " m() {", " var one = 1;", " return;", " var two = 2;", " }", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + void test_deadCode_statementAfterReturn_twoReturns() {
|
| + Source source = addSource(EngineTestCase.createSource(["f() {", " var one = 1;", " return;", " var two = 2;", " return;", " var three = 3;", "}"]));
|
| + resolve(source);
|
| + assertErrors([HintCode.DEAD_CODE]);
|
| + verify([source]);
|
| + }
|
| + static dartSuite() {
|
| + _ut.group('HintCodeTest', () {
|
| + _ut.test('test_deadCode_deadBlock_conditionalElse', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadBlock_conditionalElse);
|
| + });
|
| + _ut.test('test_deadCode_deadBlock_conditionalIf', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadBlock_conditionalIf);
|
| + });
|
| + _ut.test('test_deadCode_deadBlock_else', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadBlock_else);
|
| + });
|
| + _ut.test('test_deadCode_deadBlock_if', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadBlock_if);
|
| + });
|
| + _ut.test('test_deadCode_deadBlock_if_nested', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadBlock_if_nested);
|
| + });
|
| + _ut.test('test_deadCode_deadBlock_while', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadBlock_while);
|
| + });
|
| + _ut.test('test_deadCode_deadCatch_catchFollowingCatch', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadCatch_catchFollowingCatch);
|
| + });
|
| + _ut.test('test_deadCode_deadCatch_catchFollowingCatch_object', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadCatch_catchFollowingCatch_object);
|
| + });
|
| + _ut.test('test_deadCode_deadCatch_onCatchSubtype', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadCatch_onCatchSubtype);
|
| + });
|
| + _ut.test('test_deadCode_deadOperandLHS_and', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadOperandLHS_and);
|
| + });
|
| + _ut.test('test_deadCode_deadOperandLHS_or', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadOperandLHS_or);
|
| + });
|
| + _ut.test('test_deadCode_statementAfterReturn_function', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_statementAfterReturn_function);
|
| + });
|
| + _ut.test('test_deadCode_statementAfterReturn_ifStatement', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_statementAfterReturn_ifStatement);
|
| + });
|
| + _ut.test('test_deadCode_statementAfterReturn_method', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_statementAfterReturn_method);
|
| + });
|
| + _ut.test('test_deadCode_statementAfterReturn_twoReturns', () {
|
| + final __test = new HintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_statementAfterReturn_twoReturns);
|
| + });
|
| + });
|
| + }
|
| +}
|
| class TypeResolverVisitorTest extends EngineTestCase {
|
|
|
| /**
|
| @@ -4860,7 +5016,7 @@ class CompileTimeErrorCodeTest extends ResolverTestCase {
|
| void test_constEvalTypeBool_binary_leftTrue() {
|
| Source source = addSource("const C = (true || 0);");
|
| resolve(source);
|
| - assertErrors([CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL, AuditCode.DEAD_CODE]);
|
| + assertErrors([CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL, HintCode.DEAD_CODE]);
|
| verify([source]);
|
| }
|
| void test_constEvalTypeBoolNumString_equal() {
|
| @@ -7673,122 +7829,6 @@ class StaticTypeVerifier extends GeneralizingASTVisitor<Object> {
|
| return "<unknown file- ASTNode is null>";
|
| }
|
| }
|
| -class AuditCodeTest extends ResolverTestCase {
|
| - void test_deadCode_deadBlock_conditionalElse() {
|
| - Source source = addSource(EngineTestCase.createSource(["f() {", " true ? 1 : 2;", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_deadBlock_conditionalIf() {
|
| - Source source = addSource(EngineTestCase.createSource(["f() {", " false ? 1 : 2;", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_deadBlock_else() {
|
| - Source source = addSource(EngineTestCase.createSource(["f() {", " if(true) {", " } else {", " }", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_deadBlock_if() {
|
| - Source source = addSource(EngineTestCase.createSource(["f() {", " if(false) {}", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_deadBlock_while() {
|
| - Source source = addSource(EngineTestCase.createSource(["f() {", " while(false) {}", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_deadOperandLHS_and() {
|
| - Source source = addSource(EngineTestCase.createSource(["f(bool b) {", " bool c = false && b;", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_deadOperandLHS_or() {
|
| - Source source = addSource(EngineTestCase.createSource(["f(bool b) {", " bool c = true || b;", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_statementAfterReturn_function() {
|
| - Source source = addSource(EngineTestCase.createSource(["f() {", " var one = 1;", " return;", " var two = 2;", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_statementAfterReturn_ifStatement() {
|
| - Source source = addSource(EngineTestCase.createSource(["f(bool b) {", " if(b) {", " var one = 1;", " return;", " var two = 2;", " }", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_statementAfterReturn_method() {
|
| - Source source = addSource(EngineTestCase.createSource(["class A {", " m() {", " var one = 1;", " return;", " var two = 2;", " }", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - void test_deadCode_statementAfterReturn_twoReturns() {
|
| - Source source = addSource(EngineTestCase.createSource(["f() {", " var one = 1;", " return;", " var two = 2;", " return;", " var three = 3;", "}"]));
|
| - resolve(source);
|
| - assertErrors([AuditCode.DEAD_CODE]);
|
| - verify([source]);
|
| - }
|
| - static dartSuite() {
|
| - _ut.group('AuditCodeTest', () {
|
| - _ut.test('test_deadCode_deadBlock_conditionalElse', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_deadBlock_conditionalElse);
|
| - });
|
| - _ut.test('test_deadCode_deadBlock_conditionalIf', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_deadBlock_conditionalIf);
|
| - });
|
| - _ut.test('test_deadCode_deadBlock_else', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_deadBlock_else);
|
| - });
|
| - _ut.test('test_deadCode_deadBlock_if', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_deadBlock_if);
|
| - });
|
| - _ut.test('test_deadCode_deadBlock_while', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_deadBlock_while);
|
| - });
|
| - _ut.test('test_deadCode_deadOperandLHS_and', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_deadOperandLHS_and);
|
| - });
|
| - _ut.test('test_deadCode_deadOperandLHS_or', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_deadOperandLHS_or);
|
| - });
|
| - _ut.test('test_deadCode_statementAfterReturn_function', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_statementAfterReturn_function);
|
| - });
|
| - _ut.test('test_deadCode_statementAfterReturn_ifStatement', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_statementAfterReturn_ifStatement);
|
| - });
|
| - _ut.test('test_deadCode_statementAfterReturn_method', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_statementAfterReturn_method);
|
| - });
|
| - _ut.test('test_deadCode_statementAfterReturn_twoReturns', () {
|
| - final __test = new AuditCodeTest();
|
| - runJUnitTest(__test, __test.test_deadCode_statementAfterReturn_twoReturns);
|
| - });
|
| - });
|
| - }
|
| -}
|
| /**
|
| * The class `StrictModeTest` contains tests to ensure that the correct errors and warnings
|
| * are reported when the analysis engine is run in strict mode.
|
| @@ -10691,12 +10731,7 @@ class ResolutionVerifier extends RecursiveASTVisitor<Object> {
|
| * Initialize a newly created verifier to verify that all of the nodes in the visited AST
|
| * structures that are expected to have been resolved have an element associated with them.
|
| */
|
| - ResolutionVerifier() {
|
| - _jtd_constructor_366_impl();
|
| - }
|
| - _jtd_constructor_366_impl() {
|
| - _jtd_constructor_367_impl(null);
|
| - }
|
| + ResolutionVerifier() : this.con1(null);
|
|
|
| /**
|
| * Initialize a newly created verifier to verify that all of the identifiers in the visited AST
|
| @@ -10707,11 +10742,8 @@ class ResolutionVerifier extends RecursiveASTVisitor<Object> {
|
| * @param knownExceptions a set containing nodes that are known to not be resolvable and should
|
| * therefore not cause the test to fail
|
| **/
|
| - ResolutionVerifier.con1(Set<ASTNode> knownExceptions2) {
|
| - _jtd_constructor_367_impl(knownExceptions2);
|
| - }
|
| - _jtd_constructor_367_impl(Set<ASTNode> knownExceptions2) {
|
| - this._knownExceptions = knownExceptions2;
|
| + ResolutionVerifier.con1(Set<ASTNode> knownExceptions) {
|
| + this._knownExceptions = knownExceptions;
|
| }
|
|
|
| /**
|
| @@ -11945,6 +11977,22 @@ class StaticTypeAnalyzerTest extends EngineTestCase {
|
| });
|
| }
|
| }
|
| +class NonHintCodeTest extends ResolverTestCase {
|
| + void test_deadCode_deadCatch_onCatchSubtype() {
|
| + Source source = addSource(EngineTestCase.createSource(["class A {}", "class B extends A {}", "f() {", " try {} on B catch (e) {} on A catch (e) {} catch (e) {}", "}"]));
|
| + resolve(source);
|
| + assertNoErrors();
|
| + verify([source]);
|
| + }
|
| + static dartSuite() {
|
| + _ut.group('NonHintCodeTest', () {
|
| + _ut.test('test_deadCode_deadCatch_onCatchSubtype', () {
|
| + final __test = new NonHintCodeTest();
|
| + runJUnitTest(__test, __test.test_deadCode_deadCatch_onCatchSubtype);
|
| + });
|
| + });
|
| + }
|
| +}
|
| class EnclosedScopeTest extends ResolverTestCase {
|
| void test_define_duplicate() {
|
| LibraryElement definingLibrary2 = createTestLibrary();
|
| @@ -12820,9 +12868,10 @@ main() {
|
| // LibraryImportScopeTest.dartSuite();
|
| // LibraryScopeTest.dartSuite();
|
| // ScopeTest.dartSuite();
|
| -// AuditCodeTest.dartSuite();
|
| // CompileTimeErrorCodeTest.dartSuite();
|
| // ErrorResolverTest.dartSuite();
|
| +// HintCodeTest.dartSuite();
|
| +// NonHintCodeTest.dartSuite();
|
| // NonErrorResolverTest.dartSuite();
|
| // SimpleResolverTest.dartSuite();
|
| // StaticTypeWarningCodeTest.dartSuite();
|
|
|