JUCE  v5.2.0-514-g49784a029
JUCE API
juce::littlefoot::Compiler::BlockStatement Struct Reference
Inheritance diagram for juce::littlefoot::Compiler::BlockStatement:
Collaboration diagram for juce::littlefoot::Compiler::BlockStatement:

Public Member Functions

 BlockStatement (const CodeLocation &l, BlockPtr parent, Function *f, bool isMainFunctionBlock)
 
void addVariable (Variable v, const CodeLocation &locationForError)
 
bool alwaysReturns () const override
 
void emit (CodeGenerator &cg, Type requiredType, int stackDepth) const override
 
const Array< Variable > & getGlobalConstants () const noexcept
 
const Array< Variable > & getGlobalVariables () const noexcept
 
int getNumVariablesInParentBlocks () const noexcept
 
const VariablegetVariable (const String &name, const CodeLocation &locationForError) const
 
int getVariableDepth (const String &name, const CodeLocation &locationForError) const
 
Statementsimplify (SyntaxTreeBuilder &stb) override
 
void visitSubStatements (Statement::Visitor &visit) const override
 

Static Public Member Functions

static int indexOf (const Array< Variable > &vars, const String &name) noexcept
 

Public Attributes

Array< Variableconstants
 
Functionfunction
 
bool isMainBlockOfFunction
 
CodeLocation location
 
BlockPtr parentBlock
 
Array< StatementPtrstatements
 
Array< Variablevariables
 

Constructor & Destructor Documentation

◆ BlockStatement()

juce::littlefoot::Compiler::BlockStatement::BlockStatement ( const CodeLocation l,
BlockPtr  parent,
Function f,
bool  isMainFunctionBlock 
)
inline

Member Function Documentation

◆ addVariable()

void juce::littlefoot::Compiler::BlockStatement::addVariable ( Variable  v,
const CodeLocation locationForError 
)
inline

◆ alwaysReturns()

bool juce::littlefoot::Compiler::BlockStatement::alwaysReturns ( ) const
inlineoverridevirtual

◆ emit()

void juce::littlefoot::Compiler::BlockStatement::emit ( CodeGenerator cg,
Type  requiredType,
int  stackDepth 
) const
inlineoverridevirtual

◆ getGlobalConstants()

const Array<Variable>& juce::littlefoot::Compiler::BlockStatement::getGlobalConstants ( ) const
inlinenoexcept

◆ getGlobalVariables()

const Array<Variable>& juce::littlefoot::Compiler::BlockStatement::getGlobalVariables ( ) const
inlinenoexcept

◆ getNumVariablesInParentBlocks()

int juce::littlefoot::Compiler::BlockStatement::getNumVariablesInParentBlocks ( ) const
inlinenoexcept

◆ getVariable()

const Variable& juce::littlefoot::Compiler::BlockStatement::getVariable ( const String name,
const CodeLocation locationForError 
) const
inline

◆ getVariableDepth()

int juce::littlefoot::Compiler::BlockStatement::getVariableDepth ( const String name,
const CodeLocation locationForError 
) const
inline

◆ indexOf()

static int juce::littlefoot::Compiler::BlockStatement::indexOf ( const Array< Variable > &  vars,
const String name 
)
inlinestaticnoexcept

◆ simplify()

Statement* juce::littlefoot::Compiler::BlockStatement::simplify ( SyntaxTreeBuilder stb)
inlineoverridevirtual

◆ visitSubStatements()

void juce::littlefoot::Compiler::BlockStatement::visitSubStatements ( Statement::Visitor visit) const
inlineoverridevirtual

Member Data Documentation

◆ constants

Array<Variable> juce::littlefoot::Compiler::BlockStatement::constants

◆ function

Function* juce::littlefoot::Compiler::BlockStatement::function

◆ isMainBlockOfFunction

bool juce::littlefoot::Compiler::BlockStatement::isMainBlockOfFunction

◆ location

CodeLocation juce::littlefoot::Compiler::Statement::location
inherited

◆ parentBlock

BlockPtr juce::littlefoot::Compiler::Statement::parentBlock
inherited

◆ statements

Array<StatementPtr> juce::littlefoot::Compiler::BlockStatement::statements

◆ variables

Array<Variable> juce::littlefoot::Compiler::BlockStatement::variables

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