blob: aecf8ce675210ab45cb4388ff278d0c9f80dbc09 [file] [log] [blame]
// Test case for Issue 548:
// https://github.com/typetools/checker-framework/issues/548
public class TryFinallyContinue {
String testWhile1() {
String ans = "x";
while (true) {
if (true) {
// :: error: (return)
return ans;
}
if (true) {
try {
continue;
} finally {
ans = null;
}
}
ans = "x";
}
}
String testWhile2(boolean cond) {
String ans = "x";
while (cond) {
if (true) {
return ans;
}
try {
ans = null;
continue;
} finally {
ans = "x";
}
}
return ans;
}
String testWhile3(boolean cond) {
String ans = "x";
OUTER:
while (true) {
if (true) {
// :: error: (return)
return ans;
}
try {
while (cond) {
if (true) {
try {
continue OUTER;
} finally {
ans = "x";
}
}
}
} finally {
ans = null;
}
ans = "x";
}
}
String testFor1() {
String ans = "x";
for (; ; ) {
if (true) {
// :: error: (return)
return ans;
}
if (true) {
try {
continue;
} finally {
ans = null;
}
}
ans = "x";
}
}
String testFor2(boolean cond) {
String ans = "x";
for (; cond; ) {
if (true) {
return ans;
}
try {
ans = null;
continue;
} finally {
ans = "x";
}
}
return ans;
}
String testFor3(boolean cond) {
String ans = "x";
OUTER:
for (; ; ) {
if (true) {
// :: error: (return)
return ans;
}
try {
for (; cond; ) {
if (true) {
try {
continue OUTER;
} finally {
ans = "x";
}
}
}
} finally {
ans = null;
}
ans = "x";
}
}
}