import checkers.nullness.quals.*;
import java.util.*;
class FlowCompound {
public boolean equals(Object o) {
return o != null && this.getClass() != o.getClass();
}
void test() {
String s = "foo";
if (s == null || s.length() > 0) {
@NonNull String test = s;
}
String tmp;
@NonNull String notNull;
tmp = "hello";
notNull = tmp;
notNull = tmp = "hello";
}
public static boolean equal(@Nullable Object a, @Nullable Object b) {
assert b != null : "suppress nullness";
return a == b || (a != null && a.equals(b));
}
public static void testCompoundAssignmentWithString() {
String s = "m";
s += "n";
s.toString();
}
public static void testCompoundAssignmentWithChar() {
String s = "m";
s += 'n';
s.toString();
}
public static void testCompoundAssignWithNull() {
String s = "m";
s += null;
s.toString();
}
public static void testPrimitiveArray() {
int[] a = {0};
a[0] += 2;
System.out.println(a[0]);
}
public static void testPrimitive() {
Integer i = 1;
i -= 2;
}
}