@@ -17,28 +17,22 @@ class Parameter extends AstNode {
17
17
}
18
18
19
19
/** Gets the callable that this parameter belongs to. */
20
- Callable getCallable ( ) { result .getAParameter ( ) = this }
20
+ final Callable getCallable ( ) { result .getAParameter ( ) = this }
21
21
22
22
/** Gets the zero-based position of this parameter. */
23
- int getPosition ( ) { result = pos }
23
+ final int getPosition ( ) { result = pos }
24
24
}
25
25
26
26
/**
27
27
* A parameter defined using a pattern.
28
28
*
29
29
* This includes both simple parameters and tuple parameters.
30
30
*/
31
- class PatternParameter extends Parameter , Pattern {
32
- override string toString ( ) { result = Pattern .super .toString ( ) }
33
-
34
- override Location getLocation ( ) { result = Pattern .super .getLocation ( ) }
35
- }
31
+ class PatternParameter extends Parameter , Pattern { }
36
32
37
33
/** A parameter defined using a tuple pattern. */
38
34
class TuplePatternParameter extends PatternParameter , TuplePattern {
39
- override string toString ( ) { result = TuplePattern .super .toString ( ) }
40
-
41
- override string describeQlClass ( ) { result = "TuplePatternParameter" }
35
+ final override string describeQlClass ( ) { result = "TuplePatternParameter" }
42
36
}
43
37
44
38
/** A named parameter. */
@@ -57,13 +51,13 @@ class NamedParameter extends Parameter {
57
51
58
52
/** A simple (normal) parameter. */
59
53
class SimpleParameter extends NamedParameter , PatternParameter , VariablePattern {
60
- override string getName ( ) { result = VariablePattern . super . getName ( ) }
54
+ final override string getName ( ) { result = this . getVariableName ( ) }
61
55
62
56
final override Variable getVariable ( ) { result = TLocalVariable ( _, _, this ) }
63
57
64
- override string describeQlClass ( ) { result = "SimpleParameter" }
58
+ final override string describeQlClass ( ) { result = "SimpleParameter" }
65
59
66
- override string toString ( ) { result = this .getName ( ) }
60
+ final override string toString ( ) { result = this .getName ( ) }
67
61
}
68
62
69
63
/**
@@ -75,15 +69,15 @@ class SimpleParameter extends NamedParameter, PatternParameter, VariablePattern
75
69
* ```
76
70
*/
77
71
class BlockParameter extends @block_parameter, NamedParameter {
78
- override Generated:: BlockParameter generated ;
72
+ final override Generated:: BlockParameter generated ;
79
73
80
74
final override Variable getVariable ( ) { result = TLocalVariable ( _, _, generated .getName ( ) ) }
81
75
82
- override string describeQlClass ( ) { result = "BlockParameter" }
76
+ final override string describeQlClass ( ) { result = "BlockParameter" }
83
77
84
- override string toString ( ) { result = "&" + this .getName ( ) }
78
+ final override string toString ( ) { result = "&" + this .getName ( ) }
85
79
86
- override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
80
+ final override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
87
81
}
88
82
89
83
/**
@@ -96,15 +90,15 @@ class BlockParameter extends @block_parameter, NamedParameter {
96
90
* ```
97
91
*/
98
92
class HashSplatParameter extends @hash_splat_parameter, NamedParameter {
99
- override Generated:: HashSplatParameter generated ;
93
+ final override Generated:: HashSplatParameter generated ;
100
94
101
95
final override Variable getVariable ( ) { result = TLocalVariable ( _, _, generated .getName ( ) ) }
102
96
103
- override string describeQlClass ( ) { result = "HashSplatParameter" }
97
+ final override string describeQlClass ( ) { result = "HashSplatParameter" }
104
98
105
- override string toString ( ) { result = "**" + this .getName ( ) }
99
+ final override string toString ( ) { result = "**" + this .getName ( ) }
106
100
107
- override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
101
+ final override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
108
102
}
109
103
110
104
/**
@@ -119,29 +113,29 @@ class HashSplatParameter extends @hash_splat_parameter, NamedParameter {
119
113
* ```
120
114
*/
121
115
class KeywordParameter extends @keyword_parameter, NamedParameter {
122
- override Generated:: KeywordParameter generated ;
116
+ final override Generated:: KeywordParameter generated ;
123
117
124
118
final override Variable getVariable ( ) { result = TLocalVariable ( _, _, generated .getName ( ) ) }
125
119
126
- override string describeQlClass ( ) { result = "KeywordParameter" }
120
+ final override string describeQlClass ( ) { result = "KeywordParameter" }
127
121
128
- override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
122
+ final override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
129
123
130
124
/**
131
125
* Gets the default value, i.e. the value assigned to the parameter when one
132
126
* is not provided by the caller. If the parameter is mandatory and does not
133
127
* have a default value, this predicate has no result.
134
128
* TODO: better return type (Expr?)
135
129
*/
136
- AstNode getDefaultValue ( ) { result = generated .getValue ( ) }
130
+ final AstNode getDefaultValue ( ) { result = generated .getValue ( ) }
137
131
138
132
/**
139
133
* Holds if the parameter is optional. That is, there is a default value that
140
134
* is used when the caller omits this parameter.
141
135
*/
142
- predicate isOptional ( ) { exists ( this .getDefaultValue ( ) ) }
136
+ final predicate isOptional ( ) { exists ( this .getDefaultValue ( ) ) }
143
137
144
- override string toString ( ) { result = this .getName ( ) }
138
+ final override string toString ( ) { result = this .getName ( ) }
145
139
}
146
140
147
141
/**
@@ -154,22 +148,22 @@ class KeywordParameter extends @keyword_parameter, NamedParameter {
154
148
* ```
155
149
*/
156
150
class OptionalParameter extends @optional_parameter, NamedParameter {
157
- override Generated:: OptionalParameter generated ;
151
+ final override Generated:: OptionalParameter generated ;
158
152
159
153
final override Variable getVariable ( ) { result = TLocalVariable ( _, _, generated .getName ( ) ) }
160
154
161
- override string describeQlClass ( ) { result = "OptionalParameter" }
155
+ final override string describeQlClass ( ) { result = "OptionalParameter" }
162
156
163
- override string toString ( ) { result = this .getName ( ) }
157
+ final override string toString ( ) { result = this .getName ( ) }
164
158
165
- override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
159
+ final override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
166
160
167
161
/**
168
162
* Gets the default value, i.e. the value assigned to the parameter when one
169
163
* is not provided by the caller.
170
164
* TODO: better return type (Expr?)
171
165
*/
172
- AstNode getDefaultValue ( ) { result = generated .getValue ( ) }
166
+ final AstNode getDefaultValue ( ) { result = generated .getValue ( ) }
173
167
}
174
168
175
169
/**
@@ -181,13 +175,13 @@ class OptionalParameter extends @optional_parameter, NamedParameter {
181
175
* ```
182
176
*/
183
177
class SplatParameter extends @splat_parameter, NamedParameter {
184
- override Generated:: SplatParameter generated ;
178
+ final override Generated:: SplatParameter generated ;
185
179
186
180
final override Variable getVariable ( ) { result = TLocalVariable ( _, _, generated .getName ( ) ) }
187
181
188
- override string describeQlClass ( ) { result = "SplatParameter" }
182
+ final override string describeQlClass ( ) { result = "SplatParameter" }
189
183
190
- override string toString ( ) { result = this .getName ( ) }
184
+ final override string toString ( ) { result = "*" + this .getName ( ) }
191
185
192
- override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
186
+ final override string getName ( ) { result = generated .getName ( ) .getValue ( ) }
193
187
}
0 commit comments