mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-26 03:51:12 +07:00
Resolve as many references as possible in order to keep the GoToSymbol action available but move invalid references in pattern matching for switch to the highlighter pass as the code review suggests GitOrigin-RevId: 2339b7c9cd02b0d1e3c793c30a8a3338c28c9b73
53 lines
1.3 KiB
Java
53 lines
1.3 KiB
Java
class Main {
|
|
|
|
void statement(Object o) {
|
|
switch (o) {
|
|
case Integer n && n > 1:
|
|
break;
|
|
case Integer n && n < 1:
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
int expression(Object o) {
|
|
return switch (o) {
|
|
case Integer n && n > 1 -> n;
|
|
case Integer n && n < 1 -> n;
|
|
default -> 0;
|
|
};
|
|
}
|
|
|
|
int nestedExpression(Object o, Object o2, int p) {
|
|
int m = 0;
|
|
return switch (o) {
|
|
case Integer n && n > 1 -> switch(o2) {
|
|
case Integer <error descr="Variable 'm' is already defined in the scope">m</error> && m > 0 -> m + n;
|
|
case Integer <error descr="Variable 'p' is already defined in the scope">p</error> -> p + n;
|
|
default -> 0;
|
|
};
|
|
case Integer n && n < 1 -> n;
|
|
default -> 0;
|
|
};
|
|
}
|
|
|
|
void nestedStatement(Object o, Object o2, int p) {
|
|
int m = 0;
|
|
switch (o) {
|
|
case Integer n && n < 1:
|
|
n ++;
|
|
case Integer n && n > 1:
|
|
switch(o2) {
|
|
case Integer <error descr="Variable 'm' is already defined in the scope">m</error> && m > 0:
|
|
m += n;
|
|
case Integer <error descr="Variable 'p' is already defined in the scope">p</error> && p > 0:
|
|
p += n + m;
|
|
break;
|
|
case Integer p1:
|
|
p += n + m + p1;
|
|
};
|
|
break;
|
|
};
|
|
}
|
|
} |