@@ -83,7 +83,7 @@ final class ParameterPosition extends TParameterPosition {
83
83
result = "self" and this .isSelf ( )
84
84
}
85
85
86
- AstNode getParameterIn ( ParamList ps ) {
86
+ ParamBase getParameterIn ( ParamList ps ) {
87
87
result = ps .getParam ( this .getPosition ( ) )
88
88
or
89
89
result = ps .getSelfParam ( ) and this .isSelf ( )
@@ -181,28 +181,17 @@ module Node {
181
181
PatCfgNode getPat ( ) { result = n }
182
182
}
183
183
184
- abstract class ParameterNode extends AstCfgFlowNode { }
185
-
186
184
/**
187
185
* The value of a parameter at function entry, viewed as a node in a data
188
186
* flow graph.
189
187
*/
190
- final class PositionalParameterNode extends ParameterNode , TParameterNode {
191
- override ParamCfgNode n ;
188
+ final class ParameterNode extends AstCfgFlowNode , TParameterNode {
189
+ override ParamBaseCfgNode n ;
192
190
193
- PositionalParameterNode ( ) { this = TParameterNode ( n ) }
191
+ ParameterNode ( ) { this = TParameterNode ( n ) }
194
192
195
193
/** 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 }
206
195
}
207
196
208
197
final class ArgumentNode extends ExprNode {
@@ -284,7 +273,7 @@ module SsaFlow {
284
273
private module SsaFlow = SsaImpl:: DataFlowIntegration;
285
274
286
275
private Node:: ParameterNode toParameterNode ( ParamCfgNode p ) {
287
- result .( Node:: PositionalParameterNode ) .getParameter ( ) = p
276
+ result .( Node:: ParameterNode ) .getParameter ( ) = p
288
277
}
289
278
290
279
/** Converts a control flow node into an SSA control flow node. */
@@ -333,7 +322,7 @@ module LocalFlow {
333
322
nodeFrom .( Node:: AstCfgFlowNode ) .getCfgNode ( ) =
334
323
nodeTo .( Node:: SsaNode ) .getDefinitionExt ( ) .( Ssa:: WriteDefinition ) .getControlFlowNode ( )
335
324
or
336
- nodeFrom .( Node:: PositionalParameterNode ) .getParameter ( ) .getPat ( ) =
325
+ nodeFrom .( Node:: ParameterNode ) .getParameter ( ) . ( ParamCfgNode ) .getPat ( ) =
337
326
nodeTo .( Node:: PatNode ) .getPat ( )
338
327
or
339
328
SsaFlow:: localFlowStep ( _, nodeFrom , nodeTo , _)
@@ -559,8 +548,7 @@ private module Cached {
559
548
cached
560
549
newtype TNode =
561
550
TExprNode ( ExprCfgNode n ) or
562
- TParameterNode ( ParamCfgNode p ) or
563
- TSelfParameterNode ( SelfParamCfgNode p ) or
551
+ TParameterNode ( ParamBaseCfgNode p ) or
564
552
TPatNode ( PatCfgNode p ) or
565
553
TArgumentPostUpdateNode ( ExprCfgNode e ) { isArgumentForCall ( e , _, _) } or
566
554
TSsaNode ( SsaImpl:: DataFlowIntegration:: SsaNode node )
0 commit comments