英語版
このページの英語版を見る
dmd.statement
文のASTノードを定義する。
仕様 ステートメント
Authors:
License:
ソース statement.d
- abstract class
Statement
: dmd.ast_node.ASTNode; -
- static Statements*
arraySyntaxCopy
(Statements*a
); - "文"の配列の構文コピーを行う。
- const pure nothrow bool
hasBreak
(); - このステートメントにbreak 。 ステートメントに適用されるかどうかを判断する。Returns:true もしそうなら
- const pure nothrow bool
hasContinue
(); - continue 、この文に適用されるかどうかを判断する。 文に適用されるかどうかを判断する。Returns:true もしそうなら
- final bool
usesEH
(); - Returns:true if文は例外処理を使用する。
- final bool
comeFrom
(); - Returns:true if文は、gotoのように他のどこかから「来た」ものである。
- final bool
hasCode
(); - Returns:true if文に実行可能コードがある。
- inout pure nothrow inout(Statement)
last
(); - 一連の文の最後の文を見つける。Returns:最後の文がない場合はnull 。
- void
accept
(Visitorv
); - サポート・ビジター・パターンParameters:
Visitor v
ビジター - inout pure nothrow @nogc inout(ReturnStatement)
endsWithReturnStatement
(); - この文はreturn文で終わっているか?つまり、単一のreturn文なのか、それとも複合文なのか。 無条件にreturn文を打つような複合文なのか。Returns:return文で終わっているか、そうでなければnullか。
- final inout pure nothrow @nogc @safe inout(ErrorStatement)
isErrorStatement
(); - Statementsのダウンキャストを行う、より安価な方法である。Returns:ダウンキャスト可能な場合はダウンキャスト文、そうでない場合null
- class
ErrorStatement
: dmd.statement.Statement; - semantic()に失敗した、またはErrorExpやTypeErrorであるコンポーネントを持つStatementは、semantic()からErrorStatementを返す必要がある。 またはTypeErrorであるコンポーネントを持つステートメントは、semantic()からErrorStatementを返すべきである。
- class
PeelStatement
: dmd.statement.Statement; - class
ExpStatement
: dmd.statement.Statement; - class
DtorExpStatement
: dmd.statement.ExpStatement; - class
MixinStatement
: dmd.statement.Statement; - class
CompoundStatement
: dmd.statement.Statement; -
- final @safe this(const ref Loc
loc
, Statements*statements
); - CompoundStatement 既存の の配列を使用してStatementを構築する。Parameters:
Loc loc
インスタンス化情報 Statements* statements
このクラスが参照するStatements の配列。 - final this(const ref Loc
loc
, Statement[]sts
...); - Statements の配列からCompoundStatement を構築する。Parameters:
Loc loc
インスタンス化情報 Statement[] sts
このクラスでコピーされるStatements の可変長配列。 エントリ自体はコピーされない。
- class
CompoundDeclarationStatement
: dmd.statement.CompoundStatement; - class
UnrolledLoopStatement
: dmd.statement.Statement; - これは、continueが文の次に進み、breakが文の最後に進むようにするためである。 これは、continueが文の次に進み、breakが文の最後に進むようにするためである。
- class
ScopeStatement
: dmd.statement.Statement; - class
ForwardingStatement
: dmd.statement.Statement; - シンボル・テーブルがforeachインデックス変数を含むステートメント。 ローカル・スコープにあり、他のメンバーを親スコープに転送する。 これは ステートメントをラップする。こちらも参照のこと:dmd.attrib.ForwardingAttribDeclaration
- ForwardingScopeDsymbol
sym
; - static foreach 変数を含むシンボル。
- Statement
statement
; - ラップされた文。
- class
WhileStatement
: dmd.statement.Statement; - class
DoStatement
: dmd.statement.Statement; - class
ForStatement
: dmd.statement.Statement; - class
ForeachStatement
: dmd.statement.Statement; - class
ForeachRangeStatement
: dmd.statement.Statement; - class
IfStatement
: dmd.statement.Statement; -
- bool
isIfCtfeBlock
(); - Returns:もしif (__ctfe)
- class
ConditionalStatement
: dmd.statement.Statement; - class
StaticForeachStatement
: dmd.statement.Statement; - https://dlang.org/spec/version.html#StaticForeachStatement 静的foreach文のようなもの: void main() { 静的foreach(i; 0 ... 10) { pragma(msg, i); } }
- class
PragmaStatement
: dmd.statement.Statement; - class
StaticAssertStatement
: dmd.statement.Statement; - class
SwitchStatement
: dmd.statement.Statement; -
- Expression
condition
; - switch(条件)
- Statement
_body
; - bool
isFinal
; - bool
hasDefault
; - デフォルト文があれば真
- bool
hasVars
; - 可変大文字小文字の値があれば真
- DefaultStatement
sdefault
; - デフォルト:
- Statement
tryBody
; - TryCatchStatementまたはTryFinallyStatementに設定する。
- TryFinallyStatement
tf
; - TryFinallyStatementの'finally'ブロックにある場合、設定される
- GotoCaseStatements
gotoCases
; - 未解決のGotoCaseStatementの配列
- CaseStatements*
cases
; - CaseStatementの配列
- VarDeclaration
lastVar
; - このステートメントで最後に観測された変数宣言
- class
CaseStatement
: dmd.statement.Statement; - class
CaseRangeStatement
: dmd.statement.Statement; - class
DefaultStatement
: dmd.statement.Statement; - class
GotoDefaultStatement
: dmd.statement.Statement; - class
GotoCaseStatement
: dmd.statement.Statement; - class
SwitchErrorStatement
: dmd.statement.Statement; - class
ReturnStatement
: dmd.statement.Statement; - class
BreakStatement
: dmd.statement.Statement; - class
ContinueStatement
: dmd.statement.Statement; - class
SynchronizedStatement
: dmd.statement.Statement; - class
WithStatement
: dmd.statement.Statement; - class
TryCatchStatement
: dmd.statement.Statement; -
- Statement
tryBody
; - 本体部分にある場合は、囲む TryCatchStatement または TryFinallyStatement に設定する。
- class
Catch
: dmd.rootobject.RootObject; - class
TryFinallyStatement
: dmd.statement.Statement; -
- Statement
tryBody
; - 本体部分にある場合、囲む TryCatchStatement または TryFinallyStatement に設定される。
- bool
bodyFallsThru
; - 本体が最終的に終了する場合、true を返す
- class
ScopeGuardStatement
: dmd.statement.Statement; - class
ThrowStatement
: dmd.statement.Statement; - class
DebugStatement
: dmd.statement.Statement; - class
GotoStatement
: dmd.statement.Statement; -
- Statement
tryBody
; - 本体部分にある場合、TryCatchStatement または TryFinallyStatement に設定される
- bool
inCtfeBlock
; - goto がif (__ctfe) ブロック内にある場合に設定される
- class
LabelStatement
: dmd.statement.Statement; -
- Statement
tryBody
; - 本体部分にある場合、TryCatchStatement または TryFinallyStatement に設定される
- class
LabelDsymbol
: dmd.dsymbol.Dsymbol; - class
AsmStatement
: dmd.statement.Statement; - class
InlineAsmStatement
: dmd.statement.AsmStatement; - class
GccAsmStatement
: dmd.statement.AsmStatement; - https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html D 式オペランドを持つアセンブラ命令。
- class
CompoundAsmStatement
: dmd.statement.CompoundStatement; - 完全なasm {}ブロック
- class
ImportStatement
: dmd.statement.Statement; - pure @safe string
visitStmtCase
(stringhandler
); - VisitInitializerのCTFE専用ヘルパー関数。Parameters:
string handler
訪問ハンドラの名前を文字列で指定する Returns:場合の定型コード
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku