英語版
このページの英語版を見る
dmd.sideeffect
表現の副作用を見つける。
Authors:
License:
出典 sideeffect.d
- bool
isTrivialExp(Expressione); - フロントエンドの式書き換えは、次のような目的で、些細でない部分式のために一時変数を作成する必要がある。 を作成する必要がある:
- 評価順序を保存する
- ASTでの部分式の共有を防ぐ。
- bool
hasSideEffect(Expressione, boolassumeImpureCalls= false); - 式に副作用があるかどうかを判断する。Parameters:
Expression e式に副作用があるかどうかを判定する。 bool assumeImpureCalls関数呼び出しが常に不純であると仮定するかどうか。 を常に不純であると仮定すべきかどうか(例えば、デバッグが不純であることを許容する)。 - int
callSideEffectLevel(FuncDeclarationf); - fの呼び出し、あるいは関数型やデリゲート型t1に副作用があるかどうかを判定する。Returns:0 副作用がある 1 nothrow + 強く純粋である。 2 nothrow + 強く純粋 + 返り値の不変間接のみ 型」である。
- bool
discardValue(Expressione); - この式の結果は破棄される。 演算に副作用がない(つまり意味がない)場合はエラーメッセージを表示する。Returns:式に副作用がない場合はtrueを返す。
- VarDeclaration
copyToTemp(StorageClassstc, const char[]name, Expressione); - eの値をコピーする一時変数を作成する。Parameters:
StorageClass stc作成された一時変数にはストレージ・クラスが追加される。 char[] name一時変数の名前 Expression e元の式 Returns:新しく作られた一時変数。 - Expression
extractSideEffect(Scope*sc, const char[]name, ref Expressione0, Expressione, boolalwaysCopy= false); - eがトリビアルでない場合、eの評価を抽出するための一時変数を構築する。Parameters:
Scope* scスコープ char[] name一時変数の名前 Expression e0には、新しい副作用部分が付加される。 Expression eオリジナル式 bool alwaysCopyがtrueの場合、eが些細なものであっても新しい一時変数を作る。 Returns:e がトリビアルで alwaysCopy == false の場合、e 自身が返される。 そうでない場合は、新しい VarExp が返される。注釈 eのl値性はSTC.ref_またはSTC.r値によってうまく処理される。
Copyright © 1999-2025 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
サイト全体のドキュメントのdmdのバージョン: 2.109.1
最新のdmdのバージョン: 2.111.0 ダウンロード
翻訳日付:
HTML生成日時:
編集者: dokutoku