Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Compiler_Symbol_Declare_Result Struct Reference

Structured result returned after one declaration attempt. More...

#include <Compiler_Symbol_Bindings.H>

Collaboration diagram for Aleph::Compiler_Symbol_Declare_Result:
[legend]

Public Member Functions

bool inserted () const noexcept
 Returns whether the declaration produced a new symbol.
 
bool duplicate_local () const noexcept
 Returns whether the declaration collided with the current scope.
 
bool shadowing () const noexcept
 Returns whether the new declaration shadows one outer symbol.
 

Public Attributes

Compiler_Symbol_Declare_Status status = Compiler_Symbol_Declare_Status::Inserted
 
Compiler_Symbol_Id symbol_id = 0
 Newly inserted symbol or the conflicting local symbol.
 
Compiler_Symbol_Id related_symbol_id = 0
 Shadowed outer symbol or local duplicate.
 

Detailed Description

Structured result returned after one declaration attempt.

Definition at line 103 of file Compiler_Symbol_Bindings.H.

Member Function Documentation

◆ duplicate_local()

bool Aleph::Compiler_Symbol_Declare_Result::duplicate_local ( ) const
inlinenoexcept

Returns whether the declaration collided with the current scope.

Definition at line 116 of file Compiler_Symbol_Bindings.H.

References Aleph::Duplicate_Local, and status.

◆ inserted()

bool Aleph::Compiler_Symbol_Declare_Result::inserted ( ) const
inlinenoexcept

Returns whether the declaration produced a new symbol.

Definition at line 110 of file Compiler_Symbol_Bindings.H.

References Aleph::Duplicate_Local, and status.

◆ shadowing()

bool Aleph::Compiler_Symbol_Declare_Result::shadowing ( ) const
inlinenoexcept

Returns whether the new declaration shadows one outer symbol.

Definition at line 122 of file Compiler_Symbol_Bindings.H.

References Aleph::Inserted_Shadowing, and status.

Member Data Documentation

◆ related_symbol_id

Compiler_Symbol_Id Aleph::Compiler_Symbol_Declare_Result::related_symbol_id = 0

Shadowed outer symbol or local duplicate.

Definition at line 107 of file Compiler_Symbol_Bindings.H.

◆ status

Compiler_Symbol_Declare_Status Aleph::Compiler_Symbol_Declare_Result::status = Compiler_Symbol_Declare_Status::Inserted

Definition at line 105 of file Compiler_Symbol_Bindings.H.

Referenced by duplicate_local(), inserted(), and shadowing().

◆ symbol_id

Compiler_Symbol_Id Aleph::Compiler_Symbol_Declare_Result::symbol_id = 0

Newly inserted symbol or the conflicting local symbol.

Definition at line 106 of file Compiler_Symbol_Bindings.H.


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