void (DfaValueFactory factory, DfaMemoryState state, DfaCallArguments arguments) { DfaVariableValue size = tryCast(COLLECTION_SIZE.createValue(factory, arguments.myQualifier), DfaVariableValue.class); if (size != null) { DfIntType sizeType = tryCast(state.getDfType(size), DfIntType.class); DfType resultSize = COLLECTION_SIZE.getDefaultValue(); if (sizeType != null) { LongRangeSet newSize = sizeType.getRange().fromRelation(RelationType.LE).meet(JvmPsiRangeSetUtil.indexRange()); resultSize = sizeType.join(DfTypes.intRange(newSize)); } updateState(state, size, resultSize); } }