シグネチャ
{if-debuggable debug-code [else code]}
デバッグ可能かどうかに基づく条件付コンパイルです。
説明
デバッグ可能なパッケージ内であれば、
debug-code に展開し、そうでなければ
code に展開します。
デバッグ可能かどうかは、マクロが展開されるパッケージの
debuggable? 属性を見て規定されます。
このマクロは
pcurl-file によって特別に操作されます。
debug? キーワードが false(既定)で
pcurl-fileが呼び出される場合、これは pcurl ファイルを生成する前に
code に展開されます。
if-debuggable がテキスト フォーマット、テキスト プロシージャ、又はテキストをコンテンツとして扱うマクロ内で使用される場合、
pcurl-file はこの最適化を行えないことに注意してください。
プログラミング注意事項
これは、.pcurl ファイルにするコードのサイズに影響を与えずに、テストやデバッグで使用するコードを含めるために使用されます。
例
{define-class MyClass
{method public {do-something}:void
|| ...
{if-debuggable
{self.test-invariants}
}
}
{if-debuggable
|| Test and debugging methods.
{method public {test-invariants}:void
|| ...
}
}
}
導入:
バージョン 6.0