41 import org.testng.annotations.Test; |
41 import org.testng.annotations.Test; |
42 |
42 |
43 import jdk.jshell.Diag; |
43 import jdk.jshell.Diag; |
44 import static jdk.jshell.Snippet.Status.VALID; |
44 import static jdk.jshell.Snippet.Status.VALID; |
45 import static jdk.jshell.Snippet.Status.RECOVERABLE_NOT_DEFINED; |
45 import static jdk.jshell.Snippet.Status.RECOVERABLE_NOT_DEFINED; |
|
46 import static jdk.jshell.Snippet.Status.RECOVERABLE_DEFINED; |
46 import static jdk.jshell.Snippet.Status.DROPPED; |
47 import static jdk.jshell.Snippet.Status.DROPPED; |
47 import static jdk.jshell.Snippet.Status.REJECTED; |
48 import static jdk.jshell.Snippet.Status.REJECTED; |
|
49 import static jdk.jshell.Snippet.Status.OVERWRITTEN; |
48 import static jdk.jshell.Snippet.SubKind.*; |
50 import static jdk.jshell.Snippet.SubKind.*; |
49 import static org.testng.Assert.assertEquals; |
51 import static org.testng.Assert.assertEquals; |
50 import static org.testng.Assert.assertTrue; |
52 import static org.testng.Assert.assertTrue; |
51 import static jdk.jshell.Snippet.Status.OVERWRITTEN; |
|
52 |
53 |
53 @Test |
54 @Test |
54 public class ClassesTest extends KullaTesting { |
55 public class ClassesTest extends KullaTesting { |
55 |
56 |
56 public void noClasses() { |
57 public void noClasses() { |
80 |
81 |
81 public void testSignature2() { |
82 public void testSignature2() { |
82 TypeDeclSnippet c1 = (TypeDeclSnippet) assertDeclareFail("class A { void f() { return g(); } }", "compiler.err.prob.found.req"); |
83 TypeDeclSnippet c1 = (TypeDeclSnippet) assertDeclareFail("class A { void f() { return g(); } }", "compiler.err.prob.found.req"); |
83 assertTypeDeclSnippet(c1, "A", REJECTED, CLASS_SUBKIND, 0, 2); |
84 assertTypeDeclSnippet(c1, "A", REJECTED, CLASS_SUBKIND, 0, 2); |
84 TypeDeclSnippet c2 = classKey(assertEval("class A { int f() { return g(); } }", |
85 TypeDeclSnippet c2 = classKey(assertEval("class A { int f() { return g(); } }", |
85 ste(c1, REJECTED, RECOVERABLE_NOT_DEFINED, false, null))); |
86 ste(c1, REJECTED, RECOVERABLE_DEFINED, true, null))); |
86 assertTypeDeclSnippet(c2, "A", RECOVERABLE_NOT_DEFINED, CLASS_SUBKIND, 1, 0); |
87 assertTypeDeclSnippet(c2, "A", RECOVERABLE_DEFINED, CLASS_SUBKIND, 1, 0); |
87 assertDrop(c2, |
88 assertDrop(c2, |
88 ste(c2, RECOVERABLE_NOT_DEFINED, DROPPED, false, null)); |
89 ste(c2, RECOVERABLE_DEFINED, DROPPED, true, null)); |
89 } |
90 } |
90 |
91 |
91 public void classDeclaration() { |
92 public void classDeclaration() { |
92 assertEval("class A { }"); |
93 assertEval("class A { }"); |
93 assertClasses(clazz(KullaTesting.ClassType.CLASS, "A")); |
94 assertClasses(clazz(KullaTesting.ClassType.CLASS, "A")); |