掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     テンプレート変更時の、操作の追加処理に関する問題


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
tkouno
投稿日時: 2007-9-20 9:51
EA Administrator
投稿: 3939

テンプレート変更時の、操作の追加処理に関する問題

○ご質問

コード生成テンプレートを独自に変更し、操作の実装コードの
インデントを修正しています。

新規にソースコードを生成する際には問題はありませんが
クラス図でクラスに操作を追加し、同期生成すると
インデントが指定したとおりになりません。

○回答

操作の追加の場合にはClassBodyテンプレートをそのまま実行するわけには
行きませんので、ClassBodyテンプレートを上から順に探索し、
Operationのlistコマンドを最初に見つけたものを、追加の場合の
インデントとして適用します。

また、実装(Impl)のテンプレートの場合には、ClassBodyImplテンプレート内の
OperationImplのlistコマンドを探索します。もしこれが存在しない場合には
ClassBodyテンプレートのOperationのlistコマンドのインデントで
代用します。

つまり、ClassBodyImplテンプレートの先頭付近に

$dummy = %list="OperationImpl" @separator="\n\n" @indent="\t"%

のようなコードを追加すれば、ここで指定したインデントが
操作の追加時にも適用されます。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ