package jetbrains.mps.baseLanguage.dataFlow;
/*Generated by MPS */
public enum NullableState {
NULLABLE(),
NOTNULL(),
UNKNOWN(),
NOT_INIT(),
NULL();
NullableState() {
}
public NullableState merge(NullableState state) {
if (this.equals(state)) {
return this;
}
if (this.equals(NullableState.NOT_INIT)) {
return state;
}
if (state.equals(NullableState.NOT_INIT)) {
return this;
}
if (state.equals(NullableState.UNKNOWN) && this.equals(NullableState.NOTNULL)) {
return NullableState.UNKNOWN;
}
if (state.equals(NullableState.NOTNULL) && this.equals(NullableState.UNKNOWN)) {
return NullableState.UNKNOWN;
}
return NullableState.NULLABLE;
}
public static boolean canBeNull(NullableState state) {
if (state == null) {
return false;
}
return state.equals(NullableState.NULL) || state.equals(NullableState.NULLABLE);
}
}