@@ -10,14 +10,16 @@ private predicate hasParameterBlockImpl(Internal::Parameter p, ParamBlock block,
1010 param_block_parameter ( block , i , p )
1111}
1212
13- private predicate hasParameterBlockExcludingPipelineImpl (
13+ private predicate hasParameterBlockExcludingPipelinesImpl (
1414 Internal:: Parameter p , ParamBlock block , int i
1515) {
1616 p =
1717 rank [ i + 1 ] ( Internal:: Parameter cand , int j |
1818 hasParameterBlockImpl ( cand , block , j ) and
1919 not cand .getAnAttribute ( ) .( Attribute ) .getANamedArgument ( ) instanceof
20- ValueFromPipelineAttribute
20+ ValueFromPipelineAttribute and
21+ not cand .getAnAttribute ( ) .( Attribute ) .getANamedArgument ( ) instanceof
22+ ValueFromPipelineByPropertyName
2123 |
2224 cand order by j
2325 )
@@ -69,7 +71,7 @@ private class ParameterImpl extends TParameterImpl {
6971
7072 predicate hasParameterBlock ( ParamBlock block , int i ) { none ( ) }
7173
72- predicate hasParameterBlockExcludingPipeline ( ParamBlock block , int i ) { none ( ) }
74+ predicate hasParameterBlockExcludingPipelines ( ParamBlock block , int i ) { none ( ) }
7375
7476 predicate isFunctionParameter ( Function f , int i ) { none ( ) }
7577
@@ -84,6 +86,8 @@ private class ParameterImpl extends TParameterImpl {
8486 }
8587
8688 abstract predicate isPipeline ( ) ;
89+
90+ abstract predicate isPipelineByPropertyName ( ) ;
8791}
8892
8993private class InternalParameter extends ParameterImpl , TInternalParameter {
@@ -101,8 +105,8 @@ private class InternalParameter extends ParameterImpl, TInternalParameter {
101105 hasParameterBlockImpl ( p , block , i )
102106 }
103107
104- override predicate hasParameterBlockExcludingPipeline ( ParamBlock block , int i ) {
105- hasParameterBlockExcludingPipelineImpl ( p , block , i )
108+ override predicate hasParameterBlockExcludingPipelines ( ParamBlock block , int i ) {
109+ hasParameterBlockExcludingPipelinesImpl ( p , block , i )
106110 }
107111
108112 override predicate isFunctionParameter ( Function f , int i ) { isFunctionParameterImpl ( p , f , i ) }
@@ -114,6 +118,10 @@ private class InternalParameter extends ParameterImpl, TInternalParameter {
114118 override predicate isPipeline ( ) {
115119 this .getAnAttribute ( ) .getANamedArgument ( ) instanceof ValueFromPipelineAttribute
116120 }
121+
122+ override predicate isPipelineByPropertyName ( ) {
123+ this .getAnAttribute ( ) .getANamedArgument ( ) instanceof ValueFromPipelineByPropertyName
124+ }
117125}
118126
119127/**
@@ -147,6 +155,8 @@ private class Underscore extends ParameterImpl, TUnderscore {
147155
148156 final override predicate isPipeline ( ) { any ( ) }
149157
158+ final override predicate isPipelineByPropertyName ( ) { none ( ) }
159+
150160 final override predicate isFunctionParameter ( Function f , int i ) { f .getBody ( ) = scope and i = - 1 }
151161}
152162
@@ -164,6 +174,8 @@ private class ThisParameter extends ParameterImpl, TThisParameter {
164174 final override Attribute getAnAttribute ( ) { none ( ) }
165175
166176 final override predicate isPipeline ( ) { none ( ) }
177+
178+ final override predicate isPipelineByPropertyName ( ) { none ( ) }
167179}
168180
169181private newtype TVariable =
@@ -241,8 +253,8 @@ class Parameter extends AbstractLocalScopeVariable, TParameter {
241253
242254 predicate hasParameterBlock ( ParamBlock block , int i ) { p .hasParameterBlock ( block , i ) }
243255
244- predicate hasParameterBlockExcludingPipeline ( ParamBlock block , int i ) {
245- p .hasParameterBlockExcludingPipeline ( block , i )
256+ predicate hasParameterBlockExcludingPipelines ( ParamBlock block , int i ) {
257+ p .hasParameterBlockExcludingPipelines ( block , i )
246258 }
247259
248260 predicate isFunctionParameter ( Function f , int i ) { p .isFunctionParameter ( f , i ) }
@@ -261,14 +273,14 @@ class Parameter extends AbstractLocalScopeVariable, TParameter {
261273 */
262274 int getIndex ( ) { result = this .getFunctionIndex ( ) or result = this .getBlockIndex ( ) }
263275
264- int getIndexExcludingPipeline ( ) {
265- result = this .getFunctionIndex ( ) or result = this .getBlockIndexExcludingPipeline ( )
276+ int getIndexExcludingPipelines ( ) {
277+ result = this .getFunctionIndex ( ) or result = this .getBlockIndexExcludingPipelines ( )
266278 }
267279
268280 /** Gets the index of this parameter in the parameter block, if any. */
269281 int getBlockIndex ( ) { this .hasParameterBlock ( _, result ) }
270282
271- int getBlockIndexExcludingPipeline ( ) { this .hasParameterBlockExcludingPipeline ( _, result ) }
283+ int getBlockIndexExcludingPipelines ( ) { this .hasParameterBlockExcludingPipelines ( _, result ) }
272284
273285 /** Gets the index of this parameter in the function, if any. */
274286 int getFunctionIndex ( ) { this .isFunctionParameter ( _, result ) }
@@ -278,6 +290,8 @@ class Parameter extends AbstractLocalScopeVariable, TParameter {
278290 Attribute getAnAttribute ( ) { result = p .getAnAttribute ( ) }
279291
280292 predicate isPipeline ( ) { p .isPipeline ( ) }
293+
294+ predicate isPipelineByPropertyName ( ) { p .isPipelineByPropertyName ( ) }
281295}
282296
283297class PipelineParameter extends Parameter {
0 commit comments