diff --git a/python/extractor/semmle/python/ast.py b/python/extractor/semmle/python/ast.py index 25b93cae72a..6033e39e009 100644 --- a/python/extractor/semmle/python/ast.py +++ b/python/extractor/semmle/python/ast.py @@ -500,10 +500,11 @@ class Num(expr): self.text = text class ParamSpec(type_parameter): - __slots__ = "name", + __slots__ = "name", "default", - def __init__(self, name): + def __init__(self, name, default): self.name = name + self.default = default @@ -607,17 +608,19 @@ class TypeAlias(stmt): self.value = value class TypeVar(type_parameter): - __slots__ = "name", "bound", + __slots__ = "name", "bound", "default" - def __init__(self, name, bound): + def __init__(self, name, bound, default): self.name = name self.bound = bound + self.default = default class TypeVarTuple(type_parameter): - __slots__ = "name", + __slots__ = "name", "default", - def __init__(self, name): + def __init__(self, name, default): self.name = name + self.default = default class UnaryOp(expr): __slots__ = "op", "operand", diff --git a/python/extractor/semmle/python/master.py b/python/extractor/semmle/python/master.py index 200340061fc..508a706a97a 100755 --- a/python/extractor/semmle/python/master.py +++ b/python/extractor/semmle/python/master.py @@ -397,6 +397,7 @@ Num.field('n', number, 'value') Num.field('text', number) ParamSpec.field('name', expr) +ParamSpec.field('default', expr) Print.field('dest', expr, 'destination') Print.field('values', expr_list) @@ -448,8 +449,10 @@ TypeAlias.field('value', expr) TypeVar.field('name', expr) TypeVar.field('bound', expr) +TypeVar.field('default', expr) TypeVarTuple.field('name', expr) +TypeVarTuple.field('default', expr) UnaryOp.field('op', unaryop, 'operator') UnaryOp.field('operand', expr)