@@ -168,12 +168,11 @@ public Abstraction deriveNewAbstraction(AccessPath p, Stmt currentStmt) {
168168 return deriveNewAbstraction (p , currentStmt , isImplicit );
169169 }
170170
171- public Abstraction deriveNewAbstraction (AccessPath p , Stmt currentStmt , boolean isImplicit ) {
172- // If the new abstraction looks exactly like the current one, there is
173- // no need to create a new object
174- if (this .accessPath .equals (p ) && this .currentStmt == currentStmt && this .isImplicit == isImplicit )
175- return this ;
171+ public Abstraction deriveDefinitelyNewAbstraction (AccessPath p , Stmt currentStmt ) {
172+ return deriveDefinitelyNewAbstraction (p , currentStmt , isImplicit );
173+ }
176174
175+ public Abstraction deriveDefinitelyNewAbstraction (AccessPath p , Stmt currentStmt , boolean isImplicit ) {
177176 Abstraction abs = deriveNewAbstractionMutable (p , currentStmt );
178177 if (abs == null )
179178 return null ;
@@ -182,6 +181,15 @@ public Abstraction deriveNewAbstraction(AccessPath p, Stmt currentStmt, boolean
182181 return abs ;
183182 }
184183
184+ public Abstraction deriveNewAbstraction (AccessPath p , Stmt currentStmt , boolean isImplicit ) {
185+ // If the new abstraction looks exactly like the current one, there is
186+ // no need to create a new object
187+ if (this .accessPath .equals (p ) && this .currentStmt == currentStmt && this .isImplicit == isImplicit )
188+ return this ;
189+
190+ return deriveDefinitelyNewAbstraction (p , currentStmt , isImplicit );
191+ }
192+
185193 protected Abstraction deriveNewAbstractionMutable (AccessPath p , Stmt currentStmt ) {
186194 // An abstraction needs an access path
187195 if (p == null )
0 commit comments