Skip to content

Commit 2e77b8d

Browse files
committed
Python: Add wrapper classes around the newly added AST nodes
1 parent c397f70 commit 2e77b8d

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

python/ql/lib/semmle/python/AstExtended.qll

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,3 +220,33 @@ class StringList extends StringList_ { }
220220

221221
/** A list of aliases in an import statement */
222222
class AliasList extends AliasList_ { }
223+
224+
/** A generic type parameter, as seen in function, class, and type alias definitions. */
225+
class TypeParameter extends TypeParameter_ { }
226+
227+
/** A list of type parameters */
228+
class TypeParameterList extends TypeParameterList_ { }
229+
230+
/** A parent of a `TypeParameterList`. Internal implementation class. */
231+
class TypeParameterListParent extends TypeParameterListParent_ { }
232+
233+
/** A type alias statement, such as `type T[T1,T2] = T3`. */
234+
class TypeAlias extends TypeAlias_, Stmt {
235+
/** Gets the name of this type alias. */
236+
override Name getName() { result = super.getName() }
237+
}
238+
239+
/** A type variable, with an optional bound, such as `T1` and `T2` in `type T[T1, T2: T3] = T4`. */
240+
class TypeVar extends TypeVar_, TypeParameter {
241+
override Name getName() { result = super.getName() }
242+
}
243+
244+
/** A type var tuple parameter, such as `*T1` in `type T[*T1] = T2`. */
245+
class TypeVarTuple extends TypeVarTuple_, TypeParameter {
246+
override Name getName() { result = super.getName() }
247+
}
248+
249+
/** A param spec parameter, such as `**T1` in `type T[**T1] = T2`. */
250+
class ParamSpec extends ParamSpec_, TypeParameter {
251+
override Name getName() { result = super.getName() }
252+
}

0 commit comments

Comments
 (0)