DfaMemoryStateImpl () { DfaMemoryStateImpl copy = createCopy(); copy.flushFields(new QualifierStatusMap(null, true)); copy.emptyStack(); for (DfaValue value : getFactory().getValues().toArray(DfaValue.EMPTY_ARRAY)) { if (value instanceof DfaVariableValue var) { DfType type = copy.getDfType(var); DfType newType = type.correctForClosure(); if (newType != type) { copy.recordVariableType(var, newType); } } } return copy; }