textLiteralDefaultIsString

textLiteralDefaultIsString プロパティーは、EGL にテキスト・リテラルの処理方法を知らせます。 デフォルト時の EGL は、明示的な型宣言のないリテラルを STRING として処理します。 開発者が主に固定されたテキスト変数の型を使用する VisualAge® Generator のプログラムでは、このことが矛盾を引き起こす場合があります。これらのプログラムでは、長時間の変換が必要となる可変長の Unicode ストリングをリテラルとして実装することは非効率的です。

また、call 文、transfer 文、または show 文で、引数としてリテラルを渡す場合、その引数は、受け取る側のパラメーターの型と一致していなければなりません (VisualAge Generator では通常 CHAR 型)。 textLiteralDefaultIsString を NO に設定した場合、EGL は VisualAge Generator パラメーターへの割り当てに適した型を、リテラルに指定します。

このプロパティーは、以下の値を持つ論理型です。
YES
テキスト・リテラルに明示的な型指定がない場合、プリプロセッサーは、そのリテラルに STRING 型を割り当てます。 これはデフォルトです。
NO
テキスト・タイプは、以下の表で示すように、リテラル内の文字によって変わります。
表 1. textLiteralDefaultIsString が NO に設定されている場合のテキスト・リテラルの型の割り当て
リテラルの内容 長さ
すべて 1 バイト文字 CHAR リテラルの文字の数
すべて 2 バイト文字 DBCHAR リテラルの文字の数
1 バイトと 2 バイト文字の組み合わせ MBCHAR リテラルの長さ (バイト)

互換性

表 2. textLiteralDefaultIsString の互換性に関する考慮事項
プラットフォーム 問題
Java™ 生成 すべての Java テキスト・リテラルは Java ストリングとして実装されるため、このプロパティーによるパフォーマンスへの影響はありません。
JavaScript 生成 プロパティー textLiteralDefaultIsString はサポートされていません。

フィードバック