import org.checkerframework.checker.nullness.qual.*;
import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf;
public class AssertParameterNullness {
/** True iff both sequences are non-null and have the same length. */
@EnsuresNonNullIf(
result = true,
expression = {"#1", "#2"}
)
/* pure */ public static boolean sameLength(
final boolean @Nullable [] seq1, final boolean @Nullable [] seq2) {
if ((seq1 != null) && (seq2 != null) && seq1.length == seq2.length) {
return true;
}
return false;
}
/* pure */ public static boolean pairwiseEqual(
boolean @Nullable [] seq3, boolean @Nullable [] seq4) {
if (sameLength(seq3, seq4)) {
boolean b1 = seq3[0];
boolean b2 = seq4[0];
} else {
//:: error: (accessing.nullable)
boolean b1 = seq3[0];
//:: error: (accessing.nullable)
boolean b2 = seq4[0];
}
return true;
}
}