掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     C++:モデルとソースコードの同期でバグと思われる動作


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

C++:モデルとソースコードの同期でバグと思われる動作

○ご指摘

1. コード上でタグ付き値要素を削除しても、モデルからタグ付き値が削除されない。
  1. に関係するタグ付き値として確認されたもの。
  attribute_name プロパティ
  bitfield    ビットフィールド
  bodyLocation  インライン関数
  explicit    明示的コンストラクタ
  friend     フレンド関数
  initializer  初期化リスト
  inline     インライン関数
  mutable    ミュータブル変数
  overrides   純粋仮想関数

2. 他クラス型の変数を持つクラスを読み込むと、他→自の関連が追加され
  関連端のアクセス制御指定が常にpublicになる。

  例)Class1とClass2があって、Class1にはClass2型のprivate属性が
  定義されている状態で、Class2のみををコード生成し、続けてClass2
  のソースファイルを読み込ませます。ここでモデル上に、Class1から
  Class2に向かって関連が引かれるのですが、関連端の可視性がpublic
  になってしまいます。

3. ネスト構成をソースコード上で変更した場合、モデル上でのネスト関係
  がもとの状態のままである。(ネスト関係の取り消し、ネスト要素の移動)

4. "*const"を読み込むことができない。("*"になってしまう)
  使用例)
  class Person
  {
  public:
   Person(const char *name)
   : myName(name)
    {}
    ...
  private:
   const char *const myName;
  };

5. 配列の参照を読み込むことができない。(構文エラーになる)

6. virtualをpure virtualにして読み込んでも、"pure"にチェックが入らない。


○回答

ご指摘の前提は以下の場合だと思いますので、このことを前提に回答します。
・ソースコードの読み込みで「同期」が設定されている
・既にEAからソースコードが生成されている状態で、ソースコードを編集し、
 モデルと同期を行った場合

1. ご指摘の動作を確認しました。開発元に連絡し修正いたします。

2.ご指摘の動作を確認しました。
 Class1のソースコード生成→同期による手順では、この現象は発生しないようです。
 開発元に連絡し修正いたします。

3.ご指摘の動作を確認しました。開発元に連絡し修正いたします。

4.現在未対応です。機能追加要望として検討いたします。

5.現在未対応です。機能追加要望として検討いたします。

6.最新版で修正済みです。

EAのソースコード生成・読み込みに関するスタンスは以下をご確認ください。
https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=1272
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ