|
| | StructDeclaration (const Token *name, const Token *size, const Token *alignment, FunctionDefinition *memberFunctionList, DeclarativeStatement *memberVariableList, Variant variant) |
| | Constructs a struct declaration.
|
| virtual | ~StructDeclaration () |
| | Destroys a StructDeclaration object.
|
| virtual void | Accept (ParseNodeVisitor &visitor) override |
| | Dispatches this node to the given visitor.
|
| virtual void | Accept (ParseNodeVisitor &visitor) const override |
| | Dispatches this node to the given visitor.
|
| virtual SymbolType | GetSymbolType () const override |
| | Returns the concrete symbol type.
|
| virtual const Token * | GetName () const override |
| | Returns the symbol name token.
|
| virtual bool | IsResolved () const override |
| | Returns true when this struct and its members are resolved.
|
| TypeDescriptor & | GetThisTypeDescriptor () |
| | Returns the descriptor of this-parameter type.
|
| const TypeDescriptor & | GetThisTypeDescriptor () const |
| | Returns the descriptor of this-parameter type.
|
| TypeDescriptor & | GetConstThisTypeDescriptor () |
| | Returns the descriptor of const this-parameter type.
|
| const TypeDescriptor & | GetConstThisTypeDescriptor () const |
| | Returns the descriptor of const this-parameter type.
|
| const Token * | GetSizeToken () const |
| | Returns the token specifying struct size metadata.
|
| const Token * | GetAlignmentToken () const |
| | Returns the token specifying struct alignment metadata.
|
| FunctionDefinition * | GetMemberFunctionList () |
| | Returns the list of member functions.
|
| const FunctionDefinition * | GetMemberFunctionList () const |
| | Returns the list of member functions.
|
| void | SetMemberFunctionList (FunctionDefinition *memberFunctionList) |
| | Sets the list of member functions.
|
| DeclarativeStatement * | GetMemberVariableList () |
| | Returns the list of member variables.
|
| const DeclarativeStatement * | GetMemberVariableList () const |
| | Returns the list of member variables.
|
| void | SetMemberVariableList (DeclarativeStatement *memberVariableList) |
| | Sets the list of member variables.
|
| const StructDeclaration * | GetSizeSpecifier () const |
| | Returns the struct used to determine this struct's size.
|
| void | SetSizeSpecifier (const StructDeclaration *sizeSpecifier) |
| | Sets the struct used to determine this struct's size.
|
| Variant | GetVariant () const |
| | Returns this struct declaration's variant.
|
| bool | IsNative () const |
| | Returns true if this struct is native-backed.
|
| uint32_t | GetSize () const |
| | Returns the resolved size in bytes.
|
| void | SetSize (uint32_t size) |
| | Sets the resolved size in bytes.
|
| uint32_t | GetAlignment () const |
| | Returns the resolved alignment in bytes.
|
| void | SetAlignment (uint32_t alignment) |
| | Sets the resolved alignment in bytes.
|
| bool | IsInstantiable () const |
| | Returns true if instances of this struct can be created.
|
| virtual | ~Symbol () |
| | Destroys a Symbol object.
|
| virtual const Token * | GetContextToken () const override |
| | Returns the token used as source context for diagnostics.
|
| virtual TypeAndValue * | GetTypeAndValue () |
| | Returns the symbol's type-and-value metadata.
|
| virtual const TypeAndValue * | GetTypeAndValue () const |
| | Returns the symbol's type-and-value metadata.
|
| bool | IsTypeDefinition () const |
| | Returns true if this symbol defines a type, i.e. it is a struct or an enum.
|
| Symbol * | GetParentSymbol () |
| | Returns the enclosing symbol.
|
| const Symbol * | GetParentSymbol () const |
| | Returns the enclosing symbol.
|
| void | SetParentSymbol (Symbol *parent) |
| | Sets the enclosing symbol.
|
| Symbol * | FindSymbol (const StringView &name) |
| | Finds a directly contained symbol by name.
|
| const Symbol * | FindSymbol (const StringView &name) const |
| | Finds a directly contained symbol by name.
|
| Symbol * | FindSymbol (const Token *name) |
| | Finds a directly contained symbol by token text.
|
| const Symbol * | FindSymbol (const Token *name) const |
| | Finds a directly contained symbol by token text.
|
| Symbol * | FindSymbol (const QualifiedIdentifier *identifier) |
| | Finds a symbol referenced by a qualified identifier.
|
| const Symbol * | FindSymbol (const QualifiedIdentifier *identifier) const |
| | Finds a symbol referenced by a qualified identifier.
|
| Symbol * | FindSymbol (const QualifiedIdentifier *identifier, bool &isAmbiguous) |
| | Finds a symbol referenced by a qualified identifier, flagging ambiguous matches.
|
| const Symbol * | FindSymbol (const QualifiedIdentifier *identifier, bool &isAmbiguous) const |
| | Finds a symbol referenced by a qualified identifier, flagging ambiguous matches.
|
| void | InsertSymbol (Symbol *symbol) |
| | Inserts a symbol at the front of this symbol's child list and sets this symbol as its parent.
|
| bool | IsAnonymous () const |
| | Returns true if this symbol has no explicit name.
|
| bool | Matches (const StringView &name) const |
| | Returns true if this symbol's name matches the given text.
|
| virtual Symbol * | Resolve () |
| | Returns the symbol that lookups through this symbol should ultimately resolve to.
|
| virtual const Symbol * | Resolve () const |
| | Returns the symbol that lookups through this symbol should ultimately resolve to.
|
| virtual UsingDirective * | GetUsingNamespaceList () |
| | Returns the list of namespaces opened in this scope via using-directives.
|
| virtual const UsingDirective * | GetUsingNamespaceList () const |
| | Returns the list of namespaces opened in this scope via using-directives.
|
| virtual void | AddUsingNamespace (UsingDirective *usingDirective) |
| | Opens a namespace into this scope, making its members visible to unqualified lookup.
|
| virtual | ~ListParseNode () |
| | Destroys a ListParseNode object.
|
| ListParseNode * | GetNextNode () |
| | Returns the next node in the list.
|
| const ListParseNode * | GetNextNode () const |
| | Returns the next node in the list.
|
| void | SetNextNode (ListParseNode *next) |
| | Sets the next node in the list.
|
| virtual | ~ParseNode () |
| | Destroys a ParseNode object.
|
Represents a struct declaration.