Porytiles
Loading...
Searching...
No Matches
porytiles::StructMemberDeclaration Struct Reference

One member declaration inside a C struct definition. More...

#include <struct_definition.hpp>

Collaboration diagram for porytiles::StructMemberDeclaration:
[legend]

Public Attributes

std::string type_name
 
std::size_t pointer_depth {0}
 
std::string member_name
 
bool is_const {false}
 
SourcePosition position
 

Detailed Description

One member declaration inside a C struct definition.

Captures the simple declarator shape [const] TYPE [*...] NAME [: WIDTH];. type_name is the single type identifier (a typedef name like u16, or the tag name for struct TYPE members). pointer_depth counts the leading stars on the declarator (0 for a value member, 1 for const u16 *metatileAttributes, and so on). is_const is true when the declaration carries a const qualifier. Bitfield widths are consumed but not recorded.

Members whose declarators fall outside this shape (pointer-to-array members like const u16 (*palettes)[16], array members, multiple declarators per statement) are skipped by the parser rather than represented here.

Definition at line 21 of file struct_definition.hpp.

Member Data Documentation

◆ is_const

bool porytiles::StructMemberDeclaration::is_const {false}

Definition at line 25 of file struct_definition.hpp.

◆ member_name

std::string porytiles::StructMemberDeclaration::member_name

Definition at line 24 of file struct_definition.hpp.

◆ pointer_depth

std::size_t porytiles::StructMemberDeclaration::pointer_depth {0}

Definition at line 23 of file struct_definition.hpp.

◆ position

SourcePosition porytiles::StructMemberDeclaration::position

Definition at line 26 of file struct_definition.hpp.

◆ type_name

std::string porytiles::StructMemberDeclaration::type_name

Definition at line 22 of file struct_definition.hpp.


The documentation for this struct was generated from the following file: