INNER CODE UNIT · Python
method_from_signature
OverShifted/OverEngine · utils/wren_doc_gen.py:57
def method_from_signature(signature: str):
is_foreign = signature.startswith("foreign ")
is_static = "static " in signature
raw_signature = signature
if is_foreign:
raw_signature = raw_signature[len("foreign "):]
if is_static:
raw_signature = raw_signature[len("static "):]
if "=(" in raw_signature:
left, right = raw_signature.split("=(")
return PropertySetter(left, is_foreign, is_static, right[:-1])
if "(" in raw_signature:
left, right = raw_signature.split("(")
return SimpleMethod(left, is_foreign, is_static, right[:-1].replace(' ', '').split(','))
else:
return PropertyGetter(raw_signature, is_foreign, is_static)