Files
Tagir Valeev 2350d69472 [java-highlighting] JavaCompilationErrorBundle.properties proofreading (DOC-34381)
GitOrigin-RevId: 05bdca159a63027ea0d1e3d767d4adb9b258f47e
2025-02-14 12:45:24 +00:00

59 lines
2.0 KiB
Java

import java.io.IOException;
class TryWithResources {
final AutoCloseable f1 = null;
AutoCloseable f2 = null;
void testFields() throws Exception {
try (f1; <error descr="Variable used as a try-with-resources resource should be final or effectively final">f2</error>) { }
catch (Exception ignore) { }
}
void testLocalVars() throws Exception {
final AutoCloseable r1 = null;
AutoCloseable r2 = null;
AutoCloseable r3 = null;
AutoCloseable r4; r4 = null;
try (r1; r2; r4; <error descr="Variable used as a try-with-resources resource should be final or effectively final">r3</error>) { }
r3 = null;
}
void testType() throws Exception {
String s = "";
try (<error descr="Incompatible types. Found: 'java.lang.String', required: 'java.lang.AutoCloseable'">s;</error>
<error descr="Incompatible types. Found: 'TryWithResources', required: 'java.lang.AutoCloseable'">this</error>) { }
}
void testUnhandled() {
class Resource implements AutoCloseable {
@Override public void close() throws IOException { }
}
Resource r = new Resource();
try (<error descr="Unhandled exception from auto-closeable resource: java.io.IOException">r</error>) { }
}
void testResolve() throws Exception {
try (<error descr="Cannot resolve symbol 'r'">r</error>; AutoCloseable r = null) { }
try (AutoCloseable r = null; r) { }
}
void testUnassigned() throws Exception {
AutoCloseable r;
try (<error descr="Variable 'r' might not have been initialized">r</error>) {
System.out.println(r);
}
}
static class Resource implements AutoCloseable {
static Resource create() {
return new Resource();
}
@Override public void close() { }
}
void testMoreUsefulParseForIncorrectExpression() {
try (<error descr="Declaration, final, or effectively final variable expected">new Resource()</error>) {}
try (<error descr="Declaration, final, or effectively final variable expected">Resource.create()</error>) {}
}
}