50 std::vector<DesignatedInitializerField>
fields,
74 return variable_name_;
82 [[nodiscard]]
const std::vector<DesignatedInitializerField> &
fields()
const
103 [[nodiscard]] std::optional<std::string>
field_value(
const std::string &field_name)
const
105 for (
const auto &field : fields_) {
106 if (field.field_name() == field_name) {
107 return field.value();
114 std::string struct_type_;
115 std::string variable_name_;
116 std::vector<DesignatedInitializerField> fields_;
Represents a parsed C struct variable declaration with its initializer fields.
const std::vector< DesignatedInitializerField > & fields() const
Returns all designated initializer fields.
const std::string & struct_type() const
Returns the struct type name.
const SourcePosition & position() const
Returns the source position of the variable name.
std::optional< std::string > field_value(const std::string &field_name) const
Looks up the value of a field by name.
StructInitializerDeclaration(std::string struct_type, std::string variable_name, std::vector< DesignatedInitializerField > fields, SourcePosition position)
Constructs a StructInitializerDeclaration.
const std::string & variable_name() const
Returns the variable name.
Represents a position within source content.