1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:28:12 +00:00

LibDebug: Support unnamed variables and types

We were supposed to already support unnamed types, but due to a
little typo, we were actually causing more problems :^)
This commit is contained in:
FalseHonesty 2021-04-13 21:29:01 -04:00 committed by Andreas Kling
parent 1942c1061c
commit acbb119b27

View file

@ -215,7 +215,7 @@ static Optional<Dwarf::DIE> parse_variable_type_die(const Dwarf::DIE& variable_d
variable_info.type_name = type_name.value().data.as_string;
} else {
dbgln("Unnamed DWARF type at offset: {}", type_die.offset());
variable_info.name = "[Unnamed Type]";
variable_info.type_name = "[Unnamed Type]";
}
return type_die;
@ -263,7 +263,9 @@ OwnPtr<DebugInfo::VariableInfo> DebugInfo::create_variable_info(const Dwarf::DIE
}
NonnullOwnPtr<VariableInfo> variable_info = make<VariableInfo>();
variable_info->name = variable_die.get_attribute(Dwarf::Attribute::Name).value().data.as_string;
auto name_attribute = variable_die.get_attribute(Dwarf::Attribute::Name);
if (name_attribute.has_value())
variable_info->name = name_attribute.value().data.as_string;
auto type_die = parse_variable_type_die(variable_die, *variable_info);