diff --git a/kerml/src/examples/Simple Tests/Associations.kerml b/kerml/src/examples/Simple Tests/Associations.kerml index 7fafdd295..ed27c6251 100644 --- a/kerml/src/examples/Simple Tests/Associations.kerml +++ b/kerml/src/examples/Simple Tests/Associations.kerml @@ -1,7 +1,10 @@ -package Associations { +package Associations { + datatype X; + class Y; + assoc A { - end x; - end [1..*] feature y; + end x_cross [1..1] feature x : X; + end y_cross [1..*] feature y : Y; } assoc B specializes A { diff --git a/org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java b/org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java index d126b9868..478007330 100644 --- a/org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java +++ b/org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java @@ -228,12 +228,14 @@ protected Feature getBoundValueResult() { */ @Override public void addDefaultGeneralType() { + // Note: This must happen before call to super, because default supertype depends on ownedTyping. + addOwnedCrossFeatureSpecialization(); + super.addDefaultGeneralType(); addBoundValueSubsetting(); addParticipantSubsetting(); addCrossingSpecialization(); - addOwnedCrossFeatureSpecialization(); }