diff --git a/java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaMemoryStateImpl.java b/java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaMemoryStateImpl.java index b9c031b7be60..5248baeaab47 100644 --- a/java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaMemoryStateImpl.java +++ b/java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaMemoryStateImpl.java @@ -77,15 +77,8 @@ public class DfaMemoryStateImpl implements DfaMemoryState { newState.myEqClasses.add(aClass != null ? new SortedIntSet(aClass.toNativeArray()) : null); } - try { - for (Object o : myVariableStates.keySet()) { - DfaVariableValue dfaVariableValue = (DfaVariableValue)o; - DfaVariableState clone = (DfaVariableState)myVariableStates.get(dfaVariableValue).clone(); - newState.myVariableStates.put(dfaVariableValue, clone); - } - } - catch (CloneNotSupportedException e) { - LOG.error(e); + for (DfaVariableValue dfaVariableValue : myVariableStates.keySet()) { + newState.myVariableStates.put(dfaVariableValue, myVariableStates.get(dfaVariableValue).clone()); } return newState; } @@ -280,13 +273,7 @@ public class DfaMemoryStateImpl implements DfaMemoryState { applyCondition(dfaEqual); if (value instanceof DfaVariableValue) { - try { - DfaVariableState newState = (DfaVariableState)getVariableState((DfaVariableValue)value).clone(); - myVariableStates.put(var, newState); - } - catch (CloneNotSupportedException e) { - LOG.error(e); - } + myVariableStates.put(var, getVariableState((DfaVariableValue)value).clone()); } } diff --git a/java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaVariableState.java b/java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaVariableState.java index 582acf041841..c457d6e539b6 100644 --- a/java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaVariableState.java +++ b/java/java-impl/src/com/intellij/codeInspection/dataFlow/DfaVariableState.java @@ -114,7 +114,7 @@ public class DfaVariableState implements Cloneable { myNullable == aState.myNullable; } - protected Object clone() throws CloneNotSupportedException { + protected DfaVariableState clone() { return new DfaVariableState(this); } diff --git a/java/java-impl/src/com/intellij/codeInspection/dataFlow/ValuableDataFlowRunner.java b/java/java-impl/src/com/intellij/codeInspection/dataFlow/ValuableDataFlowRunner.java index 8ae655d475b9..d715f7637c9d 100644 --- a/java/java-impl/src/com/intellij/codeInspection/dataFlow/ValuableDataFlowRunner.java +++ b/java/java-impl/src/com/intellij/codeInspection/dataFlow/ValuableDataFlowRunner.java @@ -67,7 +67,7 @@ public class ValuableDataFlowRunner extends AnnotationsAwareDataFlowRunner { return myValue; } - protected Object clone() throws CloneNotSupportedException { + protected ValuableDfaVariableState clone() { return new ValuableDfaVariableState(this); } }