掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     ソースコード生成において、属性の後ろに属性のノートを出力したい


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
sugimoto
投稿日時: 2007-12-18 15:28
EA Administrator
投稿: 1895

ソースコード生成において、属性の後ろに属性のノートを出力したい

○ご質問

属性の定義の後ろにノートを出力するため、
Attributeのテンプレートを以下のように編集しました。

 %AttributeDeclaration% %AttributeNotes%

また、AttributeNotesテンプレートを以下のような書式に変更しました。
 /* %attNotes% */

この状態で複数行のノートを持つ属性をソースコード生成
(コードを上書き)すると、属性部分の出力は以下のようになります。

 int att1; /* note1
 note2
 note3 */

続いて、何も変更せずにソースコード生成(既存のコードと同期)すると、
属性の定義の前にもノートが重複して出力されてしまいます。

 /* note1  ←問題の行
 note2    ←問題の行
 note3 */  ←問題の行
 int att1; /* note1
 note2
 note3 */

ノートが単一行の場合は、上記のような問題は発生しません。
モデル⇔ソースのどちらの方向へ同期を行っても、単一行、複数行問わず、
属性の定義の後ろにノートが生成/同期されるようにしたいのですが、
可能でしょうか?


○回答

上記現象を確認いたしました。

現状、ノートが複数行ある場合、同期時には既にノートがあるかなどの
条件に関わらず、必ず属性の前にノートが出力されてしまっています。

コード生成テンプレートの書き方などで、ご要望の対応ができないか検討
しましたが、現状は、同期時のソースコード生成時は、複数行の場合に限り、
属性の上にノートを出力しており、対応を行うための手段がない状況です。

現状の動作に対する理由、および複数行でも属性の後ろにノートを出力する
方法について、開発元に確認し、改善いたします。

現時点でご要望にお応えすることができず、申し訳ございません。
sugimoto
投稿日時: 2008-1-17 18:26
EA Administrator
投稿: 1895

Re: ソースコード生成において、属性の後ろに属性のノートを出力したい

本件について開発元に連絡が取れましたので、ご連絡いたします。

ソースコード生成時にすでにソースコードの属性にコメントが
あるかどうかにつきましては、現状のEAは、属性と同じ行のみ
チェックするように動作しています。

複数行のコメントが存在する場合やコメントがない場合は、同じ行に
コメントがないと認識します。この場合、EAはコメントを追加する動作
を行いますが、このタイミングでは、AttributeNotes テンプレートを
参照し、属性の定義よりも前に追加するようになっています。
(このため、モデル内の属性のノートが単数行でも、ソースコードに
コメントがない場合は、ソースコード生成すると属性の定義の前に
ノートが追加されます。)
また、現状の動作につきましては、変更が困難な状況です。


このような状況でして、ご質問いただいておりました属性の後ろに
コメントを出力したいという対応は、現状のコード生成テンプレート
ではできず、回避方法もない状況です。

ご要望にお応えすることができず、大変申し訳ございません。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ