| import 'SourceBaseMM.ecore' | |
| import 'TargetBaseMM.ecore' | |
| package sbase | |
| context SRoot | |
| def : ast() : tbase::TRoot = | |
| tbase::TRoot { | |
| ownedA = ownedX.ast()->asOrderedSet() | |
| } | |
| context X | |
| def : ast() : tbase::A = | |
| tbase::A { | |
| name = name, | |
| ownsB = ownsY.ast()->asOrderedSet() | |
| } | |
| context Y | |
| def : ast() : tbase::B = | |
| tbase::B { | |
| name = name, | |
| ownsC = ownsZ.ast() | |
| } | |
| context Z | |
| def : ast() : tbase::C = | |
| tbase::C { } | |
| endpackage |