c825188cd8
Add support for 'var' in implicitly typed local variable declarations Reviewed-by: vromero, jlahoda
48 lines
957 B
Java
48 lines
957 B
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 8177466
|
|
* @summary Add compiler support for local variable type-inference
|
|
* @compile/fail/ref=FoldingTest.out -XDrawDiagnostics FoldingTest.java
|
|
*/
|
|
class FoldingTest {
|
|
|
|
void testReachability() {
|
|
for(var i = 0; i < 3; i++) {
|
|
// ok
|
|
}
|
|
System.out.println("foo"); //this should be reachable
|
|
}
|
|
|
|
void testCase(String s) {
|
|
var c = "";
|
|
final String c2 = "" + c;
|
|
switch (s) {
|
|
case c: break; //error!
|
|
case c2: break; //error!
|
|
}
|
|
}
|
|
|
|
void testAnno() {
|
|
@Anno1(s1) //error
|
|
var s1 = "";
|
|
@Anno2(s2) //error
|
|
var s2 = "";
|
|
@Anno3(s3) //error
|
|
var s3 = "";
|
|
}
|
|
|
|
@interface Anno1 {
|
|
String value();
|
|
}
|
|
@interface Anno2 {
|
|
Class<?> value();
|
|
}
|
|
@interface Anno3 {
|
|
Foo value();
|
|
}
|
|
|
|
enum Foo {
|
|
A, B;
|
|
}
|
|
}
|