335 List<String> unr = getState().unresolvedDependencies((VarSnippet) undefKey).collect(toList());; |
335 List<String> unr = getState().unresolvedDependencies((VarSnippet) undefKey).collect(toList());; |
336 assertEquals(unr.size(), 1); |
336 assertEquals(unr.size(), 1); |
337 assertEquals(unr.get(0), "class undefined"); |
337 assertEquals(unr.get(0), "class undefined"); |
338 assertVariables(variable("undefined", "d")); |
338 assertVariables(variable("undefined", "d")); |
339 } |
339 } |
|
340 |
|
341 public void lvti() { |
|
342 assertEval("var d = 234;", "234"); |
|
343 assertEval("class Test<T> { T[][] get() { return null; } }", added(VALID)); |
|
344 assertEval("Test<? extends String> test() { return new Test<>(); }", added(VALID)); |
|
345 assertEval("var t = test().get();", added(VALID)); |
|
346 assertEval("<Z extends Runnable & CharSequence> Z get1() { return null; }", added(VALID)); |
|
347 assertEval("var i1 = get1();", added(VALID)); |
|
348 assertEval("void t1() { i1.run(); i1.length(); }", added(VALID)); |
|
349 assertEval("i1 = 1;", DiagCheck.DIAG_ERROR, DiagCheck.DIAG_OK, ste(MAIN_SNIPPET, NONEXISTENT, REJECTED, false, null)); |
|
350 assertEval("<Z extends Number & CharSequence> Z get2() { return null; }", added(VALID)); |
|
351 assertEval("var i2 = get2();", added(VALID)); |
|
352 assertEval("void t2() { i2.length(); }", added(VALID)); |
|
353 assertEval("var r1 = new Runnable() { public void run() { } public String get() { return \"good\"; } };", added(VALID)); |
|
354 assertEval("Runnable r2 = r1;"); |
|
355 assertEval("r1.get()", "\"good\""); |
|
356 assertEval("var v = r1.get();", "\"good\""); |
|
357 assertEval("var r3 = new java.util.ArrayList<String>(42) { public String get() { return \"good\"; } };", added(VALID)); |
|
358 assertEval("r3.get()", "\"good\""); |
|
359 assertEval("class O { public class Inner { public String test() { return \"good\"; } } }"); |
|
360 assertEval("var r4 = new O().new Inner() { public String get() { return \"good\"; } };"); |
|
361 assertEval("r4.get()", "\"good\""); |
|
362 assertEval("class O2 { public class Inner { public Inner(int i) { } public String test() { return \"good\"; } } }"); |
|
363 assertEval("var r5 = new O2().new Inner(1) { public String get() { return \"good\"; } };"); |
|
364 assertEval("r5.get()", "\"good\""); |
|
365 } |
340 } |
366 } |