feat: add default inference behavior for basic types #13

Closed
gremond wants to merge 10 commits from basic_types_inference into develop
Showing only changes of commit 463b57ea2d - Show all commits

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