Statement

extern (C++) abstract
class Statement : ASTNode {}

Constructors

this
this(Loc loc, STMT stmt)
Undocumented in source.

Members

Functions

accept
void accept(Visitor v)

Support Visitor Pattern

comeFrom
bool comeFrom()
deprecation
void deprecation(const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
dyncast
DYNCAST dyncast()
Undocumented in source. Be warned that the author may not have intended to support it.
endsWithReturnStatement
inout(ReturnStatement) endsWithReturnStatement()

Does this statement end with a return statement?

error
void error(const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
flatten
Statements* flatten(Scope* sc)

Flatten out the scope by presenting the statement as an array of statements.

getRelatedLabeled
Statement getRelatedLabeled()
Undocumented in source. Be warned that the author may not have intended to support it.
hasBreak
bool hasBreak()

Determine if an enclosed break would apply to this statement, such as if it is a loop or switch statement.

hasCode
bool hasCode()
hasContinue
bool hasContinue()

Determine if an enclosed continue would apply to this statement, such as if it is a loop statement.

isBreakStatement
inout(BreakStatement) isBreakStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isCaseStatement
inout(CaseStatement) isCaseStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isCompoundDeclarationStatement
inout(CompoundDeclarationStatement) isCompoundDeclarationStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isCompoundStatement
inout(CompoundStatement) isCompoundStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isContinueStatement
inout(ContinueStatement) isContinueStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isDefaultStatement
inout(DefaultStatement) isDefaultStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isDoStatement
inout(DoStatement) isDoStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isDtorExpStatement
inout(DtorExpStatement) isDtorExpStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isErrorStatement
inout(ErrorStatement) isErrorStatement()

A cheaper method of doing downcasting of Statements.

isExpStatement
inout(ExpStatement) isExpStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isForStatement
inout(ForStatement) isForStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isForeachRangeStatement
inout(ForeachRangeStatement) isForeachRangeStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isForeachStatement
inout(ForeachStatement) isForeachStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isForwardingStatement
inout(ForwardingStatement) isForwardingStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isGotoCaseStatement
inout(GotoCaseStatement) isGotoCaseStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isGotoDefaultStatement
inout(GotoDefaultStatement) isGotoDefaultStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isGotoStatement
inout(GotoStatement) isGotoStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isIfStatement
inout(IfStatement) isIfStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isLabelStatement
inout(LabelStatement) isLabelStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isReturnStatement
inout(ReturnStatement) isReturnStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isScopeStatement
inout(ScopeStatement) isScopeStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isSwitchErrorStatement
inout(SwitchErrorStatement) isSwitchErrorStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isSwitchStatement
inout(SwitchStatement) isSwitchStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isThrowStatement
inout(ThrowStatement) isThrowStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isTryCatchStatement
inout(TryCatchStatement) isTryCatchStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isTryFinallyStatement
inout(TryFinallyStatement) isTryFinallyStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isUnrolledLoopStatement
inout(UnrolledLoopStatement) isUnrolledLoopStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isWhileStatement
inout(WhileStatement) isWhileStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
isWithStatement
inout(WithStatement) isWithStatement()
Undocumented in source. Be warned that the author may not have intended to support it.
last
inout(Statement) last()

Find last statement in a sequence of statements.

scopeCode
Statement scopeCode(Scope* sc, Statement* sentry, Statement* sexception, Statement* sfinally)

If this statement has code that needs to run in a finally clause at the end of the current scope, return that code in the form of a Statement.

syntaxCopy
Statement syntaxCopy()
Undocumented in source. Be warned that the author may not have intended to support it.
toChars
const(char)* toChars()
Undocumented in source. Be warned that the author may not have intended to support it.
usesEH
bool usesEH()
warning
void warning(const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

arraySyntaxCopy
Statements* arraySyntaxCopy(Statements* a)

Do syntax copy of an array of Statement's.

Variables

loc
Loc loc;
Undocumented in source.
stmt
STMT stmt;
Undocumented in source.

Inherited Members

From ASTNode

accept
void accept(Visitor v)

Visits this AST node using the given visitor.

Meta