fix(checker): handle application of column type

This commit is contained in:
2026-07-06 15:27:50 +02:00
parent 3de36e5bd5
commit 16c19cca75
2 changed files with 19 additions and 0 deletions

View File

@@ -383,6 +383,16 @@ class MidasTyper(m.Stmt.Visitor[None], m.Expr.Visitor[Type], m.Type.Visitor[Type
return UnknownType()
def visit_generic_type(self, type: m.GenericType) -> Type:
match type.type:
case m.NamedType(name=Token(lexeme="Column")):
if len(type.args) != 1:
self.reporter.error(
type.location,
f"Column requires 1 type argument, {len(type.args)} provided",
)
return ColumnType(type=UnknownType())
return ColumnType(type=type.args[0].accept(self))
type_: Type = type.type.accept(self)
args: list[Type] = [arg.accept(self) for arg in type.args]
try:

View File

@@ -938,6 +938,15 @@ class PythonTyper(
return UnknownType()
def visit_base_type(self, node: p.BaseType) -> Type:
if node.base == "Column":
if len(node.args) != 1:
self.reporter.error(
node.location,
f"Column requires 1 type argument, {len(node.args)} provided",
)
return ColumnType(type=UnknownType())
return ColumnType(type=self.resolve_type_expr(node.args[0]))
base: Type
try:
base = self.types.get_type(node.base)