@@ -20,13 +20,19 @@ private newtype TNode =
2020 TInstanceParameterNode ( Callable c ) { exists ( c .getBody ( ) ) and not c .isStatic ( ) } or
2121 TImplicitInstanceAccess ( InstanceAccessExt ia ) { not ia .isExplicit ( _) } or
2222 TMallocNode ( ClassInstanceExpr cie ) or
23- TExplicitArgPostCall ( Expr e ) { explicitInstanceArgument ( _, e ) or e instanceof Argument } or
24- TImplicitArgPostCall ( InstanceAccessExt ia ) { implicitInstanceArgument ( _, ia ) } or
25- TExplicitStoreTarget ( Expr e ) {
26- exists ( FieldAccess fa | instanceFieldAssign ( _, fa ) and e = fa .getQualifier ( ) )
23+ TExplicitExprPostUpdate ( Expr e ) {
24+ explicitInstanceArgument ( _, e )
25+ or
26+ e instanceof Argument
27+ or
28+ exists ( FieldAccess fa | fa .getField ( ) instanceof InstanceField and e = fa .getQualifier ( ) )
2729 } or
28- TImplicitStoreTarget ( InstanceAccessExt ia ) {
29- exists ( FieldAccess fa | instanceFieldAssign ( _, fa ) and ia .isImplicitFieldQualifier ( fa ) )
30+ TImplicitExprPostUpdate ( InstanceAccessExt ia ) {
31+ implicitInstanceArgument ( _, ia )
32+ or
33+ exists ( FieldAccess fa |
34+ fa .getField ( ) instanceof InstanceField and ia .isImplicitFieldQualifier ( fa )
35+ )
3036 }
3137
3238/**
@@ -257,23 +263,13 @@ abstract private class ImplicitPostUpdateNode extends PostUpdateNode {
257263 override string toString ( ) { result = getPreUpdateNode ( ) .toString ( ) + " [post update]" }
258264}
259265
260- private class ExplicitArgPostCall extends ImplicitPostUpdateNode , TExplicitArgPostCall {
261- override Node getPreUpdateNode ( ) { this = TExplicitArgPostCall ( result .asExpr ( ) ) }
262- }
263-
264- private class ImplicitArgPostCall extends ImplicitPostUpdateNode , TImplicitArgPostCall {
265- override Node getPreUpdateNode ( ) {
266- this = TImplicitArgPostCall ( result .( ImplicitInstanceAccess ) .getInstanceAccess ( ) )
267- }
268- }
269-
270- private class ExplicitStoreTarget extends ImplicitPostUpdateNode , TExplicitStoreTarget {
271- override Node getPreUpdateNode ( ) { this = TExplicitStoreTarget ( result .asExpr ( ) ) }
266+ private class ExplicitExprPostUpdate extends ImplicitPostUpdateNode , TExplicitExprPostUpdate {
267+ override Node getPreUpdateNode ( ) { this = TExplicitExprPostUpdate ( result .asExpr ( ) ) }
272268}
273269
274- private class ImplicitStoreTarget extends ImplicitPostUpdateNode , TImplicitStoreTarget {
270+ private class ImplicitExprPostUpdate extends ImplicitPostUpdateNode , TImplicitExprPostUpdate {
275271 override Node getPreUpdateNode ( ) {
276- this = TImplicitStoreTarget ( result .( ImplicitInstanceAccess ) .getInstanceAccess ( ) )
272+ this = TImplicitExprPostUpdate ( result .( ImplicitInstanceAccess ) .getInstanceAccess ( ) )
277273 }
278274}
279275
0 commit comments