public class FieldOverwrite {
int val;
int val2;
int[] data;
public FieldOverwrite(int field) {
this.val = 123;
this.val = field;
}
void testArray() {
data = new int[] {10, 20, 30, 40};
}
void twiceAssignment() {
val = val = 1;
val2 = val2 += 2;
}
void increment() {
val++;
val=2;
val+=3;
val=4;
}
void use() {
val = 1;
val = calc(2);
}
void branches(boolean b) {
val = 1;
if (b) {
val = 2;
}
}
void branches2(boolean b) {
val = 1;
if (b) {
val = 2;
} else {
val = 3;
}
}
void diamondBranches(boolean b) {
if (b) {
val = 2;
} else {
val2 = 2;
}
if (b) {
val = 3;
} else {
val2 = 3;
}
}
void diamondBranchesOk(boolean b) {
if (b) {
val = 2;
} else {
val2 = 2;
}
if (!b) {
val = 3;
} else {
val2 = 3;
}
}
int calc(int x) {
return val * x;
}
private int getVal() {
return val;
}
void noUseInlining() {
val2 = 1;
val2 = getVal();
}
void test(FieldOverwrite fo) {
val = 1;
val = 2;
fo.val = 3;
fo.val = 4;
}
// IDEA-195460
private int intField;
private static int intStaticField;
public void main() {
int intVar = 0;
intVar = intVar++;
System.out.println(intVar);
intField = 0;
intField = intField++;
System.out.println(intField);
intStaticField = 0;
intStaticField = intStaticField++;
System.out.println(intStaticField);
}
void testUseStatic() {
intStaticField = 1;
useStatic();
intStaticField = 2;
}
void writeByRange(int x) {
if (x > 0) {
val = 1;
}
if (x > 10) {
val = 2;
}
}
void writeByRange2(int x) {
if (x > 10) {
val = 2;
}
if (x > 0) {
val = 1;
}
}
static void useStatic() {
System.out.println(intStaticField);
}
}