I have an xcore package that's not compiling where I have a class TriageTask extends Task. The following statements don't compile because they are not defined in the TaskPackage:
public static final int TRIAGE_TASK___ECLASS = TaskPackage.TASK___ECLASS;
public static final int TRIAGE_TASK___EIS_PROXY = TaskPackage.TASK___EIS_PROXY;
public static final int TRIAGE_TASK___ERESOURCE = TaskPackage.TASK___ERESOURCE;
public static final int TRIAGE_TASK___ECONTAINER = TaskPackage.TASK___ECONTAINER;
public static final int TRIAGE_TASK___ECONTAINING_FEATURE = TaskPackage.TASK___ECONTAINING_FEATURE;
public static final int TRIAGE_TASK___ECONTAINMENT_FEATURE = TaskPackage.TASK___ECONTAINMENT_FEATURE;
public static final int TRIAGE_TASK___ECONTENTS = TaskPackage.TASK___ECONTENTS;
public static final int TRIAGE_TASK___EALL_CONTENTS = TaskPackage.TASK___EALL_CONTENTS;
public static final int TRIAGE_TASK___ECROSS_REFERENCES = TaskPackage.TASK___ECROSS_REFERENCES;
public static final int TRIAGE_TASK___EGET__ESTRUCTURALFEATURE = TaskPackage.TASK___EGET__ESTRUCTURALFEATURE_1;
public static final int TRIAGE_TASK___EGET__ESTRUCTURALFEATURE_BOOLEAN = TaskPackage.TASK___EGET__ESTRUCTURALFEATURE_BOOLEAN_1;
public static final int TRIAGE_TASK___ESET__ESTRUCTURALFEATURE_OBJECT = TaskPackage.TASK___ESET__ESTRUCTURALFEATURE_OBJECT_1;
public static final int TRIAGE_TASK___EIS_SET__ESTRUCTURALFEATURE = TaskPackage.TASK___EIS_SET__ESTRUCTURALFEATURE_1;
public static final int TRIAGE_TASK___EUNSET__ESTRUCTURALFEATURE = TaskPackage.TASK___EUNSET__ESTRUCTURALFEATURE_1;
public static final int TRIAGE_TASK___EINVOKE__EOPERATION_ELIST = TaskPackage.TASK___EINVOKE__EOPERATION_ELIST_1;
I'm not sure how much info you need. I can't provide the source for the TriageTask, but the Task model is part of eTrack. I can workaround the problem by simply deleting the lines that don't compile.
On 10/12/2012 5:31 PM, Bryan Hunt wrote:
> Hi Ed,
>
> I have an xcore package that's not compiling where I have a class
> TriageTask extends Task. The following statements don't compile
> because they are not defined in the TaskPackage:
>
>
> public static final int TRIAGE_TASK___ECLASS =
> TaskPackage.TASK___ECLASS;
> public static final int TRIAGE_TASK___EIS_PROXY =
> TaskPackage.TASK___EIS_PROXY;
> public static final int TRIAGE_TASK___ERESOURCE =
> TaskPackage.TASK___ERESOURCE;
> public static final int TRIAGE_TASK___ECONTAINER =
> TaskPackage.TASK___ECONTAINER;
> public static final int TRIAGE_TASK___ECONTAINING_FEATURE =
> TaskPackage.TASK___ECONTAINING_FEATURE;
> public static final int TRIAGE_TASK___ECONTAINMENT_FEATURE =
> TaskPackage.TASK___ECONTAINMENT_FEATURE;
> public static final int TRIAGE_TASK___ECONTENTS =
> TaskPackage.TASK___ECONTENTS;
> public static final int TRIAGE_TASK___EALL_CONTENTS =
> TaskPackage.TASK___EALL_CONTENTS;
> public static final int TRIAGE_TASK___ECROSS_REFERENCES =
> TaskPackage.TASK___ECROSS_REFERENCES;
> public static final int TRIAGE_TASK___EGET__ESTRUCTURALFEATURE =
> TaskPackage.TASK___EGET__ESTRUCTURALFEATURE_1;
> public static final int
> TRIAGE_TASK___EGET__ESTRUCTURALFEATURE_BOOLEAN =
> TaskPackage.TASK___EGET__ESTRUCTURALFEATURE_BOOLEAN_1;
> public static final int TRIAGE_TASK___ESET__ESTRUCTURALFEATURE_OBJECT
> = TaskPackage.TASK___ESET__ESTRUCTURALFEATURE_OBJECT_1;
> public static final int TRIAGE_TASK___EIS_SET__ESTRUCTURALFEATURE =
> TaskPackage.TASK___EIS_SET__ESTRUCTURALFEATURE_1;
> public static final int TRIAGE_TASK___EUNSET__ESTRUCTURALFEATURE =
> TaskPackage.TASK___EUNSET__ESTRUCTURALFEATURE_1;
> public static final int TRIAGE_TASK___EINVOKE__EOPERATION_ELIST =
> TaskPackage.TASK___EINVOKE__EOPERATION_ELIST_1;
These look like all the operations of EObject. Are you explicitly
extending EObject in your model?
>
> I'm not sure how much info you need. I can't provide the source for
> the TriageTask, but the Task model is part of eTrack. I can
> workaround the problem by simply deleting the lines that don't compile.
Perhaps your base model hasn't enabled Operation Reflection but your
derived model has (Xcore-based models by default enable operation
reflection, which you can disable with a GenModel annotation) and that
needs the base model to support it as well. We should really
diagnose/validate such inconsistencies...
>
> Bryan
>