summaryrefslogtreecommitdiff
path: root/python/typeparser.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/typeparser.py')
-rw-r--r--python/typeparser.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/python/typeparser.py b/python/typeparser.py
index f1dffe13..f4eba3cf 100644
--- a/python/typeparser.py
+++ b/python/typeparser.py
@@ -121,6 +121,16 @@ class ParsedType:
@dataclasses.dataclass(frozen=True)
+class BasicTypeParserResult:
+ types: Dict['types.QualifiedName', 'types.Type']
+ variables: Dict['types.QualifiedName', 'types.Type']
+ functions: Dict['types.QualifiedName', 'types.Type']
+
+ def __repr__(self):
+ return f"<types: {self.types}, variables: {self.variables}, functions: {self.functions}>"
+
+
+@dataclasses.dataclass(frozen=True)
class TypeParserResult:
types: Dict['types.QualifiedName', ParsedType]
variables: Dict['types.QualifiedName', ParsedType]
@@ -392,14 +402,14 @@ class TypeParser(metaclass=_TypeParserMetaclass):
return False
def preprocess_source(
- self, source: str, file_name: str, platform: platform.Platform,
+ self, source: str, file_name: str, platform: 'platform.Platform',
existing_types: Optional[List[QualifiedNameTypeAndId]] = None,
options: Optional[List[str]] = None, include_dirs: Optional[List[str]] = None
) -> Tuple[Optional[str], List[TypeParserError]]:
raise NotImplementedError("Not implemented")
def parse_types_from_source(
- self, source: str, file_name: str, platform: platform.Platform,
+ self, source: str, file_name: str, platform: 'platform.Platform',
existing_types: Optional[List[QualifiedNameTypeAndId]] = None,
options: Optional[List[str]] = None, include_dirs: Optional[List[str]] = None,
auto_type_source: str = ""
@@ -407,7 +417,7 @@ class TypeParser(metaclass=_TypeParserMetaclass):
raise NotImplementedError("Not implemented")
def parse_type_string(
- self, source: str, platform: platform.Platform,
+ self, source: str, platform: 'platform.Platform',
existing_types: Optional[List[QualifiedNameTypeAndId]] = None
) -> Tuple[Optional[Tuple['types.QualifiedNameType', 'types.Type']], List[TypeParserError]]:
raise NotImplementedError("Not implemented")
@@ -416,7 +426,7 @@ class TypeParser(metaclass=_TypeParserMetaclass):
class CoreTypeParser(TypeParser):
def preprocess_source(
- self, source: str, file_name: str, platform: platform.Platform,
+ self, source: str, file_name: str, platform: 'platform.Platform',
existing_types: Optional[List[QualifiedNameTypeAndId]] = None,
options: Optional[List[str]] = None, include_dirs: Optional[List[str]] = None
) -> Tuple[Optional[str], List[TypeParserError]]:
@@ -464,7 +474,7 @@ class CoreTypeParser(TypeParser):
return output, errors
def parse_types_from_source(
- self, source: str, file_name: str, platform: platform.Platform,
+ self, source: str, file_name: str, platform: 'platform.Platform',
existing_types: Optional[List[QualifiedNameTypeAndId]] = None,
options: Optional[List[str]] = None, include_dirs: Optional[List[str]] = None,
auto_type_source: str = ""
@@ -514,7 +524,7 @@ class CoreTypeParser(TypeParser):
def parse_type_string(
- self, source: str, platform: platform.Platform,
+ self, source: str, platform: 'platform.Platform',
existing_types: Optional[List[QualifiedNameTypeAndId]] = None
) -> Tuple[Optional[Tuple['types.QualifiedNameType', 'types.Type']], List[TypeParserError]]:
if existing_types is None: