mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
150 lines
2.9 KiB
Java
150 lines
2.9 KiB
Java
// vars double initialization
|
|
import java.io.*;
|
|
import java.net.*;
|
|
public class a21 {
|
|
|
|
void f1(int i) {
|
|
final int j;
|
|
j = 2;
|
|
<error descr="Variable 'j' might already have been assigned to">j</error> = 2;
|
|
}
|
|
void f2(int i) {
|
|
final int j;
|
|
if (i==3) j = 2;
|
|
else j = 5;
|
|
<error descr="Variable 'j' might already have been assigned to">j</error> = 2;
|
|
}
|
|
void f3(int i) {
|
|
final int j;
|
|
if (i==4) j = 2;
|
|
<error descr="Variable 'j' might already have been assigned to">j</error> = 2;
|
|
}
|
|
void f5(int i) {
|
|
final int j;
|
|
j = 2;
|
|
if (i==3) return;
|
|
<error descr="Variable 'j' might already have been assigned to">j</error> = 2;
|
|
}
|
|
void f6(int i) {
|
|
final int j;
|
|
switch (i) {
|
|
case 1: j = 2;
|
|
}
|
|
<error descr="Variable 'j' might already have been assigned to">j</error> = 2;
|
|
}
|
|
void f7(int i) {
|
|
final int j;
|
|
while (i < 4) {
|
|
<error descr="Variable 'j' might be assigned in loop">j</error> = 2;
|
|
final int ii = 4;
|
|
i+=ii;
|
|
}
|
|
|
|
}
|
|
void f8(String k) {
|
|
if (k != null) {
|
|
final String i;
|
|
if (k.equals("!")) i = "3";
|
|
if (k.equals("!")) <error descr="Variable 'i' might already have been assigned to">i</error> = "2";
|
|
}
|
|
|
|
}
|
|
|
|
void f9() {
|
|
final Object type;
|
|
try {
|
|
type = null;
|
|
}
|
|
catch (Exception e) {
|
|
<error descr="Variable 'type' might already have been assigned to">type</error> = null;
|
|
}
|
|
}
|
|
|
|
void f10() {
|
|
final int k;
|
|
if (false) {
|
|
k=0;
|
|
//< error descr="Variable 'k' might already have been assigned to">k< /error>=0;
|
|
}
|
|
}
|
|
|
|
class Foo {
|
|
final int k;
|
|
Foo() {
|
|
k=0;
|
|
<error descr="Variable 'k' might already have been assigned to">k</error>=0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
void cf1(int i) {
|
|
final int j;
|
|
final int j1 = 3;
|
|
j = 5;
|
|
final int unused;
|
|
final int j2;
|
|
if (j == 3) j2 = 4;
|
|
final int j3;
|
|
if (j==4) j3 = 5;
|
|
else j3 = 6;
|
|
final int j4 = j3 + 6;
|
|
final int j5;
|
|
while (i != 9) {
|
|
if (j == 8) {
|
|
j5 = 9;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
final boolean FB = true;
|
|
|
|
void cf2() {
|
|
final int k;
|
|
if (!FB) {
|
|
k = 4;
|
|
}
|
|
// < error descr="Variable 'k' might already have been assigned to">k< /error>=0;
|
|
}
|
|
|
|
|
|
// todo:
|
|
// in IDEA Variable 'b' might not have been initialized
|
|
// in javac: OK
|
|
/*
|
|
void f2() {
|
|
boolean b;
|
|
boolean c = true;
|
|
if (c && false) {
|
|
c = b;
|
|
}
|
|
}
|
|
*/
|
|
|
|
}
|
|
|
|
|
|
class A {
|
|
final int k;
|
|
A() {
|
|
for (;;) {
|
|
<error descr="Variable 'k' might be assigned in loop">k</error>=0;
|
|
}
|
|
}
|
|
}
|
|
|
|
class Example {
|
|
public int method(boolean b) {
|
|
if (b) {
|
|
final int indent;
|
|
indent = 0;
|
|
|
|
return 0;
|
|
}
|
|
else {
|
|
new <error>Runnable</error>(){}<EOLError/>
|
|
}
|
|
<error>}</error>
|
|
} |