public void recordVariableType(@NotNull DfaVariableValue dfaVar, @NotNull DfType type) {
    dfaVar = canonicalize(dfaVar);
    type = type.getBasicType();
    if (type.equals(dfaVar.getInherentType())) {
      myVariableTypes.remove(dfaVar);
    } else {
      myVariableTypes.put(dfaVar, type);
    }
    if (type instanceof DfEphemeralType) {
      markEphemeral();
    }
    myCachedHash = null;
  }
public void recordVariableType(@NotNull DfaVariableValue dfaVar, @NotNull DfType type)