@@ -10,14 +10,16 @@ private predicate hasParameterBlockImpl(Internal::Parameter p, ParamBlock block,
10
10
param_block_parameter ( block , i , p )
11
11
}
12
12
13
- private predicate hasParameterBlockExcludingPipelineImpl (
13
+ private predicate hasParameterBlockExcludingPipelinesImpl (
14
14
Internal:: Parameter p , ParamBlock block , int i
15
15
) {
16
16
p =
17
17
rank [ i + 1 ] ( Internal:: Parameter cand , int j |
18
18
hasParameterBlockImpl ( cand , block , j ) and
19
19
not cand .getAnAttribute ( ) .( Attribute ) .getANamedArgument ( ) instanceof
20
- ValueFromPipelineAttribute
20
+ ValueFromPipelineAttribute and
21
+ not cand .getAnAttribute ( ) .( Attribute ) .getANamedArgument ( ) instanceof
22
+ ValueFromPipelineByPropertyName
21
23
|
22
24
cand order by j
23
25
)
@@ -69,7 +71,7 @@ private class ParameterImpl extends TParameterImpl {
69
71
70
72
predicate hasParameterBlock ( ParamBlock block , int i ) { none ( ) }
71
73
72
- predicate hasParameterBlockExcludingPipeline ( ParamBlock block , int i ) { none ( ) }
74
+ predicate hasParameterBlockExcludingPipelines ( ParamBlock block , int i ) { none ( ) }
73
75
74
76
predicate isFunctionParameter ( Function f , int i ) { none ( ) }
75
77
@@ -84,6 +86,8 @@ private class ParameterImpl extends TParameterImpl {
84
86
}
85
87
86
88
abstract predicate isPipeline ( ) ;
89
+
90
+ abstract predicate isPipelineByPropertyName ( ) ;
87
91
}
88
92
89
93
private class InternalParameter extends ParameterImpl , TInternalParameter {
@@ -101,8 +105,8 @@ private class InternalParameter extends ParameterImpl, TInternalParameter {
101
105
hasParameterBlockImpl ( p , block , i )
102
106
}
103
107
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 )
106
110
}
107
111
108
112
override predicate isFunctionParameter ( Function f , int i ) { isFunctionParameterImpl ( p , f , i ) }
@@ -114,6 +118,10 @@ private class InternalParameter extends ParameterImpl, TInternalParameter {
114
118
override predicate isPipeline ( ) {
115
119
this .getAnAttribute ( ) .getANamedArgument ( ) instanceof ValueFromPipelineAttribute
116
120
}
121
+
122
+ override predicate isPipelineByPropertyName ( ) {
123
+ this .getAnAttribute ( ) .getANamedArgument ( ) instanceof ValueFromPipelineByPropertyName
124
+ }
117
125
}
118
126
119
127
/**
@@ -147,6 +155,8 @@ private class Underscore extends ParameterImpl, TUnderscore {
147
155
148
156
final override predicate isPipeline ( ) { any ( ) }
149
157
158
+ final override predicate isPipelineByPropertyName ( ) { none ( ) }
159
+
150
160
final override predicate isFunctionParameter ( Function f , int i ) { f .getBody ( ) = scope and i = - 1 }
151
161
}
152
162
@@ -164,6 +174,8 @@ private class ThisParameter extends ParameterImpl, TThisParameter {
164
174
final override Attribute getAnAttribute ( ) { none ( ) }
165
175
166
176
final override predicate isPipeline ( ) { none ( ) }
177
+
178
+ final override predicate isPipelineByPropertyName ( ) { none ( ) }
167
179
}
168
180
169
181
private newtype TVariable =
@@ -241,8 +253,8 @@ class Parameter extends AbstractLocalScopeVariable, TParameter {
241
253
242
254
predicate hasParameterBlock ( ParamBlock block , int i ) { p .hasParameterBlock ( block , i ) }
243
255
244
- predicate hasParameterBlockExcludingPipeline ( ParamBlock block , int i ) {
245
- p .hasParameterBlockExcludingPipeline ( block , i )
256
+ predicate hasParameterBlockExcludingPipelines ( ParamBlock block , int i ) {
257
+ p .hasParameterBlockExcludingPipelines ( block , i )
246
258
}
247
259
248
260
predicate isFunctionParameter ( Function f , int i ) { p .isFunctionParameter ( f , i ) }
@@ -261,14 +273,14 @@ class Parameter extends AbstractLocalScopeVariable, TParameter {
261
273
*/
262
274
int getIndex ( ) { result = this .getFunctionIndex ( ) or result = this .getBlockIndex ( ) }
263
275
264
- int getIndexExcludingPipeline ( ) {
265
- result = this .getFunctionIndex ( ) or result = this .getBlockIndexExcludingPipeline ( )
276
+ int getIndexExcludingPipelines ( ) {
277
+ result = this .getFunctionIndex ( ) or result = this .getBlockIndexExcludingPipelines ( )
266
278
}
267
279
268
280
/** Gets the index of this parameter in the parameter block, if any. */
269
281
int getBlockIndex ( ) { this .hasParameterBlock ( _, result ) }
270
282
271
- int getBlockIndexExcludingPipeline ( ) { this .hasParameterBlockExcludingPipeline ( _, result ) }
283
+ int getBlockIndexExcludingPipelines ( ) { this .hasParameterBlockExcludingPipelines ( _, result ) }
272
284
273
285
/** Gets the index of this parameter in the function, if any. */
274
286
int getFunctionIndex ( ) { this .isFunctionParameter ( _, result ) }
@@ -278,6 +290,8 @@ class Parameter extends AbstractLocalScopeVariable, TParameter {
278
290
Attribute getAnAttribute ( ) { result = p .getAnAttribute ( ) }
279
291
280
292
predicate isPipeline ( ) { p .isPipeline ( ) }
293
+
294
+ predicate isPipelineByPropertyName ( ) { p .isPipelineByPropertyName ( ) }
281
295
}
282
296
283
297
class PipelineParameter extends Parameter {
0 commit comments