fix(checker): give warning on unknown variable
This commit is contained in:
@@ -12,7 +12,6 @@ from midas.checker.reporter import FileReporter, Reporter
|
|||||||
from midas.checker.resolver import Resolver
|
from midas.checker.resolver import Resolver
|
||||||
from midas.checker.types import (
|
from midas.checker.types import (
|
||||||
Function,
|
Function,
|
||||||
Operation,
|
|
||||||
Type,
|
Type,
|
||||||
UnitType,
|
UnitType,
|
||||||
UnknownType,
|
UnknownType,
|
||||||
@@ -418,7 +417,11 @@ class PythonTyper(
|
|||||||
return UnknownType()
|
return UnknownType()
|
||||||
|
|
||||||
def visit_variable_expr(self, expr: p.VariableExpr) -> Type:
|
def visit_variable_expr(self, expr: p.VariableExpr) -> Type:
|
||||||
return self.look_up_variable(expr.name, expr) or UnknownType()
|
type: Optional[Type] = self.look_up_variable(expr.name, expr)
|
||||||
|
if type is None:
|
||||||
|
self.logger.debug(f"Unknown variable {expr.name} in {self.env.flat_dict()}")
|
||||||
|
self.reporter.warning(expr.location, "Unknown variable")
|
||||||
|
return type or UnknownType()
|
||||||
|
|
||||||
def visit_logical_expr(self, expr: p.LogicalExpr) -> Type:
|
def visit_logical_expr(self, expr: p.LogicalExpr) -> Type:
|
||||||
left: Type = expr.left.accept(self)
|
left: Type = expr.left.accept(self)
|
||||||
|
|||||||
Reference in New Issue
Block a user