boolean (@NotNull DfaMemoryState memState, @NotNull DfaValue array, @NotNull DfaValue index) { DfaValueFactory factory = index.getFactory(); DfaValue length = getLengthDescriptor().createValue(factory, array); DfaCondition lengthMoreThanZero = length.cond(RelationType.GT, intValue(0)); if (!memState.applyCondition(lengthMoreThanZero)) return false; DfaCondition indexNonNegative = index.cond(RelationType.GE, intValue(0)); if (!memState.applyCondition(indexNonNegative)) return false; DfaCondition indexLessThanLength = index.cond(RelationType.LT, length); if (!memState.applyCondition(indexLessThanLength)) return false; return true; }