メソッドで奇妙な動作を観察していEcoreUtil.equalsます。createResourceリソースのメソッドとメソッドを使用して、2 つの異なる場所 (2 つの場所に同じファイルがあります) からまったく同じ 2 つの XML ファイルを読み込んでいますload。
ECoreUtil.equalsこれら 2 に対して false を返しますEObjects。コードをデバッグすると、とEcoreUtil.equalsの == チェックが原因で失敗することがわかります。クラスと構造的特徴は同じですが、 と の 2 つの別個のインスタンスが見られることに注意してください。機能とクラスに対して == チェックを行うため、失敗します。EClassEStructuralFeatureEClassEStructuralFeatureEcoreUtil.equals
私が理解できないのは、なぜ と に対して 2 つのインスタンスが作成されるのかということEClassですEStructuralFeature。2 つの XML ファイルに違いはないと確信しています。一方は他方のコピーです。
その理由となる可能性のあるecoreモデルの設定はありますか? 私の XML ファイルにはxmi:id属性があります。
私はこの振る舞いに困惑しています。誰でもポインタを与えることができますか?
よろしく、 アラティ