sun::ast::VariableReferenceAST
class · Source (opens in a new tab)
class sun::ast::VariableReferenceAST : public sun::ast::ExprASTA reference to a named variable resolved during semantic analysis.
Inherits
- sun::ast::ExprAST (public)
Public Functions
- VariableReferenceAST
- dotLabel
- getName
- getQualifiedName
- getType
- hasQualifiedName
- setQualifiedName
- toString
VariableReferenceAST
public · function · Source (opens in a new tab)
sun::ast::VariableReferenceAST::VariableReferenceAST(std::string Name)Creates this syntax node and takes ownership of any supplied child expressions.
dotLabel
public · function · Source (opens in a new tab)
std::string sun::ast::VariableReferenceAST::dotLabel() const overrideReturns the node label used in syntax-tree graph visualizations.
getName
public · function · Source (opens in a new tab)
const std::string & sun::ast::VariableReferenceAST::getName() constReturns the declared name used to identify this object.
getQualifiedName
public · function · Source (opens in a new tab)
const sun::semantic_analysis::QualifiedName & sun::ast::VariableReferenceAST::getQualifiedName() constQualified name (after semantic analysis qualifies it).
Related: sun::semantic_analysis::QualifiedName
getType
public · function · Source (opens in a new tab)
ASTNodeType sun::ast::VariableReferenceAST::getType() const overrideReturns the syntax-node kind used to dispatch tree visitors.
Related: ASTNodeType
hasQualifiedName
public · function · Source (opens in a new tab)
bool sun::ast::VariableReferenceAST::hasQualifiedName() constReports whether a name including the enclosing scopes has been assigned.
setQualifiedName
public · function · Source (opens in a new tab)
void sun::ast::VariableReferenceAST::setQualifiedName(sun::semantic_analysis::QualifiedName qname)Records the declaration name together with its enclosing scopes.
Related: sun::semantic_analysis::QualifiedName
toString
public · function · Source (opens in a new tab)
std::string sun::ast::VariableReferenceAST::toString() const overrideReturns a readable representation for diagnostics and debugging.
Protected Functions
ensureAnalysis
protected · function · Source (opens in a new tab)
void sun::ast::VariableReferenceAST::ensureAnalysis() const overrideOverride to allocate VariableAnalysis instead of base ExprAnalysis.
Related: VariableAnalysis, ExprAnalysis
Private Functions
varAnalysis
private · function · Source (opens in a new tab)
VariableAnalysis & sun::ast::VariableReferenceAST::varAnalysis() constAccess as VariableAnalysis.
Related: VariableAnalysis
Private Fields
Name
private · variable · Source (opens in a new tab)
std::string sun::ast::VariableReferenceAST::NameNo documentation comment.