feat: add default inference for basic types

This commit is contained in:
gwen 2024-04-09 11:58:33 +02:00
parent 0d66bffd2f
commit 463b57ea2d

View file

@ -62,6 +62,14 @@ class Annotator(Walk): # pylint: disable=R0903
variable: dict,
) -> None:
multi = self.objectspace.multis.get(variable.path, False)
types = {str: "string", int: "number", bool: "boolean", float: "float"}
# variable's type inference with a default value with a basic type
if multi is False and variable.type == "string" and type(variable.default) != str:
if type(variable.default) in types:
variable.type = types[type(variable.default)]
# a boolean must have value, the default value is "True"
if variable.type == "boolean" and multi is False and variable.default is None:
variable.default = True