| rule CopyModel | |
| transform s : Source!Model | |
| to t : Target!Model { | |
| t.name = s.name; | |
| t.package ::= s.package; | |
| t.annotations ::= s.annotations; | |
| t.contents ::= s.contents; | |
| } | |
| rule CopyAnnotation | |
| transform s : Source!Annotation | |
| to t : Target!Annotation { | |
| t.key = s.key; | |
| t.value = s.value; | |
| } | |
| rule CopyPackage | |
| transform s : Source!Package | |
| to t : Target!Package { | |
| t.name = s.name; | |
| t.package ::= s.package; | |
| t.annotations ::= s.annotations; | |
| t.contents ::= s.contents; | |
| } | |
| rule CopyExternalClass | |
| transform s : Source!ExternalClass | |
| to t : Target!ExternalClass { | |
| t.name = s.name; | |
| t.isAbstract = s.isAbstract; | |
| t.package ::= s.package; | |
| t.`extends` ::= s.`extends`; | |
| t.annotations ::= s.annotations; | |
| t.extendedBy ::= s.extendedBy; | |
| t.features ::= s.features; | |
| } | |
| rule CopyClass | |
| transform s : Source!Class | |
| to t : Target!Class { | |
| t.name = s.name; | |
| t.isAbstract = s.isAbstract; | |
| t.package ::= s.package; | |
| t.`extends` ::= s.`extends`; | |
| t.annotations ::= s.annotations; | |
| t.extendedBy ::= s.extendedBy; | |
| t.features ::= s.features; | |
| } | |
| rule CopyDatatype | |
| transform s : Source!Datatype | |
| to t : Target!Datatype { | |
| t.name = s.name; | |
| t.package ::= s.package; | |
| t.annotations ::= s.annotations; | |
| } | |
| rule CopyOperation | |
| transform s : Source!Operation | |
| to t : Target!Operation { | |
| t.name = s.name; | |
| t.visibility = s.visibility; | |
| t.owner ::= s.owner; | |
| t.type ::= s.type; | |
| t.annotations ::= s.annotations; | |
| t.parameters ::= s.parameters; | |
| } | |
| rule CopyParameter | |
| transform s : Source!Parameter | |
| to t : Target!Parameter { | |
| t.name = s.name; | |
| t.type ::= s.type; | |
| t.owner ::= s.owner; | |
| t.annotations ::= s.annotations; | |
| } | |
| rule CopyReference | |
| transform s : Source!Reference | |
| to t : Target!Reference { | |
| t.name = s.name; | |
| t.visibility = s.visibility; | |
| t.isMany = s.isMany; | |
| t.owner ::= s.owner; | |
| t.type ::= s.type; | |
| t.annotations ::= s.annotations; | |
| } | |
| rule CopyAttribute | |
| transform s : Source!Attribute | |
| to t : Target!Attribute { | |
| t.name = s.name; | |
| t.visibility = s.visibility; | |
| t.isMany = s.isMany; | |
| t.owner ::= s.owner; | |
| t.type ::= s.type; | |
| t.annotations ::= s.annotations; | |
| } |