@@ -1680,12 +1680,7 @@ module Make<
16801680 cached
16811681 private newtype TNode =
16821682 TWriteDefSource ( WriteDefinition def ) { DfInput:: ssaDefHasSource ( def ) } or
1683- TExprNode ( DfInput:: Expr e , SourceVariable v , Boolean isPost ) {
1684- exists ( Definition def |
1685- def .getSourceVariable ( ) = v and
1686- e = DfInput:: getARead ( def )
1687- )
1688- } or
1683+ TExprNode ( DfInput:: Expr e , Boolean isPost ) { e = DfInput:: getARead ( _) } or
16891684 TSsaDefinitionNode ( DefinitionExt def ) {
16901685 not phiHasUniqNextNode ( def ) and
16911686 if DfInput:: includeWriteDefsInFlowStep ( )
@@ -1735,9 +1730,8 @@ module Make<
17351730 abstract private class ExprNodePreOrPostImpl extends NodeImpl , TExprNode {
17361731 DfInput:: Expr e ;
17371732 boolean isPost ;
1738- SourceVariable v_ ;
17391733
1740- ExprNodePreOrPostImpl ( ) { this = TExprNode ( e , v_ , isPost ) }
1734+ ExprNodePreOrPostImpl ( ) { this = TExprNode ( e , isPost ) }
17411735
17421736 /** Gets the underlying expression. */
17431737 DfInput:: Expr getExpr ( ) { result = e }
@@ -1748,9 +1742,6 @@ module Make<
17481742 result = bb .getNode ( i ) .getLocation ( )
17491743 )
17501744 }
1751-
1752- /** Gets the variable accessed at this expression. */
1753- SourceVariable getSourceVariable ( ) { result = v_ }
17541745 }
17551746
17561747 final class ExprNodePreOrPost = ExprNodePreOrPostImpl ;
@@ -1769,7 +1760,7 @@ module Make<
17691760 ExprPostUpdateNodeImpl ( ) { isPost = true }
17701761
17711762 /** Gets the pre-update expression node. */
1772- ExprNode getPreUpdateNode ( ) { result = TExprNode ( e , _ , false ) }
1763+ ExprNode getPreUpdateNode ( ) { result = TExprNode ( e , false ) }
17731764
17741765 override string toString ( ) { result = e .toString ( ) + " [postupdate]" }
17751766 }
@@ -1779,6 +1770,7 @@ module Make<
17791770 private class ReadNodeImpl extends ExprNodeImpl {
17801771 private BasicBlock bb_ ;
17811772 private int i_ ;
1773+ private SourceVariable v_ ;
17821774
17831775 ReadNodeImpl ( ) {
17841776 variableRead ( bb_ , i_ , v_ , true ) and
0 commit comments