119 uniqueExpr::operator bool()
const {
136 return rhs !=
nullptr;
147 mulExpr::operator bool()
const {
159 addExpr::operator bool()
const {
171 shiftExpr::operator bool()
const {
183 relationalExpr::operator bool()
const {
195 equalityExpr::operator bool()
const {
207 andExpr::operator bool()
const {
219 exclusiveExpr::operator bool()
const {
231 inclusiveExpr::operator bool()
const {
243 logicalAndExpr::operator bool()
const {
255 logicalOrExpr::operator bool()
const {
482 for (
auto &i : ptr->
get())
488 for (
auto &i : ptr->
get())
494 for (
auto &i : ptr->
get())
505 for (
auto &i : ptr->
get())
841 for (
auto &i : ptr->
elifB) {
1004 return terms.size() == 1;
1008 for (
auto &term : ptr->
getTerms()) {
1015 for (
auto stmt : ptr->
getStmts()) {
1167 for (
auto &arg : ptr->
types) {
1174 for (
auto &i : ptr->
pairs) {
1225 switch (ptr->
kind) {
1236 for (
auto &i : ptr->
values)
1247 for (
auto &expr : ptr->
exprs)
1265 switch (ptr->
kind) {
1284 for (
auto &i : ptr->
emaes)
yoi::lexer::token & getToken()
std::tuple< yoi::indexT, yoi::indexT > getLocation()
externModuleAccessExpression * rhs
externModuleAccessExpression & getRhs() const
vec< mulExpr * > & getTerms()
vec< lexer::token > & getOp()
vec< equalityExpr * > & getTerms()
vec< lexer::token > & getOp()
vec< equalityExpr * > terms
yoi::vec< yoi::rExpr * > exprs
vec< inCodeBlockStmt * > & getStmts()
yoi::vec< identifierWithTypeSpec * > algebraParams
yoi::vec< conceptStmt * > conceptBlock
union yoi::conceptStmt::ConceptStmtValue value
enum yoi::conceptStmt::Kind kind
definitionArguments & getArgs()
definitionArguments * args
definitionArguments & getArgs()
definitionArguments * args
structDefInner & getInner()
satisfyClause * satisfyCondition
identifier & getId() const
vec< defTemplateArgSpec * > & get()
vec< defTemplateArgSpec * > spec
vec< identifierWithTypeSpec * > spec
vec< identifierWithTypeSpec * > & get()
vec< enumerationPair * > values
vec< relationalExpr * > & getTerms()
vec< relationalExpr * > terms
vec< lexer::token > & getOp()
vec< andExpr * > & getTerms()
vec< lexer::token > & getOp()
vec< identifierWithTemplateArg * > & getTerms()
bool isIdentifier() const
inCodeBlockStmt * afterStmt
inCodeBlockStmt * initStmt
inCodeBlockStmt & getAfterStmt()
inCodeBlockStmt & getInitStmt()
typeSpec & getResultType()
identifierWithDefTemplateArg * id
definitionArguments & getArgs()
identifierWithDefTemplateArg & getId()
definitionArguments * args
externModuleAccessExpression * name
unnamedDefinitionArguments * args
unnamedDefinitionArguments & getArgs() const
typeSpec & getResultType() const
unnamedDefinitionArguments * args
union yoi::globalStmt::vValue value
enum yoi::globalStmt::vKind kind
vec< globalStmt * > & getStmts()
defTemplateArg & getArg() const
bool hasDefTemplateArg() const
identifier & getId() const
identifier & getId() const
bool hasTemplateArg() const
templateArg & getArg() const
identifier & getId() const
typeSpec & getSpec() const
vec< ifBlock > & getElifBlock()
codeBlock & getElseBlock()
bool hasElseBlock() const
innerMethodDef & getMethod()
finalizerDef & getFinalizer()
constructorDef & getConstructor()
bool isConstructor() const
vec< implInnerPair * > & getInner()
vec< implInnerPair * > inner
externModuleAccessExpression & getInterfaceId()
externModuleAccessExpression & getStructId()
externModuleAccessExpression * structName
externModuleAccessExpression * interfaceName
union yoi::inCodeBlockStmt::vValue value
enum yoi::inCodeBlockStmt::vKind kind
vec< exclusiveExpr * > terms
vec< lexer::token > & getOp()
vec< exclusiveExpr * > & getTerms()
typeSpec & getResultType()
definitionArguments & getArgs()
identifierWithDefTemplateArg * name
definitionArguments * args
identifierWithDefTemplateArg & getName()
typeSpec & getResultType()
identifierWithTemplateArg & getName()
definitionArguments & getArgs()
definitionArguments * args
identifierWithTemplateArg * name
innerMethodDecl & getMethod()
identifierWithTypeSpec & getVar()
identifierWithTypeSpec * var
vec< interfaceDefInnerPair * > & getInner()
vec< interfaceDefInnerPair * > inner
identifierWithDefTemplateArg * id
identifierWithDefTemplateArg & getId()
interfaceDefInner & getInner()
interfaceDefInner * inner
vec< yoi::identifier * > captures
definitionArguments * args
uniqueExpr & getLhs() const
enum yoi::letAssignmentPairLHS::vKind kind
letAssignmentPairLHS * lhs
letAssignmentPairLHS & getLhs()
vec< letAssignmentPair * > & getTerms()
vec< letAssignmentPair * > terms
vec< lexer::token > & getOp()
vec< inclusiveExpr * > terms
vec< inclusiveExpr * > & getTerms()
vec< logicalAndExpr * > & getTerms()
vec< lexer::token > & getOp()
vec< logicalAndExpr * > terms
yoi::vec< marcoPair * > pairs
vec< subscriptExpr * > & getTerms()
vec< subscriptExpr * > terms
vec< lexer::token > & getOp()
vec< leftExpr * > & getTerms()
invocationArguments * args
externModuleAccessExpression * type
enum yoi::primary::primaryKind kind
memberExpr & getMemberExpr() const
bracedInitalizerList * bracedInitalizer
basicLiterals & getLiterals() const
typeIdExpression * typeId
dynCastExpression * dynCast
logicalOrExpr & getExpr() const
vec< shiftExpr * > & getTerms()
vec< lexer::token > & getOp()
yoi::vec< externModuleAccessExpression * > emaes
externModuleAccessExpression * emae
vec< lexer::token > & getOp()
vec< addExpr * > & getTerms()
innerMethodDecl & getMethod()
constructorDecl & getConstructor()
identifierWithTypeSpec & getVar()
finalizerDecl * finalizer
finalizerDecl & getFinalizer()
identifierWithTypeSpec * var
vec< structDefInnerPair * > & getInner()
vec< structDefInnerPair * > inner
identifierWithDefTemplateArg * id
identifierWithDefTemplateArg & getId()
structDefInner & getInner()
vec< subscript * > & getSubscript()
vec< subscript * > subscriptVal
bool isIdentifier() const
identifierWithTemplateArg * id
bool isInvocation() const
invocationArguments * args
vec< templateArgSpec * > spec
vec< templateArgSpec * > & get()
vec< catchParam * > catchParams
yoi::identifierWithDefTemplateArg * lhs
decltypeExpr * decltypeExpression
yoi::vec< uint64_t > * arraySubscript
funcTypeSpec & getTypeSpec() const
externModuleAccessExpression * member
enum yoi::typeSpec::typeSpecKind kind
externModuleAccessExpression & getMemberExpr() const
abstractExpr & getLhs() const
void finalizeAST(funcTypeSpec *ptr)
satisfyStmt * satisfyStmt
dataStructDefStmt * dataStructDefStmtVal
enumerationDefinition * enumerationDefVal
interfaceDefStmt * interfaceDefStmtVal
conceptDefinition * conceptDefVal
funcDefStmt * funcDefStmtVal
typeAliasStmt * typeAliasStmtVal
exportDecl * exportDeclVal
structDefStmt * structDefStmtVal
importDecl * importDeclVal
returnStmt * returnStmtVal
continueStmt * continueStmtVal