@@ -220,3 +220,33 @@ class StringList extends StringList_ { }
220220
221221/** A list of aliases in an import statement */
222222class 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