@@ -83,7 +83,7 @@ final class ParameterPosition extends TParameterPosition {
8383 result = "self" and this .isSelf ( )
8484 }
8585
86- AstNode getParameterIn ( ParamList ps ) {
86+ ParamBase getParameterIn ( ParamList ps ) {
8787 result = ps .getParam ( this .getPosition ( ) )
8888 or
8989 result = ps .getSelfParam ( ) and this .isSelf ( )
@@ -181,28 +181,17 @@ module Node {
181181 PatCfgNode getPat ( ) { result = n }
182182 }
183183
184- abstract class ParameterNode extends AstCfgFlowNode { }
185-
186184 /**
187185 * The value of a parameter at function entry, viewed as a node in a data
188186 * flow graph.
189187 */
190- final class PositionalParameterNode extends ParameterNode , TParameterNode {
191- override ParamCfgNode n ;
188+ final class ParameterNode extends AstCfgFlowNode , TParameterNode {
189+ override ParamBaseCfgNode n ;
192190
193- PositionalParameterNode ( ) { this = TParameterNode ( n ) }
191+ ParameterNode ( ) { this = TParameterNode ( n ) }
194192
195193 /** Gets the parameter in the CFG that this node corresponds to. */
196- ParamCfgNode getParameter ( ) { result = n }
197- }
198-
199- final class SelfParameterNode extends ParameterNode , TSelfParameterNode {
200- override SelfParamCfgNode n ;
201-
202- SelfParameterNode ( ) { this = TSelfParameterNode ( n ) }
203-
204- /** Gets the self parameter in the AST that this node corresponds to. */
205- SelfParamCfgNode getSelfParameter ( ) { result = n }
194+ ParamBaseCfgNode getParameter ( ) { result = n }
206195 }
207196
208197 final class ArgumentNode extends ExprNode {
@@ -284,7 +273,7 @@ module SsaFlow {
284273 private module SsaFlow = SsaImpl:: DataFlowIntegration;
285274
286275 private Node:: ParameterNode toParameterNode ( ParamCfgNode p ) {
287- result .( Node:: PositionalParameterNode ) .getParameter ( ) = p
276+ result .( Node:: ParameterNode ) .getParameter ( ) = p
288277 }
289278
290279 /** Converts a control flow node into an SSA control flow node. */
@@ -333,7 +322,7 @@ module LocalFlow {
333322 nodeFrom .( Node:: AstCfgFlowNode ) .getCfgNode ( ) =
334323 nodeTo .( Node:: SsaNode ) .getDefinitionExt ( ) .( Ssa:: WriteDefinition ) .getControlFlowNode ( )
335324 or
336- nodeFrom .( Node:: PositionalParameterNode ) .getParameter ( ) .getPat ( ) =
325+ nodeFrom .( Node:: ParameterNode ) .getParameter ( ) . ( ParamCfgNode ) .getPat ( ) =
337326 nodeTo .( Node:: PatNode ) .getPat ( )
338327 or
339328 SsaFlow:: localFlowStep ( _, nodeFrom , nodeTo , _)
@@ -559,8 +548,7 @@ private module Cached {
559548 cached
560549 newtype TNode =
561550 TExprNode ( ExprCfgNode n ) or
562- TParameterNode ( ParamCfgNode p ) or
563- TSelfParameterNode ( SelfParamCfgNode p ) or
551+ TParameterNode ( ParamBaseCfgNode p ) or
564552 TPatNode ( PatCfgNode p ) or
565553 TArgumentPostUpdateNode ( ExprCfgNode e ) { isArgumentForCall ( e , _, _) } or
566554 TSsaNode ( SsaImpl:: DataFlowIntegration:: SsaNode node )
0 commit comments