Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwpiers2007-11-30 13:39:29 +0000
committerwpiers2007-11-30 13:39:29 +0000
commitcb5f0f789dca97c15df671186483768e81788753 (patch)
tree0c29ac97909160c047ccf583c0dac3b46fc2a575 /tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3
parent597f2245928f5023bbcf5696b2a7eff9f74dcde7 (diff)
downloadorg.eclipse.atl-cb5f0f789dca97c15df671186483768e81788753.tar.gz
org.eclipse.atl-cb5f0f789dca97c15df671186483768e81788753.tar.xz
org.eclipse.atl-cb5f0f789dca97c15df671186483768e81788753.zip
Added new test set for ATL.
Diffstat (limited to 'tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3')
-rw-r--r--tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.asm2480
-rw-r--r--tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.atl227
-rw-r--r--tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.launch38
-rw-r--r--tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/SimpleExampleMM-DSL.ecore23
4 files changed, 2768 insertions, 0 deletions
diff --git a/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.asm b/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.asm
new file mode 100644
index 00000000..b81aa4f3
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.asm
@@ -0,0 +1,2480 @@
+<?xml version = '1.0' encoding = 'ISO-8859-1' ?>
+<asm name="0">
+ <cp>
+ <constant value="DSL2KM3"/>
+ <constant value="links"/>
+ <constant value="NTransientLinkSet;"/>
+ <constant value="col"/>
+ <constant value="J;"/>
+ <constant value="main"/>
+ <constant value="A"/>
+ <constant value="0"/>
+ <constant value="OclParametrizedType"/>
+ <constant value="#native"/>
+ <constant value="Collection"/>
+ <constant value="J.setName(S):V"/>
+ <constant value="OclSimpleType"/>
+ <constant value="OclAny"/>
+ <constant value="J.setElementType(J):V"/>
+ <constant value="TransientLinkSet"/>
+ <constant value="A.__matcher__():V"/>
+ <constant value="A.__exec__():V"/>
+ <constant value="self"/>
+ <constant value="__matcher__"/>
+ <constant value="A.__matchMetamodel():V"/>
+ <constant value="A.__matchClass():V"/>
+ <constant value="A.__matchRelation2Class():V"/>
+ <constant value="A.__matchSimpleReference():V"/>
+ <constant value="A.__matchComplexReference():V"/>
+ <constant value="A.__matchAttribute():V"/>
+ <constant value="A.__matchEnumeration():V"/>
+ <constant value="A.__matchEnumLiteral():V"/>
+ <constant value="A.__matchDataType():V"/>
+ <constant value="__matchMetamodel"/>
+ <constant value="DomainModel"/>
+ <constant value="DSL"/>
+ <constant value="Sequence"/>
+ <constant value="IN"/>
+ <constant value="MMOF!Classifier;.allInstancesFrom(S):QJ"/>
+ <constant value="CJ.union(CJ):CJ"/>
+ <constant value="1"/>
+ <constant value="B.not():B"/>
+ <constant value="49"/>
+ <constant value="TransientLink"/>
+ <constant value="Metamodel"/>
+ <constant value="NTransientLink;.setRule(MATL!Rule;):V"/>
+ <constant value="e"/>
+ <constant value="NTransientLink;.addSourceElement(SJ):V"/>
+ <constant value="a"/>
+ <constant value="KM3"/>
+ <constant value="NTransientLink;.addTargetElement(SJ):V"/>
+ <constant value="b"/>
+ <constant value="Package"/>
+ <constant value="c"/>
+ <constant value="NTransientLinkSet;.addLink(NTransientLink;):V"/>
+ <constant value="56:7-56:20"/>
+ <constant value="59:7-59:18"/>
+ <constant value="77:7-77:18"/>
+ <constant value="__matchClass"/>
+ <constant value="Class"/>
+ <constant value="37"/>
+ <constant value="90:7-90:16"/>
+ <constant value="__matchRelation2Class"/>
+ <constant value="Relationship"/>
+ <constant value="J.needTurnOnClass():J"/>
+ <constant value="38"/>
+ <constant value="Relation2Class"/>
+ <constant value="107:4-107:5"/>
+ <constant value="107:4-107:23"/>
+ <constant value="110:6-110:15"/>
+ <constant value="__matchSimpleReference"/>
+ <constant value="Role"/>
+ <constant value="relation"/>
+ <constant value="J.not():J"/>
+ <constant value="40"/>
+ <constant value="SimpleReference"/>
+ <constant value="r"/>
+ <constant value="rf"/>
+ <constant value="Reference"/>
+ <constant value="127:8-127:9"/>
+ <constant value="127:8-127:18"/>
+ <constant value="127:8-127:36"/>
+ <constant value="127:4-127:36"/>
+ <constant value="130:8-130:21"/>
+ <constant value="__matchComplexReference"/>
+ <constant value="67"/>
+ <constant value="ComplexReference"/>
+ <constant value="oppositeRole"/>
+ <constant value="roles"/>
+ <constant value="2"/>
+ <constant value="J.&lt;&gt;(J):J"/>
+ <constant value="CJ.including(J):CJ"/>
+ <constant value="J.first():J"/>
+ <constant value="NTransientLink;.addVariable(SJ):V"/>
+ <constant value="rfInOwner"/>
+ <constant value="rfInRelationship"/>
+ <constant value="149:4-149:5"/>
+ <constant value="149:4-149:14"/>
+ <constant value="149:4-149:32"/>
+ <constant value="152:29-152:30"/>
+ <constant value="152:29-152:39"/>
+ <constant value="152:29-152:45"/>
+ <constant value="152:58-152:59"/>
+ <constant value="152:63-152:64"/>
+ <constant value="152:58-152:64"/>
+ <constant value="152:29-152:65"/>
+ <constant value="152:29-152:74"/>
+ <constant value="155:15-155:28"/>
+ <constant value="167:22-167:35"/>
+ <constant value="__matchAttribute"/>
+ <constant value="ValueProperty"/>
+ <constant value="Attribute"/>
+ <constant value="186:7-186:20"/>
+ <constant value="__matchEnumeration"/>
+ <constant value="Enumeration"/>
+ <constant value="202:7-202:22"/>
+ <constant value="__matchEnumLiteral"/>
+ <constant value="EnumerationLiteral"/>
+ <constant value="EnumLiteral"/>
+ <constant value="l"/>
+ <constant value="215:7-215:22"/>
+ <constant value="__matchDataType"/>
+ <constant value="SimpleType"/>
+ <constant value="DataType"/>
+ <constant value="t"/>
+ <constant value="226:5-226:17"/>
+ <constant value="__resolve__"/>
+ <constant value="J"/>
+ <constant value="J.oclIsKindOf(J):B"/>
+ <constant value="18"/>
+ <constant value="NTransientLinkSet;.getLinkBySourceElement(S):QNTransientLink;"/>
+ <constant value="J.oclIsUndefined():J"/>
+ <constant value="15"/>
+ <constant value="NTransientLink;.getTargetFromSource(J):J"/>
+ <constant value="17"/>
+ <constant value="30"/>
+ <constant value="A.__resolve__(J):J"/>
+ <constant value="QJ.including(J):QJ"/>
+ <constant value="QJ.flatten():QJ"/>
+ <constant value="value"/>
+ <constant value="resolveTemp"/>
+ <constant value="S"/>
+ <constant value="NTransientLink;.getNamedTargetFromSource(JS):J"/>
+ <constant value="name"/>
+ <constant value="__exec__"/>
+ <constant value="NTransientLinkSet;.getLinksByRule(S):QNTransientLink;"/>
+ <constant value="A.__applyMetamodel(NTransientLink;):V"/>
+ <constant value="A.__applyClass(NTransientLink;):V"/>
+ <constant value="A.__applyRelation2Class(NTransientLink;):V"/>
+ <constant value="A.__applySimpleReference(NTransientLink;):V"/>
+ <constant value="A.__applyComplexReference(NTransientLink;):V"/>
+ <constant value="A.__applyAttribute(NTransientLink;):V"/>
+ <constant value="A.__applyEnumeration(NTransientLink;):V"/>
+ <constant value="A.__applyEnumLiteral(NTransientLink;):V"/>
+ <constant value="A.__applyDataType(NTransientLink;):V"/>
+ <constant value="needTurnOnClass"/>
+ <constant value="MDSL!Relationship;"/>
+ <constant value="J.allInstances():J"/>
+ <constant value="type"/>
+ <constant value="J.=(J):J"/>
+ <constant value="source"/>
+ <constant value="J.or(J):J"/>
+ <constant value="properties"/>
+ <constant value="J.isEmpty():J"/>
+ <constant value="superType"/>
+ <constant value="subTypes"/>
+ <constant value="20:54-20:59"/>
+ <constant value="20:38-20:59"/>
+ <constant value="20:2-20:10"/>
+ <constant value="20:2-20:25"/>
+ <constant value="21:3-21:6"/>
+ <constant value="21:11-21:12"/>
+ <constant value="21:11-21:17"/>
+ <constant value="21:20-21:24"/>
+ <constant value="21:11-21:24"/>
+ <constant value="21:28-21:29"/>
+ <constant value="21:28-21:36"/>
+ <constant value="21:39-21:43"/>
+ <constant value="21:28-21:43"/>
+ <constant value="21:11-21:43"/>
+ <constant value="21:3-21:44"/>
+ <constant value="20:2-21:45"/>
+ <constant value="19:6-21:45"/>
+ <constant value="22:7-22:11"/>
+ <constant value="23:9-23:13"/>
+ <constant value="23:9-23:24"/>
+ <constant value="23:9-23:34"/>
+ <constant value="23:5-23:34"/>
+ <constant value="24:11-24:15"/>
+ <constant value="24:11-24:25"/>
+ <constant value="24:11-24:42"/>
+ <constant value="24:7-24:42"/>
+ <constant value="25:10-25:14"/>
+ <constant value="25:10-25:23"/>
+ <constant value="25:10-25:33"/>
+ <constant value="25:6-25:33"/>
+ <constant value="24:7-25:33"/>
+ <constant value="23:5-25:34"/>
+ <constant value="22:7-25:35"/>
+ <constant value="19:2-25:36"/>
+ <constant value="acc"/>
+ <constant value="cond"/>
+ <constant value="getRoles"/>
+ <constant value="MDSL!Class;"/>
+ <constant value="J.and(J):J"/>
+ <constant value="32"/>
+ <constant value="31:5-31:13"/>
+ <constant value="31:5-31:28"/>
+ <constant value="31:41-31:42"/>
+ <constant value="31:41-31:49"/>
+ <constant value="31:52-31:53"/>
+ <constant value="31:41-31:53"/>
+ <constant value="32:10-32:11"/>
+ <constant value="32:10-32:20"/>
+ <constant value="32:10-32:31"/>
+ <constant value="32:10-32:41"/>
+ <constant value="31:41-32:41"/>
+ <constant value="33:7-33:8"/>
+ <constant value="33:7-33:17"/>
+ <constant value="33:7-33:27"/>
+ <constant value="33:7-33:44"/>
+ <constant value="31:41-33:44"/>
+ <constant value="34:7-34:8"/>
+ <constant value="34:7-34:17"/>
+ <constant value="34:7-34:26"/>
+ <constant value="34:7-34:36"/>
+ <constant value="31:41-34:36"/>
+ <constant value="31:5-34:37"/>
+ <constant value="isEmbedding"/>
+ <constant value="MDSL!Role;"/>
+ <constant value="11"/>
+ <constant value="14"/>
+ <constant value="40:24-40:28"/>
+ <constant value="40:24-40:37"/>
+ <constant value="40:24-40:43"/>
+ <constant value="40:24-40:51"/>
+ <constant value="40:9-40:51"/>
+ <constant value="41:8-41:12"/>
+ <constant value="41:15-41:16"/>
+ <constant value="41:8-41:16"/>
+ <constant value="42:7-42:12"/>
+ <constant value="41:22-41:23"/>
+ <constant value="41:22-41:32"/>
+ <constant value="41:22-41:44"/>
+ <constant value="41:5-42:18"/>
+ <constant value="40:5-42:18"/>
+ <constant value="__applyMetamodel"/>
+ <constant value="NTransientLink;"/>
+ <constant value="NTransientLink;.getSourceElement(S):J"/>
+ <constant value="NTransientLink;.getTargetElement(S):J"/>
+ <constant value="3"/>
+ <constant value="4"/>
+ <constant value="5"/>
+ <constant value="contents"/>
+ <constant value="classifiers"/>
+ <constant value="6"/>
+ <constant value="J.oclIsTypeOf(J):J"/>
+ <constant value="61"/>
+ <constant value="63"/>
+ <constant value="68"/>
+ <constant value="types"/>
+ <constant value="86"/>
+ <constant value="PrimitiveTypes"/>
+ <constant value="115"/>
+ <constant value="57:25-57:26"/>
+ <constant value="57:28-57:29"/>
+ <constant value="57:16-57:30"/>
+ <constant value="57:4-57:30"/>
+ <constant value="60:12-60:13"/>
+ <constant value="60:12-60:18"/>
+ <constant value="60:4-60:18"/>
+ <constant value="63:6-63:7"/>
+ <constant value="63:6-63:19"/>
+ <constant value="65:8-65:9"/>
+ <constant value="65:22-65:31"/>
+ <constant value="65:8-65:32"/>
+ <constant value="66:11-66:12"/>
+ <constant value="66:25-66:41"/>
+ <constant value="66:11-66:42"/>
+ <constant value="70:9-70:14"/>
+ <constant value="68:9-68:10"/>
+ <constant value="68:9-68:28"/>
+ <constant value="66:8-71:13"/>
+ <constant value="65:8-71:13"/>
+ <constant value="63:6-72:8"/>
+ <constant value="73:6-73:7"/>
+ <constant value="73:6-73:13"/>
+ <constant value="74:20-74:21"/>
+ <constant value="74:34-74:49"/>
+ <constant value="74:20-74:50"/>
+ <constant value="73:6-74:51"/>
+ <constant value="62:5-75:6"/>
+ <constant value="61:4-75:6"/>
+ <constant value="78:12-78:28"/>
+ <constant value="78:4-78:28"/>
+ <constant value="79:16-79:17"/>
+ <constant value="79:16-79:23"/>
+ <constant value="79:36-79:37"/>
+ <constant value="79:50-79:64"/>
+ <constant value="79:36-79:65"/>
+ <constant value="79:16-79:66"/>
+ <constant value="79:4-79:66"/>
+ <constant value="link"/>
+ <constant value="__applyClass"/>
+ <constant value="isAbstract"/>
+ <constant value="Set"/>
+ <constant value="42"/>
+ <constant value="J.getRoles(J):J"/>
+ <constant value="structuralFeatures"/>
+ <constant value="66"/>
+ <constant value="supertypes"/>
+ <constant value="91:10-91:11"/>
+ <constant value="91:10-91:16"/>
+ <constant value="91:4-91:16"/>
+ <constant value="92:18-92:19"/>
+ <constant value="92:18-92:30"/>
+ <constant value="92:4-92:30"/>
+ <constant value="94:5-94:6"/>
+ <constant value="94:5-94:17"/>
+ <constant value="94:33-94:34"/>
+ <constant value="94:47-94:64"/>
+ <constant value="94:33-94:65"/>
+ <constant value="94:5-94:67"/>
+ <constant value="95:5-95:15"/>
+ <constant value="95:25-95:26"/>
+ <constant value="95:5-95:27"/>
+ <constant value="93:24-96:5"/>
+ <constant value="93:4-96:5"/>
+ <constant value="97:21-97:22"/>
+ <constant value="97:21-97:32"/>
+ <constant value="97:21-97:49"/>
+ <constant value="97:70-97:71"/>
+ <constant value="97:70-97:81"/>
+ <constant value="97:66-97:82"/>
+ <constant value="97:55-97:60"/>
+ <constant value="97:18-97:88"/>
+ <constant value="97:4-97:88"/>
+ <constant value="__applyRelation2Class"/>
+ <constant value="111:9-111:10"/>
+ <constant value="111:9-111:15"/>
+ <constant value="111:3-111:15"/>
+ <constant value="112:17-112:18"/>
+ <constant value="112:17-112:29"/>
+ <constant value="112:3-112:29"/>
+ <constant value="114:4-114:5"/>
+ <constant value="114:4-114:16"/>
+ <constant value="114:32-114:33"/>
+ <constant value="114:46-114:63"/>
+ <constant value="114:32-114:64"/>
+ <constant value="114:4-114:65"/>
+ <constant value="115:4-115:5"/>
+ <constant value="115:4-115:11"/>
+ <constant value="115:4-115:20"/>
+ <constant value="113:24-116:4"/>
+ <constant value="113:3-116:4"/>
+ <constant value="117:20-117:21"/>
+ <constant value="117:20-117:31"/>
+ <constant value="117:20-117:48"/>
+ <constant value="117:69-117:70"/>
+ <constant value="117:69-117:80"/>
+ <constant value="117:65-117:81"/>
+ <constant value="117:54-117:59"/>
+ <constant value="117:17-117:87"/>
+ <constant value="117:3-117:87"/>
+ <constant value="__applySimpleReference"/>
+ <constant value="min"/>
+ <constant value="lower"/>
+ <constant value="max"/>
+ <constant value="36"/>
+ <constant value="39"/>
+ <constant value="J.-(J):J"/>
+ <constant value="upper"/>
+ <constant value="isOrdered"/>
+ <constant value="owner"/>
+ <constant value="J.isEmbedding():J"/>
+ <constant value="isContainer"/>
+ <constant value="76"/>
+ <constant value="opposite"/>
+ <constant value="isUnique"/>
+ <constant value="131:12-131:13"/>
+ <constant value="131:12-131:18"/>
+ <constant value="131:4-131:18"/>
+ <constant value="132:12-132:13"/>
+ <constant value="132:12-132:18"/>
+ <constant value="132:4-132:18"/>
+ <constant value="133:13-133:14"/>
+ <constant value="133:13-133:18"/>
+ <constant value="133:4-133:18"/>
+ <constant value="134:16-134:17"/>
+ <constant value="134:16-134:21"/>
+ <constant value="134:22-134:23"/>
+ <constant value="134:16-134:23"/>
+ <constant value="134:38-134:39"/>
+ <constant value="134:29-134:30"/>
+ <constant value="134:31-134:32"/>
+ <constant value="134:29-134:32"/>
+ <constant value="134:13-134:45"/>
+ <constant value="134:4-134:45"/>
+ <constant value="135:17-135:18"/>
+ <constant value="135:17-135:28"/>
+ <constant value="135:4-135:28"/>
+ <constant value="136:13-136:14"/>
+ <constant value="136:13-136:21"/>
+ <constant value="136:4-136:21"/>
+ <constant value="137:19-137:20"/>
+ <constant value="137:19-137:34"/>
+ <constant value="137:4-137:34"/>
+ <constant value="138:16-138:17"/>
+ <constant value="138:16-138:26"/>
+ <constant value="138:16-138:32"/>
+ <constant value="138:45-138:46"/>
+ <constant value="138:50-138:51"/>
+ <constant value="138:45-138:51"/>
+ <constant value="138:16-138:52"/>
+ <constant value="138:16-138:61"/>
+ <constant value="138:4-138:61"/>
+ <constant value="139:16-139:21"/>
+ <constant value="139:4-139:21"/>
+ <constant value="__applyComplexReference"/>
+ <constant value="NTransientLink;.getVariable(S):J"/>
+ <constant value="55"/>
+ <constant value="58"/>
+ <constant value="117"/>
+ <constant value="120"/>
+ <constant value="156:12-156:13"/>
+ <constant value="156:12-156:18"/>
+ <constant value="156:4-156:18"/>
+ <constant value="157:13-157:14"/>
+ <constant value="157:13-157:21"/>
+ <constant value="157:4-157:21"/>
+ <constant value="158:12-158:13"/>
+ <constant value="158:12-158:22"/>
+ <constant value="158:4-158:22"/>
+ <constant value="159:16-159:32"/>
+ <constant value="159:4-159:32"/>
+ <constant value="160:13-160:14"/>
+ <constant value="160:13-160:18"/>
+ <constant value="160:4-160:18"/>
+ <constant value="161:16-161:17"/>
+ <constant value="161:16-161:21"/>
+ <constant value="161:22-161:23"/>
+ <constant value="161:16-161:23"/>
+ <constant value="162:18-162:19"/>
+ <constant value="162:9-162:10"/>
+ <constant value="162:11-162:12"/>
+ <constant value="162:9-162:12"/>
+ <constant value="161:13-162:25"/>
+ <constant value="161:4-162:25"/>
+ <constant value="163:17-163:18"/>
+ <constant value="163:17-163:28"/>
+ <constant value="163:4-163:28"/>
+ <constant value="164:19-164:20"/>
+ <constant value="164:19-164:34"/>
+ <constant value="164:4-164:34"/>
+ <constant value="165:16-165:21"/>
+ <constant value="165:4-165:21"/>
+ <constant value="168:12-168:24"/>
+ <constant value="168:12-168:29"/>
+ <constant value="168:4-168:29"/>
+ <constant value="169:13-169:14"/>
+ <constant value="169:13-169:23"/>
+ <constant value="169:4-169:23"/>
+ <constant value="170:12-170:13"/>
+ <constant value="170:12-170:20"/>
+ <constant value="170:4-170:20"/>
+ <constant value="171:16-171:25"/>
+ <constant value="171:4-171:25"/>
+ <constant value="172:13-172:25"/>
+ <constant value="172:13-172:29"/>
+ <constant value="172:4-172:29"/>
+ <constant value="173:16-173:28"/>
+ <constant value="173:16-173:32"/>
+ <constant value="173:33-173:34"/>
+ <constant value="173:16-173:34"/>
+ <constant value="173:49-173:50"/>
+ <constant value="173:40-173:41"/>
+ <constant value="173:42-173:43"/>
+ <constant value="173:40-173:43"/>
+ <constant value="173:13-173:56"/>
+ <constant value="173:4-173:56"/>
+ <constant value="174:17-174:29"/>
+ <constant value="174:17-174:39"/>
+ <constant value="174:4-174:39"/>
+ <constant value="175:19-175:31"/>
+ <constant value="175:19-175:45"/>
+ <constant value="175:4-175:45"/>
+ <constant value="176:16-176:21"/>
+ <constant value="176:4-176:21"/>
+ <constant value="__applyAttribute"/>
+ <constant value="187:12-187:13"/>
+ <constant value="187:12-187:18"/>
+ <constant value="187:4-187:18"/>
+ <constant value="188:13-188:14"/>
+ <constant value="188:4-188:14"/>
+ <constant value="189:12-189:13"/>
+ <constant value="189:4-189:13"/>
+ <constant value="190:12-190:13"/>
+ <constant value="190:12-190:18"/>
+ <constant value="190:4-190:18"/>
+ <constant value="191:16-191:21"/>
+ <constant value="191:4-191:21"/>
+ <constant value="192:17-192:22"/>
+ <constant value="192:4-192:22"/>
+ <constant value="__applyEnumeration"/>
+ <constant value="literals"/>
+ <constant value="33"/>
+ <constant value="203:13-203:14"/>
+ <constant value="203:13-203:19"/>
+ <constant value="203:5-203:19"/>
+ <constant value="204:17-204:18"/>
+ <constant value="204:17-204:27"/>
+ <constant value="204:42-204:43"/>
+ <constant value="204:56-204:78"/>
+ <constant value="204:42-204:79"/>
+ <constant value="204:17-204:80"/>
+ <constant value="204:5-204:80"/>
+ <constant value="__applyEnumLiteral"/>
+ <constant value="216:12-216:13"/>
+ <constant value="216:12-216:18"/>
+ <constant value="216:4-216:18"/>
+ <constant value="__applyDataType"/>
+ <constant value="226:24-226:25"/>
+ <constant value="226:24-226:30"/>
+ <constant value="226:18-226:30"/>
+ </cp>
+ <field name="1" type="2"/>
+ <field name="3" type="4"/>
+ <operation name="5">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <load arg="7"/>
+ <push arg="8"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="10"/>
+ <call arg="11"/>
+ <dup/>
+ <push arg="12"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="13"/>
+ <call arg="11"/>
+ <call arg="14"/>
+ <set arg="3"/>
+ <load arg="7"/>
+ <push arg="15"/>
+ <push arg="9"/>
+ <new/>
+ <set arg="1"/>
+ <load arg="7"/>
+ <call arg="16"/>
+ <load arg="7"/>
+ <call arg="17"/>
+ </code>
+ <linenumbertable>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="0" name="18" begin="0" end="24"/>
+ </localvariabletable>
+ </operation>
+ <operation name="19">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <load arg="7"/>
+ <call arg="20"/>
+ <load arg="7"/>
+ <call arg="21"/>
+ <load arg="7"/>
+ <call arg="22"/>
+ <load arg="7"/>
+ <call arg="23"/>
+ <load arg="7"/>
+ <call arg="24"/>
+ <load arg="7"/>
+ <call arg="25"/>
+ <load arg="7"/>
+ <call arg="26"/>
+ <load arg="7"/>
+ <call arg="27"/>
+ <load arg="7"/>
+ <call arg="28"/>
+ </code>
+ <linenumbertable>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="0" name="18" begin="0" end="17"/>
+ </localvariabletable>
+ </operation>
+ <operation name="29">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="30"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <pusht/>
+ <call arg="37"/>
+ <if arg="38"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="40"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="42"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="44"/>
+ <push arg="40"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <dup/>
+ <push arg="47"/>
+ <push arg="48"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <dup/>
+ <push arg="49"/>
+ <push arg="48"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="51" begin="32" end="34"/>
+ <lne id="52" begin="38" end="40"/>
+ <lne id="53" begin="44" end="46"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="42" begin="14" end="48"/>
+ <lve slot="0" name="18" begin="0" end="49"/>
+ </localvariabletable>
+ </operation>
+ <operation name="54">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="55"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <pusht/>
+ <call arg="37"/>
+ <if arg="56"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="55"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="42"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="44"/>
+ <push arg="55"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="57" begin="32" end="34"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="42" begin="14" end="36"/>
+ <lve slot="0" name="18" begin="0" end="37"/>
+ </localvariabletable>
+ </operation>
+ <operation name="58">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="59"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="36"/>
+ <call arg="60"/>
+ <call arg="37"/>
+ <if arg="61"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="62"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="42"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="44"/>
+ <push arg="55"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="63" begin="15" end="15"/>
+ <lne id="64" begin="15" end="16"/>
+ <lne id="65" begin="33" end="35"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="42" begin="14" end="37"/>
+ <lve slot="0" name="18" begin="0" end="38"/>
+ </localvariabletable>
+ </operation>
+ <operation name="66">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="67"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="36"/>
+ <get arg="68"/>
+ <call arg="60"/>
+ <call arg="69"/>
+ <call arg="37"/>
+ <if arg="70"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="71"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="72"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="73"/>
+ <push arg="74"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="75" begin="15" end="15"/>
+ <lne id="76" begin="15" end="16"/>
+ <lne id="77" begin="15" end="17"/>
+ <lne id="78" begin="15" end="18"/>
+ <lne id="79" begin="35" end="37"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="72" begin="14" end="39"/>
+ <lve slot="0" name="18" begin="0" end="40"/>
+ </localvariabletable>
+ </operation>
+ <operation name="80">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="67"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="36"/>
+ <get arg="68"/>
+ <call arg="60"/>
+ <call arg="37"/>
+ <if arg="81"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="82"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="72"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="83"/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="36"/>
+ <get arg="68"/>
+ <get arg="84"/>
+ <iterate/>
+ <store arg="85"/>
+ <load arg="85"/>
+ <load arg="36"/>
+ <call arg="86"/>
+ <call arg="37"/>
+ <if arg="38"/>
+ <load arg="85"/>
+ <call arg="87"/>
+ <enditerate/>
+ <call arg="88"/>
+ <dup/>
+ <store arg="85"/>
+ <call arg="89"/>
+ <dup/>
+ <push arg="90"/>
+ <push arg="74"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <dup/>
+ <push arg="91"/>
+ <push arg="74"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="92" begin="15" end="15"/>
+ <lne id="93" begin="15" end="16"/>
+ <lne id="94" begin="15" end="17"/>
+ <lne id="95" begin="37" end="37"/>
+ <lne id="96" begin="37" end="38"/>
+ <lne id="97" begin="37" end="39"/>
+ <lne id="98" begin="42" end="42"/>
+ <lne id="99" begin="43" end="43"/>
+ <lne id="100" begin="42" end="44"/>
+ <lne id="101" begin="34" end="49"/>
+ <lne id="102" begin="34" end="50"/>
+ <lne id="103" begin="56" end="58"/>
+ <lne id="104" begin="62" end="64"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="2" name="42" begin="41" end="48"/>
+ <lve slot="2" name="83" begin="52" end="65"/>
+ <lve slot="1" name="72" begin="14" end="66"/>
+ <lve slot="0" name="18" begin="0" end="67"/>
+ </localvariabletable>
+ </operation>
+ <operation name="105">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="106"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <pusht/>
+ <call arg="37"/>
+ <if arg="56"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="107"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="42"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="44"/>
+ <push arg="107"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="108" begin="32" end="34"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="42" begin="14" end="36"/>
+ <lve slot="0" name="18" begin="0" end="37"/>
+ </localvariabletable>
+ </operation>
+ <operation name="109">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="110"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <pusht/>
+ <call arg="37"/>
+ <if arg="56"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="110"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="42"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="44"/>
+ <push arg="110"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="111" begin="32" end="34"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="42" begin="14" end="36"/>
+ <lve slot="0" name="18" begin="0" end="37"/>
+ </localvariabletable>
+ </operation>
+ <operation name="112">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="113"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <pusht/>
+ <call arg="37"/>
+ <if arg="56"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="114"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="42"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="115"/>
+ <push arg="114"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="116" begin="32" end="34"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="42" begin="14" end="36"/>
+ <lve slot="0" name="18" begin="0" end="37"/>
+ </localvariabletable>
+ </operation>
+ <operation name="117">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <push arg="118"/>
+ <push arg="31"/>
+ <findme/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <swap/>
+ <dup_x1/>
+ <push arg="33"/>
+ <call arg="34"/>
+ <call arg="35"/>
+ <swap/>
+ <pop/>
+ <iterate/>
+ <store arg="36"/>
+ <pusht/>
+ <call arg="37"/>
+ <if arg="56"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="39"/>
+ <push arg="9"/>
+ <new/>
+ <dup/>
+ <push arg="119"/>
+ <call arg="41"/>
+ <dup/>
+ <push arg="120"/>
+ <load arg="36"/>
+ <call arg="43"/>
+ <dup/>
+ <push arg="42"/>
+ <push arg="119"/>
+ <push arg="45"/>
+ <new/>
+ <call arg="46"/>
+ <call arg="50"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="121" begin="32" end="34"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="120" begin="14" end="36"/>
+ <lve slot="0" name="18" begin="0" end="37"/>
+ </localvariabletable>
+ </operation>
+ <operation name="122">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="123"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <load arg="7"/>
+ <get arg="3"/>
+ <call arg="124"/>
+ <if arg="125"/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <load arg="36"/>
+ <call arg="126"/>
+ <dup/>
+ <call arg="127"/>
+ <if arg="128"/>
+ <load arg="36"/>
+ <call arg="129"/>
+ <goto arg="130"/>
+ <pop/>
+ <load arg="36"/>
+ <goto arg="131"/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="36"/>
+ <iterate/>
+ <store arg="85"/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <call arg="132"/>
+ <call arg="133"/>
+ <enditerate/>
+ <call arg="134"/>
+ </code>
+ <linenumbertable>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="2" name="42" begin="23" end="27"/>
+ <lve slot="0" name="18" begin="0" end="29"/>
+ <lve slot="1" name="135" begin="0" end="29"/>
+ </localvariabletable>
+ </operation>
+ <operation name="136">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="123"/>
+ <parameter name="85" type="137"/>
+ </parameters>
+ <code>
+ <load arg="7"/>
+ <get arg="1"/>
+ <load arg="36"/>
+ <call arg="126"/>
+ <load arg="36"/>
+ <load arg="85"/>
+ <call arg="138"/>
+ </code>
+ <linenumbertable>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="0" name="18" begin="0" end="6"/>
+ <lve slot="1" name="135" begin="0" end="6"/>
+ <lve slot="2" name="139" begin="0" end="6"/>
+ </localvariabletable>
+ </operation>
+ <operation name="140">
+ <context type="6"/>
+ <parameters>
+ </parameters>
+ <code>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="40"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="142"/>
+ <enditerate/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="55"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="143"/>
+ <enditerate/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="62"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="144"/>
+ <enditerate/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="71"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="145"/>
+ <enditerate/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="82"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="146"/>
+ <enditerate/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="107"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="147"/>
+ <enditerate/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="110"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="148"/>
+ <enditerate/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="114"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="149"/>
+ <enditerate/>
+ <load arg="7"/>
+ <get arg="1"/>
+ <push arg="119"/>
+ <call arg="141"/>
+ <iterate/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="150"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="42" begin="5" end="8"/>
+ <lve slot="1" name="42" begin="15" end="18"/>
+ <lve slot="1" name="42" begin="25" end="28"/>
+ <lve slot="1" name="42" begin="35" end="38"/>
+ <lve slot="1" name="42" begin="45" end="48"/>
+ <lve slot="1" name="42" begin="55" end="58"/>
+ <lve slot="1" name="42" begin="65" end="68"/>
+ <lve slot="1" name="42" begin="75" end="78"/>
+ <lve slot="1" name="42" begin="85" end="88"/>
+ <lve slot="0" name="18" begin="0" end="89"/>
+ </localvariabletable>
+ </operation>
+ <operation name="151">
+ <context type="152"/>
+ <parameters>
+ </parameters>
+ <code>
+ <pushf/>
+ <store arg="36"/>
+ <push arg="67"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="153"/>
+ <iterate/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <load arg="85"/>
+ <get arg="154"/>
+ <load arg="7"/>
+ <call arg="155"/>
+ <load arg="85"/>
+ <get arg="156"/>
+ <load arg="7"/>
+ <call arg="155"/>
+ <call arg="157"/>
+ <call arg="157"/>
+ <store arg="36"/>
+ <enditerate/>
+ <load arg="36"/>
+ <store arg="36"/>
+ <load arg="36"/>
+ <load arg="7"/>
+ <get arg="158"/>
+ <call arg="159"/>
+ <call arg="69"/>
+ <load arg="7"/>
+ <get arg="160"/>
+ <call arg="127"/>
+ <call arg="69"/>
+ <load arg="7"/>
+ <get arg="161"/>
+ <call arg="159"/>
+ <call arg="69"/>
+ <call arg="157"/>
+ <call arg="157"/>
+ <call arg="157"/>
+ </code>
+ <linenumbertable>
+ <lne id="162" begin="0" end="0"/>
+ <lne id="163" begin="0" end="0"/>
+ <lne id="164" begin="2" end="4"/>
+ <lne id="165" begin="2" end="5"/>
+ <lne id="166" begin="8" end="8"/>
+ <lne id="167" begin="9" end="9"/>
+ <lne id="168" begin="9" end="10"/>
+ <lne id="169" begin="11" end="11"/>
+ <lne id="170" begin="9" end="12"/>
+ <lne id="171" begin="13" end="13"/>
+ <lne id="172" begin="13" end="14"/>
+ <lne id="173" begin="15" end="15"/>
+ <lne id="174" begin="13" end="16"/>
+ <lne id="175" begin="9" end="17"/>
+ <lne id="176" begin="8" end="18"/>
+ <lne id="177" begin="0" end="21"/>
+ <lne id="178" begin="0" end="21"/>
+ <lne id="179" begin="23" end="23"/>
+ <lne id="180" begin="24" end="24"/>
+ <lne id="181" begin="24" end="25"/>
+ <lne id="182" begin="24" end="26"/>
+ <lne id="183" begin="24" end="27"/>
+ <lne id="184" begin="28" end="28"/>
+ <lne id="185" begin="28" end="29"/>
+ <lne id="186" begin="28" end="30"/>
+ <lne id="187" begin="28" end="31"/>
+ <lne id="188" begin="32" end="32"/>
+ <lne id="189" begin="32" end="33"/>
+ <lne id="190" begin="32" end="34"/>
+ <lne id="191" begin="32" end="35"/>
+ <lne id="192" begin="28" end="36"/>
+ <lne id="193" begin="24" end="37"/>
+ <lne id="194" begin="23" end="38"/>
+ <lne id="195" begin="0" end="38"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="2" name="42" begin="7" end="19"/>
+ <lve slot="1" name="196" begin="1" end="21"/>
+ <lve slot="1" name="197" begin="22" end="38"/>
+ <lve slot="0" name="18" begin="0" end="38"/>
+ </localvariabletable>
+ </operation>
+ <operation name="198">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="199"/>
+ </parameters>
+ <code>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <push arg="67"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="153"/>
+ <iterate/>
+ <store arg="85"/>
+ <load arg="85"/>
+ <get arg="156"/>
+ <load arg="36"/>
+ <call arg="155"/>
+ <load arg="85"/>
+ <get arg="68"/>
+ <get arg="158"/>
+ <call arg="159"/>
+ <call arg="200"/>
+ <load arg="85"/>
+ <get arg="68"/>
+ <get arg="160"/>
+ <call arg="127"/>
+ <call arg="200"/>
+ <load arg="85"/>
+ <get arg="68"/>
+ <get arg="161"/>
+ <call arg="159"/>
+ <call arg="200"/>
+ <call arg="37"/>
+ <if arg="201"/>
+ <load arg="85"/>
+ <call arg="87"/>
+ <enditerate/>
+ </code>
+ <linenumbertable>
+ <lne id="202" begin="3" end="5"/>
+ <lne id="203" begin="3" end="6"/>
+ <lne id="204" begin="9" end="9"/>
+ <lne id="205" begin="9" end="10"/>
+ <lne id="206" begin="11" end="11"/>
+ <lne id="207" begin="9" end="12"/>
+ <lne id="208" begin="13" end="13"/>
+ <lne id="209" begin="13" end="14"/>
+ <lne id="210" begin="13" end="15"/>
+ <lne id="211" begin="13" end="16"/>
+ <lne id="212" begin="9" end="17"/>
+ <lne id="213" begin="18" end="18"/>
+ <lne id="214" begin="18" end="19"/>
+ <lne id="215" begin="18" end="20"/>
+ <lne id="216" begin="18" end="21"/>
+ <lne id="217" begin="9" end="22"/>
+ <lne id="218" begin="23" end="23"/>
+ <lne id="219" begin="23" end="24"/>
+ <lne id="220" begin="23" end="25"/>
+ <lne id="221" begin="23" end="26"/>
+ <lne id="222" begin="9" end="27"/>
+ <lne id="223" begin="0" end="32"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="2" name="42" begin="8" end="31"/>
+ <lve slot="0" name="18" begin="0" end="32"/>
+ <lve slot="1" name="49" begin="0" end="32"/>
+ </localvariabletable>
+ </operation>
+ <operation name="224">
+ <context type="225"/>
+ <parameters>
+ </parameters>
+ <code>
+ <load arg="7"/>
+ <get arg="68"/>
+ <get arg="84"/>
+ <call arg="88"/>
+ <store arg="36"/>
+ <load arg="7"/>
+ <load arg="36"/>
+ <call arg="155"/>
+ <if arg="226"/>
+ <pushf/>
+ <goto arg="227"/>
+ <load arg="36"/>
+ <get arg="68"/>
+ <get arg="224"/>
+ </code>
+ <linenumbertable>
+ <lne id="228" begin="0" end="0"/>
+ <lne id="229" begin="0" end="1"/>
+ <lne id="230" begin="0" end="2"/>
+ <lne id="231" begin="0" end="3"/>
+ <lne id="232" begin="0" end="3"/>
+ <lne id="233" begin="5" end="5"/>
+ <lne id="234" begin="6" end="6"/>
+ <lne id="235" begin="5" end="7"/>
+ <lne id="236" begin="9" end="9"/>
+ <lne id="237" begin="11" end="11"/>
+ <lne id="238" begin="11" end="12"/>
+ <lne id="239" begin="11" end="13"/>
+ <lne id="240" begin="5" end="13"/>
+ <lne id="241" begin="0" end="13"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="1" name="44" begin="4" end="13"/>
+ <lve slot="0" name="18" begin="0" end="13"/>
+ </localvariabletable>
+ </operation>
+ <operation name="242">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="42"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="44"/>
+ <call arg="245"/>
+ <store arg="246"/>
+ <load arg="36"/>
+ <push arg="47"/>
+ <call arg="245"/>
+ <store arg="247"/>
+ <load arg="36"/>
+ <push arg="49"/>
+ <call arg="245"/>
+ <store arg="248"/>
+ <load arg="246"/>
+ <dup/>
+ <load arg="7"/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="247"/>
+ <call arg="87"/>
+ <load arg="248"/>
+ <call arg="87"/>
+ <call arg="132"/>
+ <set arg="249"/>
+ <pop/>
+ <load arg="247"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="250"/>
+ <iterate/>
+ <store arg="251"/>
+ <load arg="251"/>
+ <push arg="55"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="252"/>
+ <load arg="251"/>
+ <push arg="59"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="252"/>
+ <if arg="253"/>
+ <pushf/>
+ <goto arg="254"/>
+ <load arg="251"/>
+ <call arg="60"/>
+ <call arg="157"/>
+ <call arg="37"/>
+ <if arg="255"/>
+ <load arg="251"/>
+ <call arg="87"/>
+ <enditerate/>
+ <call arg="87"/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="256"/>
+ <iterate/>
+ <store arg="251"/>
+ <load arg="251"/>
+ <push arg="110"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="252"/>
+ <call arg="37"/>
+ <if arg="257"/>
+ <load arg="251"/>
+ <call arg="87"/>
+ <enditerate/>
+ <call arg="87"/>
+ <call arg="132"/>
+ <set arg="249"/>
+ <pop/>
+ <load arg="248"/>
+ <dup/>
+ <load arg="7"/>
+ <push arg="258"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="256"/>
+ <iterate/>
+ <store arg="251"/>
+ <load arg="251"/>
+ <push arg="118"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="252"/>
+ <call arg="37"/>
+ <if arg="259"/>
+ <load arg="251"/>
+ <call arg="87"/>
+ <enditerate/>
+ <call arg="132"/>
+ <set arg="249"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="260" begin="22" end="22"/>
+ <lne id="261" begin="24" end="24"/>
+ <lne id="262" begin="19" end="25"/>
+ <lne id="263" begin="17" end="27"/>
+ <lne id="264" begin="32" end="32"/>
+ <lne id="265" begin="32" end="33"/>
+ <lne id="266" begin="30" end="35"/>
+ <lne id="267" begin="44" end="44"/>
+ <lne id="268" begin="44" end="45"/>
+ <lne id="269" begin="48" end="48"/>
+ <lne id="270" begin="49" end="51"/>
+ <lne id="271" begin="48" end="52"/>
+ <lne id="272" begin="53" end="53"/>
+ <lne id="273" begin="54" end="56"/>
+ <lne id="274" begin="53" end="57"/>
+ <lne id="275" begin="59" end="59"/>
+ <lne id="276" begin="61" end="61"/>
+ <lne id="277" begin="61" end="62"/>
+ <lne id="278" begin="53" end="62"/>
+ <lne id="279" begin="48" end="63"/>
+ <lne id="280" begin="41" end="68"/>
+ <lne id="281" begin="73" end="73"/>
+ <lne id="282" begin="73" end="74"/>
+ <lne id="283" begin="77" end="77"/>
+ <lne id="284" begin="78" end="80"/>
+ <lne id="285" begin="77" end="81"/>
+ <lne id="286" begin="70" end="86"/>
+ <lne id="287" begin="38" end="87"/>
+ <lne id="288" begin="36" end="89"/>
+ <lne id="289" begin="94" end="94"/>
+ <lne id="290" begin="92" end="96"/>
+ <lne id="291" begin="102" end="102"/>
+ <lne id="292" begin="102" end="103"/>
+ <lne id="293" begin="106" end="106"/>
+ <lne id="294" begin="107" end="109"/>
+ <lne id="295" begin="106" end="110"/>
+ <lne id="296" begin="99" end="115"/>
+ <lne id="297" begin="97" end="117"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="6" name="44" begin="47" end="67"/>
+ <lve slot="6" name="44" begin="76" end="85"/>
+ <lve slot="6" name="44" begin="105" end="114"/>
+ <lve slot="2" name="42" begin="3" end="118"/>
+ <lve slot="3" name="44" begin="7" end="118"/>
+ <lve slot="4" name="47" begin="11" end="118"/>
+ <lve slot="5" name="49" begin="15" end="118"/>
+ <lve slot="0" name="18" begin="0" end="118"/>
+ <lve slot="1" name="298" begin="0" end="118"/>
+ </localvariabletable>
+ </operation>
+ <operation name="299">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="42"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="44"/>
+ <call arg="245"/>
+ <store arg="246"/>
+ <load arg="246"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="300"/>
+ <call arg="132"/>
+ <set arg="300"/>
+ <dup/>
+ <load arg="7"/>
+ <push arg="301"/>
+ <push arg="9"/>
+ <new/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="158"/>
+ <iterate/>
+ <store arg="247"/>
+ <load arg="247"/>
+ <push arg="106"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="252"/>
+ <call arg="37"/>
+ <if arg="302"/>
+ <load arg="247"/>
+ <call arg="87"/>
+ <enditerate/>
+ <call arg="87"/>
+ <getasm/>
+ <load arg="85"/>
+ <call arg="303"/>
+ <call arg="87"/>
+ <call arg="132"/>
+ <set arg="304"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="160"/>
+ <call arg="127"/>
+ <if arg="254"/>
+ <push arg="301"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="160"/>
+ <call arg="87"/>
+ <goto arg="305"/>
+ <push arg="301"/>
+ <push arg="9"/>
+ <new/>
+ <call arg="132"/>
+ <set arg="306"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="307" begin="11" end="11"/>
+ <lne id="308" begin="11" end="12"/>
+ <lne id="309" begin="9" end="14"/>
+ <lne id="310" begin="17" end="17"/>
+ <lne id="311" begin="17" end="18"/>
+ <lne id="312" begin="15" end="20"/>
+ <lne id="313" begin="29" end="29"/>
+ <lne id="314" begin="29" end="30"/>
+ <lne id="315" begin="33" end="33"/>
+ <lne id="316" begin="34" end="36"/>
+ <lne id="317" begin="33" end="37"/>
+ <lne id="318" begin="26" end="42"/>
+ <lne id="319" begin="44" end="44"/>
+ <lne id="320" begin="45" end="45"/>
+ <lne id="321" begin="44" end="46"/>
+ <lne id="322" begin="23" end="47"/>
+ <lne id="323" begin="21" end="49"/>
+ <lne id="324" begin="52" end="52"/>
+ <lne id="325" begin="52" end="53"/>
+ <lne id="326" begin="52" end="54"/>
+ <lne id="327" begin="59" end="59"/>
+ <lne id="328" begin="59" end="60"/>
+ <lne id="329" begin="56" end="61"/>
+ <lne id="330" begin="63" end="65"/>
+ <lne id="331" begin="52" end="65"/>
+ <lne id="332" begin="50" end="67"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="4" name="49" begin="32" end="41"/>
+ <lve slot="2" name="42" begin="3" end="68"/>
+ <lve slot="3" name="44" begin="7" end="68"/>
+ <lve slot="0" name="18" begin="0" end="68"/>
+ <lve slot="1" name="298" begin="0" end="68"/>
+ </localvariabletable>
+ </operation>
+ <operation name="333">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="42"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="44"/>
+ <call arg="245"/>
+ <store arg="246"/>
+ <load arg="246"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="300"/>
+ <call arg="132"/>
+ <set arg="300"/>
+ <dup/>
+ <load arg="7"/>
+ <push arg="301"/>
+ <push arg="9"/>
+ <new/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="158"/>
+ <iterate/>
+ <store arg="247"/>
+ <load arg="247"/>
+ <push arg="106"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="252"/>
+ <call arg="37"/>
+ <if arg="302"/>
+ <load arg="247"/>
+ <call arg="87"/>
+ <enditerate/>
+ <call arg="87"/>
+ <load arg="85"/>
+ <get arg="84"/>
+ <call arg="88"/>
+ <call arg="87"/>
+ <call arg="132"/>
+ <set arg="304"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="160"/>
+ <call arg="127"/>
+ <if arg="254"/>
+ <push arg="301"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="160"/>
+ <call arg="87"/>
+ <goto arg="305"/>
+ <push arg="301"/>
+ <push arg="9"/>
+ <new/>
+ <call arg="132"/>
+ <set arg="306"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="334" begin="11" end="11"/>
+ <lne id="335" begin="11" end="12"/>
+ <lne id="336" begin="9" end="14"/>
+ <lne id="337" begin="17" end="17"/>
+ <lne id="338" begin="17" end="18"/>
+ <lne id="339" begin="15" end="20"/>
+ <lne id="340" begin="29" end="29"/>
+ <lne id="341" begin="29" end="30"/>
+ <lne id="342" begin="33" end="33"/>
+ <lne id="343" begin="34" end="36"/>
+ <lne id="344" begin="33" end="37"/>
+ <lne id="345" begin="26" end="42"/>
+ <lne id="346" begin="44" end="44"/>
+ <lne id="347" begin="44" end="45"/>
+ <lne id="348" begin="44" end="46"/>
+ <lne id="349" begin="23" end="47"/>
+ <lne id="350" begin="21" end="49"/>
+ <lne id="351" begin="52" end="52"/>
+ <lne id="352" begin="52" end="53"/>
+ <lne id="353" begin="52" end="54"/>
+ <lne id="354" begin="59" end="59"/>
+ <lne id="355" begin="59" end="60"/>
+ <lne id="356" begin="56" end="61"/>
+ <lne id="357" begin="63" end="65"/>
+ <lne id="358" begin="52" end="65"/>
+ <lne id="359" begin="50" end="67"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="4" name="49" begin="32" end="41"/>
+ <lve slot="2" name="42" begin="3" end="68"/>
+ <lve slot="3" name="44" begin="7" end="68"/>
+ <lve slot="0" name="18" begin="0" end="68"/>
+ <lve slot="1" name="298" begin="0" end="68"/>
+ </localvariabletable>
+ </operation>
+ <operation name="360">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="72"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="73"/>
+ <call arg="245"/>
+ <store arg="246"/>
+ <load arg="246"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="154"/>
+ <call arg="132"/>
+ <set arg="154"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="361"/>
+ <call arg="132"/>
+ <set arg="362"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="363"/>
+ <pushi arg="7"/>
+ <call arg="155"/>
+ <if arg="364"/>
+ <pushi arg="36"/>
+ <goto arg="365"/>
+ <pushi arg="7"/>
+ <pushi arg="36"/>
+ <call arg="366"/>
+ <call arg="132"/>
+ <set arg="367"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="368"/>
+ <call arg="132"/>
+ <set arg="368"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="156"/>
+ <call arg="132"/>
+ <set arg="369"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <call arg="370"/>
+ <call arg="132"/>
+ <set arg="371"/>
+ <dup/>
+ <load arg="7"/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="68"/>
+ <get arg="84"/>
+ <iterate/>
+ <store arg="247"/>
+ <load arg="247"/>
+ <load arg="85"/>
+ <call arg="86"/>
+ <call arg="37"/>
+ <if arg="372"/>
+ <load arg="247"/>
+ <call arg="87"/>
+ <enditerate/>
+ <call arg="88"/>
+ <call arg="132"/>
+ <set arg="373"/>
+ <dup/>
+ <load arg="7"/>
+ <pushf/>
+ <call arg="132"/>
+ <set arg="374"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="375" begin="11" end="11"/>
+ <lne id="376" begin="11" end="12"/>
+ <lne id="377" begin="9" end="14"/>
+ <lne id="378" begin="17" end="17"/>
+ <lne id="379" begin="17" end="18"/>
+ <lne id="380" begin="15" end="20"/>
+ <lne id="381" begin="23" end="23"/>
+ <lne id="382" begin="23" end="24"/>
+ <lne id="383" begin="21" end="26"/>
+ <lne id="384" begin="29" end="29"/>
+ <lne id="385" begin="29" end="30"/>
+ <lne id="386" begin="31" end="31"/>
+ <lne id="387" begin="29" end="32"/>
+ <lne id="388" begin="34" end="34"/>
+ <lne id="389" begin="36" end="36"/>
+ <lne id="390" begin="37" end="37"/>
+ <lne id="391" begin="36" end="38"/>
+ <lne id="392" begin="29" end="38"/>
+ <lne id="393" begin="27" end="40"/>
+ <lne id="394" begin="43" end="43"/>
+ <lne id="395" begin="43" end="44"/>
+ <lne id="396" begin="41" end="46"/>
+ <lne id="397" begin="49" end="49"/>
+ <lne id="398" begin="49" end="50"/>
+ <lne id="399" begin="47" end="52"/>
+ <lne id="400" begin="55" end="55"/>
+ <lne id="401" begin="55" end="56"/>
+ <lne id="402" begin="53" end="58"/>
+ <lne id="403" begin="64" end="64"/>
+ <lne id="404" begin="64" end="65"/>
+ <lne id="405" begin="64" end="66"/>
+ <lne id="406" begin="69" end="69"/>
+ <lne id="407" begin="70" end="70"/>
+ <lne id="408" begin="69" end="71"/>
+ <lne id="409" begin="61" end="76"/>
+ <lne id="410" begin="61" end="77"/>
+ <lne id="411" begin="59" end="79"/>
+ <lne id="412" begin="82" end="82"/>
+ <lne id="413" begin="80" end="84"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="4" name="42" begin="68" end="75"/>
+ <lve slot="2" name="72" begin="3" end="85"/>
+ <lve slot="3" name="73" begin="7" end="85"/>
+ <lve slot="0" name="18" begin="0" end="85"/>
+ <lve slot="1" name="298" begin="0" end="85"/>
+ </localvariabletable>
+ </operation>
+ <operation name="414">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="72"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="83"/>
+ <call arg="415"/>
+ <store arg="246"/>
+ <load arg="36"/>
+ <push arg="90"/>
+ <call arg="245"/>
+ <store arg="247"/>
+ <load arg="36"/>
+ <push arg="91"/>
+ <call arg="245"/>
+ <store arg="248"/>
+ <load arg="247"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="156"/>
+ <call arg="132"/>
+ <set arg="369"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="68"/>
+ <call arg="132"/>
+ <set arg="154"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="248"/>
+ <call arg="132"/>
+ <set arg="373"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="361"/>
+ <call arg="132"/>
+ <set arg="362"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="363"/>
+ <pushi arg="7"/>
+ <call arg="155"/>
+ <if arg="416"/>
+ <pushi arg="36"/>
+ <goto arg="417"/>
+ <pushi arg="7"/>
+ <pushi arg="36"/>
+ <call arg="366"/>
+ <call arg="132"/>
+ <set arg="367"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="368"/>
+ <call arg="132"/>
+ <set arg="368"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <call arg="370"/>
+ <call arg="132"/>
+ <set arg="371"/>
+ <dup/>
+ <load arg="7"/>
+ <pushf/>
+ <call arg="132"/>
+ <set arg="374"/>
+ <pop/>
+ <load arg="248"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="246"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="68"/>
+ <call arg="132"/>
+ <set arg="369"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="156"/>
+ <call arg="132"/>
+ <set arg="154"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="247"/>
+ <call arg="132"/>
+ <set arg="373"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="246"/>
+ <get arg="361"/>
+ <call arg="132"/>
+ <set arg="362"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="246"/>
+ <get arg="363"/>
+ <pushi arg="7"/>
+ <call arg="155"/>
+ <if arg="418"/>
+ <pushi arg="36"/>
+ <goto arg="419"/>
+ <pushi arg="7"/>
+ <pushi arg="36"/>
+ <call arg="366"/>
+ <call arg="132"/>
+ <set arg="367"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="246"/>
+ <get arg="368"/>
+ <call arg="132"/>
+ <set arg="368"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="246"/>
+ <call arg="370"/>
+ <call arg="132"/>
+ <set arg="371"/>
+ <dup/>
+ <load arg="7"/>
+ <pushf/>
+ <call arg="132"/>
+ <set arg="374"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="420" begin="19" end="19"/>
+ <lne id="421" begin="19" end="20"/>
+ <lne id="422" begin="17" end="22"/>
+ <lne id="423" begin="25" end="25"/>
+ <lne id="424" begin="25" end="26"/>
+ <lne id="425" begin="23" end="28"/>
+ <lne id="426" begin="31" end="31"/>
+ <lne id="427" begin="31" end="32"/>
+ <lne id="428" begin="29" end="34"/>
+ <lne id="429" begin="37" end="37"/>
+ <lne id="430" begin="35" end="39"/>
+ <lne id="431" begin="42" end="42"/>
+ <lne id="432" begin="42" end="43"/>
+ <lne id="433" begin="40" end="45"/>
+ <lne id="434" begin="48" end="48"/>
+ <lne id="435" begin="48" end="49"/>
+ <lne id="436" begin="50" end="50"/>
+ <lne id="437" begin="48" end="51"/>
+ <lne id="438" begin="53" end="53"/>
+ <lne id="439" begin="55" end="55"/>
+ <lne id="440" begin="56" end="56"/>
+ <lne id="441" begin="55" end="57"/>
+ <lne id="442" begin="48" end="57"/>
+ <lne id="443" begin="46" end="59"/>
+ <lne id="444" begin="62" end="62"/>
+ <lne id="445" begin="62" end="63"/>
+ <lne id="446" begin="60" end="65"/>
+ <lne id="447" begin="68" end="68"/>
+ <lne id="448" begin="68" end="69"/>
+ <lne id="449" begin="66" end="71"/>
+ <lne id="450" begin="74" end="74"/>
+ <lne id="451" begin="72" end="76"/>
+ <lne id="452" begin="81" end="81"/>
+ <lne id="453" begin="81" end="82"/>
+ <lne id="454" begin="79" end="84"/>
+ <lne id="455" begin="87" end="87"/>
+ <lne id="456" begin="87" end="88"/>
+ <lne id="457" begin="85" end="90"/>
+ <lne id="458" begin="93" end="93"/>
+ <lne id="459" begin="93" end="94"/>
+ <lne id="460" begin="91" end="96"/>
+ <lne id="461" begin="99" end="99"/>
+ <lne id="462" begin="97" end="101"/>
+ <lne id="463" begin="104" end="104"/>
+ <lne id="464" begin="104" end="105"/>
+ <lne id="465" begin="102" end="107"/>
+ <lne id="466" begin="110" end="110"/>
+ <lne id="467" begin="110" end="111"/>
+ <lne id="468" begin="112" end="112"/>
+ <lne id="469" begin="110" end="113"/>
+ <lne id="470" begin="115" end="115"/>
+ <lne id="471" begin="117" end="117"/>
+ <lne id="472" begin="118" end="118"/>
+ <lne id="473" begin="117" end="119"/>
+ <lne id="474" begin="110" end="119"/>
+ <lne id="475" begin="108" end="121"/>
+ <lne id="476" begin="124" end="124"/>
+ <lne id="477" begin="124" end="125"/>
+ <lne id="478" begin="122" end="127"/>
+ <lne id="479" begin="130" end="130"/>
+ <lne id="480" begin="130" end="131"/>
+ <lne id="481" begin="128" end="133"/>
+ <lne id="482" begin="136" end="136"/>
+ <lne id="483" begin="134" end="138"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="2" name="72" begin="3" end="139"/>
+ <lve slot="3" name="83" begin="7" end="139"/>
+ <lve slot="4" name="90" begin="11" end="139"/>
+ <lve slot="5" name="91" begin="15" end="139"/>
+ <lve slot="0" name="18" begin="0" end="139"/>
+ <lve slot="1" name="298" begin="0" end="139"/>
+ </localvariabletable>
+ </operation>
+ <operation name="484">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="42"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="44"/>
+ <call arg="245"/>
+ <store arg="246"/>
+ <load arg="246"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <pushi arg="36"/>
+ <call arg="132"/>
+ <set arg="367"/>
+ <dup/>
+ <load arg="7"/>
+ <pushi arg="36"/>
+ <call arg="132"/>
+ <set arg="362"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="154"/>
+ <call arg="132"/>
+ <set arg="154"/>
+ <dup/>
+ <load arg="7"/>
+ <pushf/>
+ <call arg="132"/>
+ <set arg="374"/>
+ <dup/>
+ <load arg="7"/>
+ <pushf/>
+ <call arg="132"/>
+ <set arg="368"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="485" begin="11" end="11"/>
+ <lne id="486" begin="11" end="12"/>
+ <lne id="487" begin="9" end="14"/>
+ <lne id="488" begin="17" end="17"/>
+ <lne id="489" begin="15" end="19"/>
+ <lne id="490" begin="22" end="22"/>
+ <lne id="491" begin="20" end="24"/>
+ <lne id="492" begin="27" end="27"/>
+ <lne id="493" begin="27" end="28"/>
+ <lne id="494" begin="25" end="30"/>
+ <lne id="495" begin="33" end="33"/>
+ <lne id="496" begin="31" end="35"/>
+ <lne id="497" begin="38" end="38"/>
+ <lne id="498" begin="36" end="40"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="2" name="42" begin="3" end="41"/>
+ <lve slot="3" name="44" begin="7" end="41"/>
+ <lve slot="0" name="18" begin="0" end="41"/>
+ <lve slot="1" name="298" begin="0" end="41"/>
+ </localvariabletable>
+ </operation>
+ <operation name="499">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="42"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="44"/>
+ <call arg="245"/>
+ <store arg="246"/>
+ <load arg="246"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <dup/>
+ <load arg="7"/>
+ <push arg="32"/>
+ <push arg="9"/>
+ <new/>
+ <load arg="85"/>
+ <get arg="500"/>
+ <iterate/>
+ <store arg="247"/>
+ <load arg="247"/>
+ <push arg="113"/>
+ <push arg="31"/>
+ <findme/>
+ <call arg="252"/>
+ <call arg="37"/>
+ <if arg="501"/>
+ <load arg="247"/>
+ <call arg="87"/>
+ <enditerate/>
+ <call arg="132"/>
+ <set arg="500"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="502" begin="11" end="11"/>
+ <lne id="503" begin="11" end="12"/>
+ <lne id="504" begin="9" end="14"/>
+ <lne id="505" begin="20" end="20"/>
+ <lne id="506" begin="20" end="21"/>
+ <lne id="507" begin="24" end="24"/>
+ <lne id="508" begin="25" end="27"/>
+ <lne id="509" begin="24" end="28"/>
+ <lne id="510" begin="17" end="33"/>
+ <lne id="511" begin="15" end="35"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="4" name="44" begin="23" end="32"/>
+ <lve slot="2" name="42" begin="3" end="36"/>
+ <lve slot="3" name="44" begin="7" end="36"/>
+ <lve slot="0" name="18" begin="0" end="36"/>
+ <lve slot="1" name="298" begin="0" end="36"/>
+ </localvariabletable>
+ </operation>
+ <operation name="512">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="42"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="115"/>
+ <call arg="245"/>
+ <store arg="246"/>
+ <load arg="246"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="513" begin="11" end="11"/>
+ <lne id="514" begin="11" end="12"/>
+ <lne id="515" begin="9" end="14"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="2" name="42" begin="3" end="15"/>
+ <lve slot="3" name="115" begin="7" end="15"/>
+ <lve slot="0" name="18" begin="0" end="15"/>
+ <lve slot="1" name="298" begin="0" end="15"/>
+ </localvariabletable>
+ </operation>
+ <operation name="516">
+ <context type="6"/>
+ <parameters>
+ <parameter name="36" type="243"/>
+ </parameters>
+ <code>
+ <load arg="36"/>
+ <push arg="120"/>
+ <call arg="244"/>
+ <store arg="85"/>
+ <load arg="36"/>
+ <push arg="42"/>
+ <call arg="245"/>
+ <store arg="246"/>
+ <load arg="246"/>
+ <dup/>
+ <load arg="7"/>
+ <load arg="85"/>
+ <get arg="139"/>
+ <call arg="132"/>
+ <set arg="139"/>
+ <pop/>
+ </code>
+ <linenumbertable>
+ <lne id="517" begin="11" end="11"/>
+ <lne id="518" begin="11" end="12"/>
+ <lne id="519" begin="9" end="14"/>
+ </linenumbertable>
+ <localvariabletable>
+ <lve slot="2" name="120" begin="3" end="15"/>
+ <lve slot="3" name="42" begin="7" end="15"/>
+ <lve slot="0" name="18" begin="0" end="15"/>
+ <lve slot="1" name="298" begin="0" end="15"/>
+ </localvariabletable>
+ </operation>
+</asm>
diff --git a/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.atl b/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.atl
new file mode 100644
index 00000000..8119ba75
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.atl
@@ -0,0 +1,227 @@
+-- DSL to Ecore
+-- second transformation : DSL to KM3
+
+module DSL2KM3;
+create OUT : KM3 from IN : DSL;
+
+-------------------------------------------------------------------------------
+-- HELPERS --------------------------------------------------------------------
+-------------------------------------------------------------------------------
+
+-- This helper checks if a relation needs to be turn on a class
+-- * if self is pointed by an other relationship
+-- * if self has supertypes
+-- * if self has subtypes
+-- * if self has properties
+-- CONTEXT: DSL!Relationship
+-- RETURN: Boolean
+helper context DSL!Relationship def: needTurnOnClass() : Boolean =
+ let cond : Boolean =
+ DSL!Role.allInstances()->iterate(e; acc : Boolean = false |
+ acc or (e.type = self or e.source = self))
+ in (cond or
+ (not self.properties.isEmpty()
+ or (not self.superType.oclIsUndefined()
+ or not self.subTypes.isEmpty())));
+
+-- This helper get the roles pointing on a given class
+-- CONTEXT: DSL!Class
+-- RETURN: Sequence(DSL!Role)
+helper def: getRoles(c : DSL!Class) : Sequence(DSL!Role) =
+ DSL!Role.allInstances()->select(e | e.source = c
+ and e.relation.properties.isEmpty()
+ and e.relation.superType.oclIsUndefined()
+ and e.relation.subTypes.isEmpty());
+
+-- This helper get the containmentstyle of the roles
+-- CONTEXT: DSL!Role
+-- RETURN: Boolean (true for embedding, false for reference)
+helper context DSL!Role def: isEmbedding() : Boolean =
+ let a : DSL!Role = self.relation.roles.first()
+ in if self = a then a.relation.isEmbedding
+ else false endif;
+
+-------------------------------------------------------------------------------
+-- RULES ----------------------------------------------------------------------
+-------------------------------------------------------------------------------
+
+-- Rule 'Metamodel'.
+-- This rule generates the Metamodel, which will content the following packages :
+-- * the package containing the model
+-- * the PrimitivesTypes package, which contents string, integer and boolean types
+rule Metamodel {
+ from
+ e : DSL!DomainModel
+ to
+ a : KM3!Metamodel(
+ contents <- Sequence{b, c}
+ ),
+ b : KM3!Package (
+ name <- e.name,
+ contents <-
+ Sequence{
+ e.classifiers
+ ->select(a |
+ a.oclIsTypeOf(DSL!Class) or
+ if a.oclIsTypeOf(DSL!Relationship)
+ then
+ a.needTurnOnClass()
+ else
+ false
+ endif
+ ),
+ e.types
+ ->select(a | a.oclIsTypeOf(DSL!Enumeration))
+ }
+ ),
+ c : KM3!Package (
+ name <- 'PrimitiveTypes',
+ contents <- e.types->select(a | a.oclIsTypeOf(DSL!SimpleType))
+ )
+}
+
+-- Rule 'Class'.
+-- This rule generates a KM3!Class corresponding to a DSL!Class
+-- and mark his name if it is the Root class
+rule Class {
+ from
+ e : DSL!Class
+ to
+ a : KM3!Class(
+ name<-e.name,
+ isAbstract <- e.isAbstract,
+ structuralFeatures<-Set{
+ e.properties -> select (c | c.oclIsTypeOf(DSL!ValueProperty) ),
+ thisModule.getRoles(e)
+ },
+ supertypes <- if e.superType.oclIsUndefined() then Set{} else Set{e.superType} endif
+ )
+}
+
+-- Rule 'Relation2Class'.
+-- This rule generates a KM3!Class from a Relationship
+-- if it needs
+rule Relation2Class {
+ from
+ e : DSL!Relationship(
+ e.needTurnOnClass()
+ )
+ to
+ a : KM3!Class(
+ name<-e.name,
+ isAbstract <- e.isAbstract,
+ structuralFeatures<- Set{
+ e.properties -> select (c | c.oclIsTypeOf(DSL!ValueProperty)),
+ e.roles->first()
+ },
+ supertypes <- if e.superType.oclIsUndefined() then Set{} else Set{e.superType} endif
+ )
+}
+
+-- Rule 'SimpleReference'.
+-- This rule generates a Reference in a KM3!Class by copying the features
+-- of the corresponding DSL!Role
+rule SimpleReference {
+ from
+ r : DSL!Role(
+ not r.relation.needTurnOnClass()
+ )
+ to
+ rf : KM3!Reference (
+ name <- r.name,
+ type <- r.type,
+ lower <- r.min,
+ upper <- if r.max=0 then 0-1 else 1 endif,
+ isOrdered <- r.isOrdered,
+ owner <- r.source,
+ isContainer <- r.isEmbedding(),
+ opposite <- r.relation.roles->select(e | e <> r)->first(),
+ isUnique <- false
+ )
+}
+
+-- Rule 'ComplexReference'.
+-- This rule generates two opposites references which will be the link
+-- between the new Relationship and his adjoining Classes
+rule ComplexReference {
+ from
+ r : DSL!Role (
+ r.relation.needTurnOnClass()
+ )
+ using {
+ oppositeRole : DSL!Role = r.relation.roles->select(e | e <> r)->first();
+ }
+ to
+ rfInOwner : KM3!Reference (
+ name <- r.name,
+ owner <- r.source,
+ type <- r.relation,
+ opposite <- rfInRelationship,
+ lower <- r.min,
+ upper <- if r.max=0
+ then 0-1 else 1 endif,
+ isOrdered <- r.isOrdered,
+ isContainer <- r.isEmbedding(),
+ isUnique <- false
+ ),
+ rfInRelationship : KM3!Reference (
+ name <- oppositeRole.name,
+ owner <- r.relation,
+ type <- r.source,
+ opposite <- rfInOwner,
+ lower <- oppositeRole.min,
+ upper <- if oppositeRole.max=0 then 0-1 else 1 endif,
+ isOrdered <- oppositeRole.isOrdered,
+ isContainer <- oppositeRole.isEmbedding(),
+ isUnique <- false
+ )
+}
+
+-- Rule 'Attribute'.
+-- This rule generates a KM3!Attribut, corresponding to a DSL!ValueProperty
+rule Attribute {
+ from
+ e : DSL!ValueProperty
+ to
+ a : KM3!Attribute(
+ name <- e.name,
+ upper <- 1,
+ lower <-1,
+ type <- e.type,
+ isUnique <- false,
+ isOrdered <- false
+ )
+}
+
+-- Rule 'Enumeration'.
+-- This rule generates the KM3!Enumeration corresponding to a DSL!Enumeration
+rule Enumeration {
+ from
+ e : DSL!Enumeration
+ to
+ a : KM3!Enumeration(
+ name <- e.name,
+ literals <- e.literals -> select(a | a.oclIsTypeOf(DSL!EnumerationLiteral))
+ )
+}
+
+-- Rule 'EnumLiteral'.
+-- This rule generates the KM3!EnumLiteral corresponding to a
+-- DSL!EnumerationLiteral
+rule EnumLiteral {
+ from
+ e : DSL!EnumerationLiteral
+ to
+ l : KM3!EnumLiteral (
+ name <- e.name
+ )
+}
+
+-- Rule 'Datatype'.
+-- This rule generates the KM3!Datatype corresponding to a DSL!SimpleType
+rule DataType {
+ from
+ t : DSL!SimpleType
+ to
+ e: KM3!DataType(name<-t.name)
+}
diff --git a/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.launch b/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.launch
new file mode 100644
index 00000000..69c4b3b0
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.launch
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.atl.eclipse.adt.launching.atlTransformation">
+<stringAttribute key="ATL File Name" value="/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/DSL2KM3.atl"/>
+<stringAttribute key="ATL VM" value="Regular VM (with debugger)"/>
+<booleanAttribute key="AllowInterModelReferences" value="false"/>
+<mapAttribute key="Input">
+<mapEntry key="IN" value="DSL"/>
+</mapAttribute>
+<mapAttribute key="Libs"/>
+<booleanAttribute key="Mode Debug" value="false"/>
+<mapAttribute key="Model Handler">
+<mapEntry key="KM3" value="EMF"/>
+<mapEntry key="DSL" value="EMF"/>
+</mapAttribute>
+<mapAttribute key="ModelType">
+<mapEntry key="KM3" value="METAMODELOUTPUT"/>
+<mapEntry key="IN" value="MODELINPUT"/>
+<mapEntry key="DSL" value="METAMODELINPUT"/>
+<mapEntry key="OUT" value="MODELOUTPUT"/>
+</mapAttribute>
+<mapAttribute key="Output">
+<mapEntry key="OUT" value="KM3"/>
+</mapAttribute>
+<mapAttribute key="Path">
+<mapEntry key="IN" value="/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/SimpleExampleMM-DSL.ecore"/>
+<mapEntry key="KM3" value="/data/inputs/DSLBridge/KM3.ecore"/>
+<mapEntry key="DSL" value="/data/inputs/DSLBridge/DSL.ecore"/>
+<mapEntry key="OUT" value="/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/SimpleExampleMM-KM3.ecore"/>
+</mapAttribute>
+<stringAttribute key="Project Name" value=""/>
+<listAttribute key="Superimpose"/>
+<booleanAttribute key="continueAfterError" value="false"/>
+<booleanAttribute key="disableAttributeHelperCache" value="false"/>
+<booleanAttribute key="printExecutionTime" value="false"/>
+<booleanAttribute key="profile" value="false"/>
+<booleanAttribute key="showSummary" value="false"/>
+<booleanAttribute key="step" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/SimpleExampleMM-DSL.ecore b/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/SimpleExampleMM-DSL.ecore
new file mode 100644
index 00000000..9a38f8fc
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.tests/data/inputs/DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3/SimpleExampleMM-DSL.ecore
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<DomainModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="DSL" name="SimpleExample" identity="14141e04-a097-496d-b2ab-d343fac336fa" namespace="Example.SimpleExample.DomainModel" isLoaded="true">
+ <classifiers xsi:type="Class" name="ConceptA" identity="970b23f8-232f-4b27-a560-ee5289ba87aa" namespace="Example.SimpleExample.DomainModel" isLoaded="true"/>
+ <classifiers xsi:type="Class" name="ConceptB" identity="1580bc4b-c7ed-4423-a8eb-306c01bf33ea" namespace="Example.SimpleExample.DomainModel" isLoaded="true"/>
+ <classifiers xsi:type="Class" name="ConceptC" identity="0fe218f6-ea4f-4547-a390-e5e069524ae9" namespace="Example.SimpleExample.DomainModel" isLoaded="true"/>
+ <classifiers xsi:type="Relationship" name="AHasBs" identity="d8f2f19e-0412-4223-b256-8b8fc893c8f1" namespace="Example.SimpleExample.DomainModel" isLoaded="true" isEmbedding="true">
+ <roles name="Bs" identity="ebf7e8de-cb84-4252-8cff-7d10dc227b69" min="0" max="0" isUnbounded="true" accepts="all" isOrdered="true" source="//@classifiers.0" type="//@classifiers.1"/>
+ <roles name="ConceptA" identity="5d44ccd3-6872-4643-b57e-9105dde5e1e9" min="1" max="1" accepts="none" isOrdered="true" source="//@classifiers.1" type="//@classifiers.0"/>
+ </classifiers>
+ <classifiers xsi:type="Relationship" name="AHasCs" identity="f9434de9-8d47-43a9-9fab-980bfb1e7ac1" namespace="Example.SimpleExample.DomainModel" isLoaded="true" isEmbedding="true">
+ <roles name="Cs" identity="0cf0be27-7402-4fc9-9092-26f85b286450" min="0" max="0" isUnbounded="true" accepts="all" isOrdered="true" source="//@classifiers.0" type="//@classifiers.2"/>
+ <roles name="ConceptA" identity="80eac6fa-7c7e-4ce3-ad47-c61731fa1b11" min="1" max="1" accepts="none" isOrdered="true" source="//@classifiers.2" type="//@classifiers.0"/>
+ </classifiers>
+ <classifiers xsi:type="Relationship" name="BReferencesC" identity="b15bde10-1034-46be-aa69-de99c2b260a0" namespace="Example.SimpleExample.DomainModel" isLoaded="true">
+ <properties name="Property" identity="0a5a593f-f166-4da2-b85b-69549c8b24fb" type="//@types.0"/>
+ <roles name="ReferencedC" identity="b1d368ec-ab53-422a-b3aa-45fec6560a39" min="0" max="1" accepts="none" isOrdered="true" source="//@classifiers.1" type="//@classifiers.2"/>
+ <roles name="ReferringBs" identity="ce58c89b-2db4-4e44-9f8e-4a58c02a8351" min="0" max="0" isUnbounded="true" accepts="none" isOrdered="true" source="//@classifiers.2" type="//@classifiers.1"/>
+ </classifiers>
+ <types xsi:type="SimpleType" name="String"/>
+ <types xsi:type="SimpleType" name="Integer"/>
+ <types xsi:type="SimpleType" name="Boolean"/>
+ <types xsi:type="SimpleType" name="Double"/>
+</DomainModel>

Back to the top