Failed
org.eclipse.jdt.core.tests.compiler.regression.ProblemTypeAndMethodTest.test116b - 1.8 (from org.eclipse.jdt.core.tests.compiler.regression.TestAll)
Error Message
test116b - Eclipse found error(s) but Javac only found warning(s). ----------- Expected ------------ ----------\n 1. ERROR in X.java (at line 4)\n public void bar1(int i) {\n ^^^^^^^^^^^\n The method bar1(int) from the type X can potentially be declared as static\n ----------\n 2. ERROR in X.java (at line 13)\n public void bar4(int i) {\n ^^^^^^^^^^^\n The method bar4(int) from the type X can potentially be declared as static\n ----------\n 3. ERROR in X.java (at line 16)\n public void bar5(int i) {\n ^^^^^^^^^^^\n The method bar5(int) from the type X can potentially be declared as static\n ----------\n 4. ERROR in X.java (at line 20)\n public void bar6(int i) {\n ^^^^^^^^^^^\n The method bar6(int) from the type X can potentially be declared as static\n ----------\n 5. ERROR in X.java (at line 23)\n public void bar7(int i) {\n ^^^^^^^^^^^\n The method bar7(int) from the type X can potentially be declared as static\n ----------\n 6. ERROR in X.java (at line 29)\n public void bar9(int i) {\n ^^^^^^^^^^^\n The method bar9(int) from the type X can potentially be declared as static\n ----------\n ------------ but was ------------ X.java:8: warning: [static] static method should be qualified by type name, X, instead of by an expression\n this.baz();\n ^\n X.java:11: warning: [static] static variable should be qualified by type name, X, instead of by an expression\n this.xfield.baz();\n ^\n X.java:11: warning: [static] static method should be qualified by type name, X, instead of by an expression\n this.xfield.baz();\n ^\n X.java:14: warning: [static] static method should be qualified by type name, X, instead of by an expression\n xfield.baz();\n ^\n X.java:18: warning: [static] static method should be qualified by type name, X, instead of by an expression\n x.baz();\n ^\n X.java:21: warning: [static] static method should be qualified by type name, X, instead of by an expression\n A.xA.baz();\n ^\n X.java:27: warning: [static] static method should be qualified by type name, B, instead of by an expression\n this.b1();\n ^\n X.java:30: warning: [static] static method should be qualified by type name, B, instead of by an expression\n new X().b1();\n ^\n 8 warnings\n --------- Difference is ---------- expected:<[----------\n 1. ERROR in X.java (at line 4)\n public void bar1(int i) {\n ^^^^^^^^^^^\n The method bar1(int) from the type X can potentially be declared as static\n ----------\n 2. ERROR in X.java (at line 13)\n public void bar4(int i) {\n ^^^^^^^^^^^\n The method bar4(int) from the type X can potentially be declared as static\n ----------\n 3. ERROR in X.java (at line 16)\n public void bar5(int i) {\n ^^^^^^^^^^^\n The method bar5(int) from the type X can potentially be declared as static\n ----------\n 4. ERROR in X.java (at line 20)\n public void bar6(int i) {\n ^^^^^^^^^^^\n The method bar6(int) from the type X can potentially be declared as static\n ----------\n 5. ERROR in X.java (at line 23)\n public void bar7(int i) {\n ^^^^^^^^^^^\n The method bar7(int) from the type X can potentially be declared as static\n ----------\n 6. ERROR in X.java (at line 29)\n public void bar9(int i) {\n ^^^^^^^^^^^\n The method bar9(int) from the type X can potentially be declared as static\n ----------]\n > but was:<[X.java:8: warning: [static] static method should be qualified by type name, X, instead of by an expression\n this.baz();\n ^\n X.java:11: warning: [static] static variable should be qualified by type name, X, instead of by an expression\n this.xfield.baz();\n ^\n X.java:11: warning: [static] static method should be qualified by type name, X, instead of by an expression\n this.xfield.baz();\n ^\n X.java:14: warning: [static] static method should be qualified by type name, X, instead of by an expression\n xfield.baz();\n ^\n X.java:18: warning: [static] static method should be qualified by type name, X, instead of by an expression\n x.baz();\n ^\n X.java:21: warning: [static] static method should be qualified by type name, X, instead of by an expression\n A.xA.baz();\n ^\n X.java:27: warning: [static] static method should be qualified by type name, B, instead of by an expression\n this.b1();\n ^\n X.java:30: warning: [static] static method should be qualified by type name, B, instead of by an expression\n new X().b1();\n ^\n 8 warnings]\n >
Stacktrace
junit.framework.ComparisonFailure: test116b - Eclipse found error(s) but Javac only found warning(s). ----------- Expected ------------ ----------\n 1. ERROR in X.java (at line 4)\n public void bar1(int i) {\n ^^^^^^^^^^^\n The method bar1(int) from the type X can potentially be declared as static\n ----------\n 2. ERROR in X.java (at line 13)\n public void bar4(int i) {\n ^^^^^^^^^^^\n The method bar4(int) from the type X can potentially be declared as static\n ----------\n 3. ERROR in X.java (at line 16)\n public void bar5(int i) {\n ^^^^^^^^^^^\n The method bar5(int) from the type X can potentially be declared as static\n ----------\n 4. ERROR in X.java (at line 20)\n public void bar6(int i) {\n ^^^^^^^^^^^\n The method bar6(int) from the type X can potentially be declared as static\n ----------\n 5. ERROR in X.java (at line 23)\n public void bar7(int i) {\n ^^^^^^^^^^^\n The method bar7(int) from the type X can potentially be declared as static\n ----------\n 6. ERROR in X.java (at line 29)\n public void bar9(int i) {\n ^^^^^^^^^^^\n The method bar9(int) from the type X can potentially be declared as static\n ----------\n ------------ but was ------------ X.java:8: warning: [static] static method should be qualified by type name, X, instead of by an expression\n this.baz();\n ^\n X.java:11: warning: [static] static variable should be qualified by type name, X, instead of by an expression\n this.xfield.baz();\n ^\n X.java:11: warning: [static] static method should be qualified by type name, X, instead of by an expression\n this.xfield.baz();\n ^\n X.java:14: warning: [static] static method should be qualified by type name, X, instead of by an expression\n xfield.baz();\n ^\n X.java:18: warning: [static] static method should be qualified by type name, X, instead of by an expression\n x.baz();\n ^\n X.java:21: warning: [static] static method should be qualified by type name, X, instead of by an expression\n A.xA.baz();\n ^\n X.java:27: warning: [static] static method should be qualified by type name, B, instead of by an expression\n this.b1();\n ^\n X.java:30: warning: [static] static method should be qualified by type name, B, instead of by an expression\n new X().b1();\n ^\n 8 warnings\n --------- Difference is ---------- expected:<[----------\n 1. ERROR in X.java (at line 4)\n public void bar1(int i) {\n ^^^^^^^^^^^\n The method bar1(int) from the type X can potentially be declared as static\n ----------\n 2. ERROR in X.java (at line 13)\n public void bar4(int i) {\n ^^^^^^^^^^^\n The method bar4(int) from the type X can potentially be declared as static\n ----------\n 3. ERROR in X.java (at line 16)\n public void bar5(int i) {\n ^^^^^^^^^^^\n The method bar5(int) from the type X can potentially be declared as static\n ----------\n 4. ERROR in X.java (at line 20)\n public void bar6(int i) {\n ^^^^^^^^^^^\n The method bar6(int) from the type X can potentially be declared as static\n ----------\n 5. ERROR in X.java (at line 23)\n public void bar7(int i) {\n ^^^^^^^^^^^\n The method bar7(int) from the type X can potentially be declared as static\n ----------\n 6. ERROR in X.java (at line 29)\n public void bar9(int i) {\n ^^^^^^^^^^^\n The method bar9(int) from the type X can potentially be declared as static\n ----------]\n > but was:<[X.java:8: warning: [static] static method should be qualified by type name, X, instead of by an expression\n this.baz();\n ^\n X.java:11: warning: [static] static variable should be qualified by type name, X, instead of by an expression\n this.xfield.baz();\n ^\n X.java:11: warning: [static] static method should be qualified by type name, X, instead of by an expression\n this.xfield.baz();\n ^\n X.java:14: warning: [static] static method should be qualified by type name, X, instead of by an expression\n xfield.baz();\n ^\n X.java:18: warning: [static] static method should be qualified by type name, X, instead of by an expression\n x.baz();\n ^\n X.java:21: warning: [static] static method should be qualified by type name, X, instead of by an expression\n A.xA.baz();\n ^\n X.java:27: warning: [static] static method should be qualified by type name, B, instead of by an expression\n this.b1();\n ^\n X.java:30: warning: [static] static method should be qualified by type name, B, instead of by an expression\n new X().b1();\n ^\n 8 warnings]\n > at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:260) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:236) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runJavac(AbstractRegressionTest.java:2048) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2814) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2539) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runNegativeTest(AbstractRegressionTest.java:2220) at org.eclipse.jdt.core.tests.compiler.regression.ProblemTypeAndMethodTest.test116b(ProblemTypeAndMethodTest.java:6241)
Standard Output
org.eclipse.jdt.core.tests.compiler.regression.ProblemTypeAndMethodTest#test116b - 1.8 X.java [ public class X extends B{ public static int field1; public static X xfield; public void bar1(int i) { baz(); } public void bar2(int i) { this.baz(); } public void bar3(int i) { this.xfield.baz(); } public void bar4(int i) { xfield.baz(); } public void bar5(int i) { X x = new X(); x.baz(); } public void bar6(int i) { A.xA.baz(); } public void bar7(int i) { b1(); } public void bar8(int i) { this.b1(); } public void bar9(int i) { new X().b1(); } public static void baz() { } } class A{ public static X xA; } class B{ public static void b1(){ } } ] Full results sent to /tmp/comptest/run.1514610271420/1.8.0_131_20171230_000432.txt
Standard Error
--- javac err: --- X.java:8: warning: [static] static method should be qualified by type name, X, instead of by an expression this.baz(); ^ X.java:11: warning: [static] static variable should be qualified by type name, X, instead of by an expression this.xfield.baz(); ^ X.java:11: warning: [static] static method should be qualified by type name, X, instead of by an expression this.xfield.baz(); ^ X.java:14: warning: [static] static method should be qualified by type name, X, instead of by an expression xfield.baz(); ^ X.java:18: warning: [static] static method should be qualified by type name, X, instead of by an expression x.baz(); ^ X.java:21: warning: [static] static method should be qualified by type name, X, instead of by an expression A.xA.baz(); ^ X.java:27: warning: [static] static method should be qualified by type name, B, instead of by an expression this.b1(); ^ X.java:30: warning: [static] static method should be qualified by type name, B, instead of by an expression new X().b1(); ^ 8 warnings ----------------------------------------