<?xml version="1.0" encoding="UTF-8"?> | |
<merge:options | |
indent=" " | |
braceStyle="matching" | |
redirect="Gen" | |
block="\s*@\s*generated\s*NOT\s*(?:\n\r?|\r\n?)" | |
noImport="\s*//\s*import\s+([\w.*]*)\s*;\s*(?:\n\r?|\r\n?)" | |
xmlns:merge="http://www.eclipse.org/org/eclipse/emf/codegen/jmerge/Options"> | |
<!-- Tabbed Standard | |
indent="	" | |
braceStyle="standard" | |
--> | |
<!-- this accepts both new and old style markup. --> | |
<merge:dictionaryPattern | |
name="modelMembers" | |
select="Member/getComment" | |
match="@\s*(model)"/> | |
<merge:dictionaryPattern | |
name="generatedUnmodifiableMembers" | |
select="Member/getComment" | |
match="@\s*(gen)erated\s*(This field/method[^(?:\n\r?|\r\n?)]*)*(?:\n\r?|\r\n?)"/> | |
<merge:dictionaryPattern | |
name="generatedModifiableMembers" | |
select="Member/getComment" | |
match="@\s*generated\s*(modifiable)\s*(?:\n\r?|\r\n?)"/> | |
<!-- This is like the above, but for backward compatibility --> | |
<merge:dictionaryPattern | |
name="generatedLastGenMembers" | |
select="Member/getComment" | |
match="@\s*(lastgen).*(?:\n\r?|\r\n?)"/> | |
<merge:dictionaryPattern | |
name="orderedMembers" | |
select="Member/getComment" | |
match="@\s*(ordered)\s*(?:\n\r?|\r\n?)"/> | |
<!-- Only push Annotations for the Members marked by gen--> | |
<merge:push targetParentMarkup="^gen$" select="Annotation"/> | |
<merge:pull | |
sourceMarkup="^modifiable$" | |
sourceGet="Member/getComment" | |
sourceTransfer="(\s*<!--\s*begin-user-doc.*?end-user-doc\s*-->\s*)(?:\n\r?|\r\n?)" | |
targetMarkup="^modifiable$" | |
targetPut="Member/setComment"/> | |
<merge:pull | |
sourceMarkup="^gen$" | |
sourceGet="Member/getComment" | |
sourceTransfer="(\s*<!--\s*begin-user-doc.*?end-user-doc\s*-->\s*)(?:\n\r?|\r\n?)" | |
targetMarkup="^gen$" | |
targetPut="Member/setComment"/> | |
<merge:pull | |
sourceGet="Member/getFlags" | |
targetMarkup="^gen$" | |
equals="Member/getName" | |
targetPut="Member/setFlags"/> | |
<merge:pull | |
sourceMarkup="^gen$" | |
sourceGet="AbstractType/getComment" | |
sourceTransfer="(\s*<!--\s*begin-user-doc.*?end-user-doc\s*-->\s*)(?:\n\r?|\r\n?)" | |
targetMarkup="^modifiable$" | |
targetPut="AbstractType/setComment"/> | |
<merge:pull | |
sourceGet="Type/getTypeParameters" | |
targetMarkup="^lastgen$|^gen$|^modifiable$|^model$" | |
targetPut="Type/setTypeParameters"/> | |
<merge:pull | |
sourceGet="Type/getSuperclass" | |
targetMarkup="^lastgen$|^gen$|^modifiable$|^model$" | |
targetPut="Type/setSuperclass"/> | |
<merge:pull | |
sourceGet="Type/getSuperInterfaces" | |
sourceTransfer="(\s*@\s*extends|\s*@\s*implements)(.*?)(?:<!--|(?:\n\r?|\r\n?))" | |
targetMarkup="^lastgen$|^gen$|^modifiable$|^model$" | |
targetPut="Type/addSuperInterface"/> | |
<merge:pull | |
sourceGet="Enum/getSuperInterfaces" | |
sourceTransfer="(\s*@\s*extends|\s*@\s*implements)(.*?)(?:<!--|(?:\n\r?|\r\n?))" | |
targetMarkup="^lastgen$|^gen$|^modifiable$|^model$" | |
targetPut="Enum/addSuperInterface"/> | |
<merge:pull | |
sourceGet="EnumConstant/getArguments" | |
targetMarkup="^lastgen$|^gen$|^modifiable$|^model$" | |
targetPut="EnumConstant/setArguments"/> | |
<merge:pull | |
sourceGet="EnumConstant/getBody" | |
targetMarkup="^lastgen$|^gen$|^modifiable$|^model$$" | |
targetPut="EnumConstant/setBody"/> | |
<merge:pull | |
sourceGet="AnnotationTypeMember/getType" | |
targetMarkup="^gen$" | |
targetPut="AnnotationTypeMember/setType"/> | |
<merge:pull | |
sourceGet="AnnotationTypeMember/getDefaultValue" | |
targetMarkup="^gen$" | |
targetPut="AnnotationTypeMember/setDefaultValue"/> | |
<merge:pull | |
sourceGet="Initializer/getBody" | |
targetMarkup="^gen$" | |
targetPut="Initializer/setBody"/> | |
<merge:pull | |
sourceGet="Field/getType" | |
targetMarkup="^gen$" | |
targetPut="Field/setType"/> | |
<merge:pull | |
sourceGet="Field/getInitializer" | |
targetMarkup="^gen$" | |
targetPut="Field/setInitializer"/> | |
<merge:pull | |
sourceGet="Method/getTypeParameters" | |
targetMarkup="^gen$" | |
targetPut="Method/setTypeParameters"/> | |
<merge:pull | |
sourceGet="Method/getReturnType" | |
targetMarkup="^gen$|^model$" | |
targetPut="Method/setReturnType"/> | |
<merge:pull | |
sourceGet="Method/getParameters" | |
targetMarkup="^gen$" | |
targetPut="Method/setParameters"/> | |
<merge:pull | |
sourceGet="Method/getBody" | |
sourceTransfer="(\s*//\s*begin-generated-protected-code.*?//\s*end-generated-protected-code\s*)(?:\n\r?|\r\n?)" | |
targetMarkup="^gen$" | |
targetPut="Method/setBody"/> | |
<merge:pull | |
sourceGet="Method/getExceptions" | |
targetMarkup="^gen$" | |
targetPut="Method/addException"/> | |
<merge:sweep markup="^gen$" select="Member"/> | |
<merge:sweep markup="^org.eclipse.emf.ecore.EMetaObject$" select="Import"/> | |
<merge:sweep markup="^org.eclipse.emf.ecore.impl.EMetaObjectImpl$" select="Import"/> | |
<merge:sweep markup="^org.eclipse.emf.ecore.util.EObjectCompositeEList$" select="Import"/> | |
<merge:sweep markup="^org.eclipse.emf.ecore.util.EObjectCompositeWithInverseEList$" select="Import"/> | |
<merge:sweep markup="^org.eclipse.emf.common.util.AbstractEnumerator$" select="Import"/> | |
<merge:sort markup="^ordered$" select="Field"/> | |
<merge:sort markup="^ordered$" select="EnumConstant"/> | |
<!-- Basic Rules | |
<merge:pull | |
sourceGet="CompilationUnit/getHeader" | |
targetPut="CompilationUnit/setHeader"/> | |
<merge:pull | |
sourceGet="Package/getName" | |
targetPut="Package/setName"/> | |
<merge:pull | |
sourceGet="Member/getFlags" | |
targetPut="Member/setFlags"/> | |
<merge:pull | |
sourceGet="Member/getComment" | |
targetPut="Member/setComment"/> | |
<merge:pull | |
sourceGet="Type/getSuperclass" | |
targetPut="Type/setSuperclass"/> | |
<merge:pull | |
sourceGet="Type/getSuperInterfaces" | |
targetPut="Type/addSuperInterface"/> | |
<merge:pull | |
sourceGet="Initializer/getBody" | |
targetPut="Initializer/setBody"/> | |
<merge:pull | |
sourceGet="Field/getType" | |
targetPut="Field/setType"/> | |
<merge:pull | |
sourceGet="Field/getInitializer" | |
targetPut="Field/setInitializer"/> | |
<merge:pull | |
sourceGet="Method/getBody" | |
targetPut="Method/setBody"/> | |
<merge:pull | |
sourceGet="Method/getReturnType" | |
targetPut="Method/setReturnType"/> | |
<merge:pull | |
sourceGet="Method/getExceptions" | |
targetPut="Method/addException"/> | |
--> | |
<!-- Push Enum Constants only for generated Enums --> | |
<!-- | |
<merge:push targetParentMarkup="^gen$" select="EnumConstant"/> | |
--> | |
<!-- Push Annotation Type Members only for generated Annotation Types --> | |
<!-- | |
<merge:push targetParentMarkup="^gen$" select="AnnotationTypeMember"/> | |
--> | |
<!-- Sets the content of annotations if the parent is marked with gen --> | |
<!-- | |
<merge:pull | |
sourceGet="Annotation/getContents" | |
targetParentMarkup="^gen$" | |
targetPut="Annotation/setContents"/> | |
--> | |
<!-- Remove annotations of generated target nodes if the annotation is not in the source --> | |
<!-- | |
<merge:sweep parentMarkup="^gen$" select="Annotation"/> | |
--> | |
<!-- | |
<merge:pull | |
sourceMarkup="^modifiable$" | |
sourceGet="Member/getComment" | |
targetMarkup="^gen$" | |
targetPut="Member/setComment"/> | |
--> | |
</merge:options> |