View source code
Display the source code in dmd/statement.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Class dmd.statement.ForwardingStatement

Statement whose symbol table contains foreach index variables in a local scope and forwards other members to the parent scope. This wraps a statement.

class ForwardingStatement
  : Statement ;

Also see: ForwardingAttribDeclaration

Fields

NameTypeDescription
statement StatementThe wrapped statement.
sym ForwardingScopeDsymbolThe symbol containing the static foreach variables.

Methods

NameDescription
flatten ForwardingStatements are distributed over the flattened sequence of statements. This prevents flattening to be "blocked" by a ForwardingStatement and is necessary, for example, to support generating scope guards with `static foreach`:
accept Support Visitor Pattern
comeFrom
factory Create instance of class specified by the fully qualified name classname. The class must either have no constructors or have a default constructor.
hasBreak Determine if an enclosed break would apply to this statement, such as if it is a loop or switch statement.
hasCode
hasContinue Determine if an enclosed continue would apply to this statement, such as if it is a loop statement.
isBreakStatement A cheaper method of doing downcasting of Statements.
isCaseStatement A cheaper method of doing downcasting of Statements.
isCompoundStatement A cheaper method of doing downcasting of Statements.
isDefaultStatement A cheaper method of doing downcasting of Statements.
isDtorExpStatement A cheaper method of doing downcasting of Statements.
isErrorStatement A cheaper method of doing downcasting of Statements.
isExpStatement A cheaper method of doing downcasting of Statements.
isForwardingStatement A cheaper method of doing downcasting of Statements.
isGotoCaseStatement A cheaper method of doing downcasting of Statements.
isGotoDefaultStatement A cheaper method of doing downcasting of Statements.
isIfStatement A cheaper method of doing downcasting of Statements.
isLabelStatement A cheaper method of doing downcasting of Statements.
isReturnStatement A cheaper method of doing downcasting of Statements.
isScopeStatement A cheaper method of doing downcasting of Statements.
last Find last statement in a sequence of statements.
opCmp Compare with another Object obj.
opEquals Test whether this is equal to o. The default implementation only compares by identity (using the is operator). Generally, overrides for opEquals should attempt to compare objects by their contents.
scopeCode 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.
toHash Compute hash function for Object.
toString Convert Object to a human readable string.
usesEH

Authors

Walter Bright

License

Boost License 1.0