diff --git a/midas/checker/types.py b/midas/checker/types.py new file mode 100644 index 0000000..71765ad --- /dev/null +++ b/midas/checker/types.py @@ -0,0 +1,29 @@ +from __future__ import annotations + +from dataclasses import dataclass + + +@dataclass(frozen=True, kw_only=True) +class BaseType: + name: str + + +@dataclass(frozen=True, kw_only=True) +class SimpleType: + base: BaseType + + +@dataclass(frozen=True, kw_only=True) +class Operation: + left: Type + operator: str + right: Type + result: Type + + +@dataclass(frozen=True, kw_only=True) +class UnknownType: + pass + + +Type = BaseType | SimpleType | UnknownType