mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-06-16 18:16:39 +00:00
Update error types used by generator
This commit is contained in:
parent
6f6618f251
commit
8c00d2f088
@ -59,7 +59,7 @@ def generate(fs: FakeFs, tl: ParsedTl) -> None:
|
|||||||
for typedef in tl.typedefs:
|
for typedef in tl.typedefs:
|
||||||
if typedef.ty.full_name not in generated_types:
|
if typedef.ty.full_name not in generated_types:
|
||||||
if len(typedef.ty.namespace) >= 2:
|
if len(typedef.ty.namespace) >= 2:
|
||||||
raise NotImplementedError("nested abc-namespaces are not supported")
|
raise ValueError("nested abc-namespaces are not supported")
|
||||||
elif len(typedef.ty.namespace) == 1:
|
elif len(typedef.ty.namespace) == 1:
|
||||||
abc_namespaces.add(typedef.ty.namespace[0])
|
abc_namespaces.add(typedef.ty.namespace[0])
|
||||||
abc_path = (Path("abcs") / typedef.ty.namespace[0]).with_suffix(".py")
|
abc_path = (Path("abcs") / typedef.ty.namespace[0]).with_suffix(".py")
|
||||||
@ -83,7 +83,7 @@ def generate(fs: FakeFs, tl: ParsedTl) -> None:
|
|||||||
property_params = [p for p in typedef.params if not is_computed(p.ty)]
|
property_params = [p for p in typedef.params if not is_computed(p.ty)]
|
||||||
|
|
||||||
if len(typedef.namespace) >= 2:
|
if len(typedef.namespace) >= 2:
|
||||||
raise NotImplementedError("nested type-namespaces are not supported")
|
raise ValueError("nested type-namespaces are not supported")
|
||||||
elif len(typedef.namespace) == 1:
|
elif len(typedef.namespace) == 1:
|
||||||
type_namespaces.add(typedef.namespace[0])
|
type_namespaces.add(typedef.namespace[0])
|
||||||
type_path = (Path("types") / typedef.namespace[0]).with_suffix(".py")
|
type_path = (Path("types") / typedef.namespace[0]).with_suffix(".py")
|
||||||
@ -145,7 +145,7 @@ def generate(fs: FakeFs, tl: ParsedTl) -> None:
|
|||||||
|
|
||||||
for functiondef in tl.functiondefs:
|
for functiondef in tl.functiondefs:
|
||||||
if len(functiondef.namespace) >= 2:
|
if len(functiondef.namespace) >= 2:
|
||||||
raise NotImplementedError("nested function-namespaces are not supported")
|
raise ValueError("nested function-namespaces are not supported")
|
||||||
elif len(functiondef.namespace) == 1:
|
elif len(functiondef.namespace) == 1:
|
||||||
function_namespaces.add(functiondef.namespace[0])
|
function_namespaces.add(functiondef.namespace[0])
|
||||||
function_path = (Path("functions") / functiondef.namespace[0]).with_suffix(
|
function_path = (Path("functions") / functiondef.namespace[0]).with_suffix(
|
||||||
|
@ -95,9 +95,7 @@ def param_type_fmt(ty: BaseParameter) -> str:
|
|||||||
inner_ty: Type
|
inner_ty: Type
|
||||||
if ty.ty.generic_arg:
|
if ty.ty.generic_arg:
|
||||||
if ty.ty.name not in ("Vector", "vector"):
|
if ty.ty.name not in ("Vector", "vector"):
|
||||||
raise NotImplementedError(
|
raise ValueError("generic_arg type for non-vectors are not supported")
|
||||||
"generic_arg type for non-vectors not implemented"
|
|
||||||
)
|
|
||||||
|
|
||||||
inner_ty = ty.ty.generic_arg
|
inner_ty = ty.ty.generic_arg
|
||||||
else:
|
else:
|
||||||
|
@ -33,7 +33,7 @@ def reader_read_fmt(ty: Type, constructor_id: int) -> Tuple[str, Optional[str]]:
|
|||||||
try:
|
try:
|
||||||
return SPECIAL_CASED_OBJECT_READS[constructor_id], None
|
return SPECIAL_CASED_OBJECT_READS[constructor_id], None
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise NotImplementedError("missing special case for object read")
|
raise ValueError("missing special case for object read")
|
||||||
else:
|
else:
|
||||||
return f"reader.read_serializable({inner_type_fmt(ty)})", "type-abstract"
|
return f"reader.read_serializable({inner_type_fmt(ty)})", "type-abstract"
|
||||||
|
|
||||||
@ -44,10 +44,10 @@ def generate_normal_param_read(
|
|||||||
flag_check = f"_{param.flag.name} & {1 << param.flag.index}" if param.flag else None
|
flag_check = f"_{param.flag.name} & {1 << param.flag.index}" if param.flag else None
|
||||||
if param.ty.name == "true":
|
if param.ty.name == "true":
|
||||||
if not flag_check:
|
if not flag_check:
|
||||||
raise NotImplementedError("true parameter is expected to be a flag")
|
raise ValueError("true parameter is expected to be a flag")
|
||||||
writer.write(f"_{name} = ({flag_check}) != 0")
|
writer.write(f"_{name} = ({flag_check}) != 0")
|
||||||
elif param.ty.generic_ref:
|
elif param.ty.generic_ref:
|
||||||
raise NotImplementedError("generic_ref deserialization not implemented")
|
raise ValueError("generic_ref deserialization is not supported")
|
||||||
else:
|
else:
|
||||||
if flag_check:
|
if flag_check:
|
||||||
writer.write(f"if {flag_check}:")
|
writer.write(f"if {flag_check}:")
|
||||||
@ -55,8 +55,8 @@ def generate_normal_param_read(
|
|||||||
|
|
||||||
if param.ty.generic_arg:
|
if param.ty.generic_arg:
|
||||||
if param.ty.name not in ("Vector", "vector"):
|
if param.ty.name not in ("Vector", "vector"):
|
||||||
raise NotImplementedError(
|
raise ValueError(
|
||||||
"generic_arg deserialization for non-vectors not implemented"
|
"generic_arg deserialization for non-vectors is not supported"
|
||||||
)
|
)
|
||||||
|
|
||||||
if param.ty.bare:
|
if param.ty.bare:
|
||||||
@ -127,25 +127,23 @@ def param_value_fmt(param: Parameter) -> str:
|
|||||||
def function_deserializer_fmt(defn: Definition) -> str:
|
def function_deserializer_fmt(defn: Definition) -> str:
|
||||||
if defn.ty.generic_arg:
|
if defn.ty.generic_arg:
|
||||||
if defn.ty.name != ("Vector"):
|
if defn.ty.name != ("Vector"):
|
||||||
raise NotImplementedError(
|
raise ValueError(
|
||||||
"generic_arg return for non-boxed-vectors not implemented"
|
"generic_arg return for non-boxed-vectors is not supported"
|
||||||
)
|
)
|
||||||
elif defn.ty.generic_ref:
|
elif defn.ty.generic_ref:
|
||||||
raise NotImplementedError(
|
raise ValueError("return for generic refs inside vector is not supported")
|
||||||
"return for generic refs inside vector not implemented"
|
|
||||||
)
|
|
||||||
elif is_trivial(NormalParameter(ty=defn.ty.generic_arg, flag=None)):
|
elif is_trivial(NormalParameter(ty=defn.ty.generic_arg, flag=None)):
|
||||||
if defn.ty.generic_arg.name == "int":
|
if defn.ty.generic_arg.name == "int":
|
||||||
return "deserialize_i32_list"
|
return "deserialize_i32_list"
|
||||||
elif defn.ty.generic_arg.name == "long":
|
elif defn.ty.generic_arg.name == "long":
|
||||||
return "deserialize_i64_list"
|
return "deserialize_i64_list"
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError(
|
raise ValueError(
|
||||||
f"return for trivial arg {defn.ty.generic_arg} not implemented"
|
f"return for trivial arg {defn.ty.generic_arg} is not supported"
|
||||||
)
|
)
|
||||||
elif defn.ty.generic_arg.bare:
|
elif defn.ty.generic_arg.bare:
|
||||||
raise NotImplementedError(
|
raise ValueError(
|
||||||
"return for non-boxed serializables inside a vector not implemented"
|
"return for non-boxed serializables inside a vector is not supported"
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
return f"list_deserializer({inner_type_fmt(defn.ty.generic_arg)})"
|
return f"list_deserializer({inner_type_fmt(defn.ty.generic_arg)})"
|
||||||
@ -155,10 +153,8 @@ def function_deserializer_fmt(defn: Definition) -> str:
|
|||||||
if defn.ty.name == "Bool":
|
if defn.ty.name == "Bool":
|
||||||
return "deserialize_bool"
|
return "deserialize_bool"
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError(
|
raise ValueError(f"return for trivial arg {defn.ty} is not supported")
|
||||||
f"return for trivial arg {defn.ty} not implemented"
|
|
||||||
)
|
|
||||||
elif defn.ty.bare:
|
elif defn.ty.bare:
|
||||||
raise NotImplementedError("return for non-boxed serializables not implemented")
|
raise ValueError("return for non-boxed serializables is not supported")
|
||||||
else:
|
else:
|
||||||
return f"single_deserializer({inner_type_fmt(defn.ty)})"
|
return f"single_deserializer({inner_type_fmt(defn.ty)})"
|
||||||
|
@ -58,8 +58,8 @@ def generate_normal_param_write(
|
|||||||
|
|
||||||
if param.ty.generic_arg:
|
if param.ty.generic_arg:
|
||||||
if param.ty.name not in ("Vector", "vector"):
|
if param.ty.name not in ("Vector", "vector"):
|
||||||
raise NotImplementedError(
|
raise ValueError(
|
||||||
"generic_arg deserialization for non-vectors not implemented"
|
"generic_arg deserialization for non-vectors is not supported"
|
||||||
)
|
)
|
||||||
|
|
||||||
if param.ty.bare:
|
if param.ty.bare:
|
||||||
|
@ -72,7 +72,7 @@ class Definition:
|
|||||||
if isinstance(param.ty, FlagsParameter):
|
if isinstance(param.ty, FlagsParameter):
|
||||||
flag_defs.append(param.name)
|
flag_defs.append(param.name)
|
||||||
elif not isinstance(param.ty, NormalParameter):
|
elif not isinstance(param.ty, NormalParameter):
|
||||||
raise NotImplementedError
|
raise TypeError(f"unrecognised subclass: {param.ty}")
|
||||||
elif param.ty.ty.generic_ref and param.ty.ty.name not in type_defs:
|
elif param.ty.ty.generic_ref and param.ty.ty.name not in type_defs:
|
||||||
raise ValueError("missing def")
|
raise ValueError("missing def")
|
||||||
elif param.ty.flag and param.ty.flag.name not in flag_defs:
|
elif param.ty.flag and param.ty.flag.name not in flag_defs:
|
||||||
|
Loading…
Reference in New Issue
Block a user