Johan B.W. de Vries 8c5a2893d6 __eq__ operators
2023-04-11 09:49:07 +02:00

35 lines
834 B
Python

from typing import Any, List
from .valuetype import ValueType
class MethodArgument:
__slots__ = ('name', 'value_type', )
name: str
value_type: ValueType
def __init__(self, name: str, value_type: ValueType) -> None:
self.name = name
self.value_type = value_type
def __eq__(self, other: Any) -> bool:
if not isinstance(other, MethodArgument):
raise NotImplementedError
return self.name == other.name and self.value_type == other.value_type
class Method:
__slots__ = ('name', 'args', 'return_type', )
name: str
args: List[MethodArgument]
return_type: ValueType
def __init__(self, name: str, args: List[MethodArgument], return_type: ValueType) -> None:
self.name = name
self.args = args
self.return_type = return_type