import 'CopyOO.etl';

rule MergeModel
	merge l : Left!Model
	with r : Right!Model 
	into t : Target!Model {
	
	t.name = l.name + ' and ' + r.name;
	t.package ::= l.package;
	t.annotations ::= l.annotations + r.annotations;
	t.contents ::= l.contents + r.contents;
	
}
rule MergeAnnotation
	merge l : Left!Annotation
	with r : Right!Annotation 
	into t : Target!Annotation {
	
	t.key = l.key;
	t.value = l.value;
	
}
rule MergePackage
	merge l : Left!Package
	with r : Right!Package 
	into t : Target!Package {
	
	t.name = l.name;
	t.package ::= l.package;
	t.annotations ::= l.annotations + r.annotations;
	t.contents ::= l.contents + r.contents;
	
}
rule MergeExternalClass
	merge l : Left!ExternalClass
	with r : Right!ExternalClass 
	into t : Target!ExternalClass {
	
 
	t.name = l.name;
	t.isAbstract = l.isAbstract;
	t.package ::= l.package;
	t.`extends` ::= l.`extends`;
	t.annotations ::= l.annotations + r.annotations;
	t.extendedBy ::= l.extendedBy + r.extendedBy;
	t.features ::= l.features + r.features;
	
}
rule MergeClass
	merge l : Left!Class
	with r : Right!Class 
	into t : Target!Class {
	
 
	t.name = l.name;
	t.isAbstract = l.isAbstract;
	t.package ::= l.package;
	t.`extends` ::= l.`extends`;
	t.annotations ::= l.annotations + r.annotations;
	t.extendedBy ::= l.extendedBy + r.extendedBy;
	t.features ::= l.features + r.features;
	
}
rule MergeDatatype
	merge l : Left!Datatype
	with r : Right!Datatype 
	into t : Target!Datatype {
	
 
	t.name = l.name;
	t.package ::= l.package;
	t.annotations ::= l.annotations + r.annotations;
	
}
rule MergeOperation
	merge l : Left!Operation
	with r : Right!Operation 
	into t : Target!Operation {
	
 
	t.name = l.name;
	t.visibility = l.visibility;
	t.owner ::= l.owner;
	t.type ::= l.type;
	t.annotations ::= l.annotations + r.annotations;
	t.parameters ::= l.parameters + r.parameters;
	
}
rule MergeParameter
	merge l : Left!Parameter
	with r : Right!Parameter
	into t : Target!Parameter {
	
	t.name = l.name;
	t.type ::= l.type;
	t.owner ::= l.owner;
	t.annotations ::= l.annotations + r.annotations;
	
}
rule MergeReference
	merge l : Left!Reference
	with r : Right!Reference 
	into t : Target!Reference {
	
	t.name = l.name;
	t.visibility = l.visibility;
	t.isMany = l.isMany;
	t.owner ::= l.owner;
	t.type ::= l.type;
	t.annotations ::= l.annotations + r.annotations;
	
}
rule MergeAttribute
	merge l : Left!Attribute
	with r : Right!Attribute 
	into t : Target!Attribute {
	
	t.name = l.name;
	t.visibility = l.visibility;
	t.isMany = l.isMany;
	t.owner ::= l.owner;
	t.type ::= l.type;
	t.annotations ::= l.annotations + r.annotations;
	
}

