Handle empty names and duplicate values in Rust generator

This commit is contained in:
a2x
2024-05-24 21:03:42 +10:00
parent 3f6c894097
commit 09413db57a
68 changed files with 101 additions and 190 deletions

View File

@@ -89,6 +89,10 @@ fn read_class_binding(
let name = binding.name.read_string(process)?.to_string();
if name.is_empty() {
return Err(Error::Other("empty class name"));
}
let parent = binding.base_classes.non_null().and_then(|ptr| {
let base_class = ptr.read(process).ok()?;
let parent_class = base_class.prev.read(process).ok()?;
@@ -215,6 +219,10 @@ fn read_enum_binding(
let binding = binding_ptr.read(process)?;
let name = binding.name.read_string(process)?.to_string();
if name.is_empty() {
return Err(Error::Other("empty enum name"));
}
let members = read_enum_binding_members(process, &binding)?;
debug!(