Compiling JCHR seemlessly as part of MPS make

This commit is contained in:
Fedor Isakov 2014-08-01 16:46:40 +02:00
parent c800cdb4cb
commit 8e5b5d21a7
15 changed files with 1154 additions and 758 deletions

1
.gitignore vendored
View File

@ -3,4 +3,5 @@
**/test_gen/*
**/test_gen.caches/*
**/classes_gen/*
**/classes_jchr/*
.mps/workspace.xml

View File

@ -5,9 +5,11 @@
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.jchr/jetbrains.mps.jchr.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.jchr/runtime/jetbrains.mps.jchr.runtime.msd" folder="" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.jchr/sandbox/jetbrains.mps.jchr.sandbox.msd" folder="" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.jchr/sandbox/runner/jetbrains.mps.jchr.sandbox.runner.msd" folder="" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.logic/jetbrains.mps.logic.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.logic/runtime/jetbrains.mps.logic.runtime.msd" folder="" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.logic/sandbox/jetbrains.mps.logic.sandbox.msd" folder="" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.logic/sandbox/runner/jetbrains.mps.logic.sandbox.runner.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/jetbrains.mps.unification.tree/jetbrains.mps.unification.tree.msd" folder="" />
</projectModules>
</component>

View File

@ -3,9 +3,12 @@
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="languageModels" />
<sourceRoot location="languageAccessories" />
</modelRoot>
</models>
<accessoryModels />
<accessoryModels>
<model modelUID="r:63e42001-b680-413c-92d7-b07cd22aa33d(jetbrains.mps.jchr.makehelper)" />
</accessoryModels>
<generators>
<generator generatorUID="jetbrains.mps.jchr#456733934405380506" uuid="3805ea9c-bac0-45ea-9157-1b3b93c1c0cc">
<models>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:63e42001-b680-413c-92d7-b07cd22aa33d(jetbrains.mps.jchr.makehelper)">
<persistence version="8" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
<import index="fxg7" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.io(JDK/java.io@java_stub)" version="-1" />
<import index="yo81" modelUID="r:4ea5a78b-cb8a-4831-b227-f7860a22491d(jetbrains.mps.make.resources)" version="-1" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" implicit="yes" />
<import index="tp2q" modelUID="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" version="7" implicit="yes" />
<import index="cx9y" modelUID="r:309aeee7-bee8-445c-b31d-35928d1da75f(jetbrains.mps.baseLanguage.tuples.structure)" version="2" implicit="yes" />
<root type="cx9y.NamedTupleDeclaration" typeId="cx9y.1239360506533" id="3562712610784562853" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="JCRHResource" />
<node role="component" roleId="cx9y.1239529553065" type="cx9y.NamedTupleComponentDeclaration" typeId="cx9y.1239462176079" id="3562712610784562854" nodeInfo="ng">
<property name="final" nameId="cx9y.1240400839614" value="false" />
<property name="name" nameId="tpck.1169194664001" value="clsOutput" />
<node role="type" roleId="cx9y.1239462974287" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610784562855" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
<node role="component" roleId="cx9y.1239529553065" type="cx9y.NamedTupleComponentDeclaration" typeId="cx9y.1239462176079" id="3562712610784562856" nodeInfo="ng">
<property name="final" nameId="cx9y.1240400839614" value="false" />
<property name="name" nameId="tpck.1169194664001" value="handlerFiles" />
<node role="type" roleId="cx9y.1239462974287" type="tp2q.ListType" typeId="tp2q.1151688443754" id="3562712610784562857" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610784562858" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
</node>
<node role="component" roleId="cx9y.1239529553065" type="cx9y.NamedTupleComponentDeclaration" typeId="cx9y.1239462176079" id="3562712610784562859" nodeInfo="ng">
<property name="final" nameId="cx9y.1240400839614" value="false" />
<property name="name" nameId="tpck.1169194664001" value="classpath" />
<node role="type" roleId="cx9y.1239462974287" type="tp2q.ListType" typeId="tp2q.1151688443754" id="3562712610784562860" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610784562861" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610784562862" nodeInfo="nn" />
<node role="method" roleId="cx9y.1500000307918327556" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="3562712610784562863" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="describe" />
<node role="returnType" roleId="tpee.1068580123133" type="tpee.StringType" typeId="tpee.1225271177708" id="3562712610784562864" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610784562865" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610784562866" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610784562867" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="3562712610784562868" nodeInfo="nn" />
</node>
</node>
</node>
<node role="implements" roleId="cx9y.2423993921025641700" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610784562869" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="yo81.6168415856807657256" resolveInfo="IResource" />
</node>
</root>
</model>

View File

@ -35,6 +35,10 @@
<import index="rk9m" modelUID="r:f8580193-afc4-4673-a635-d4757ca591cf(jetbrains.mps.internal.make.runtime.util)" version="-1" />
<import index="hypd" modelUID="r:aa31e43e-9240-4f4d-b6db-5c1c9a86c59e(jetbrains.mps.lang.project.structure)" version="-1" />
<import index="wev6" modelUID="r:f29914af-ae14-4589-b53d-f60c6018b368(jetbrains.mps.lang.project.behavior)" version="-1" />
<import index="nhkf" modelUID="f:java_stub#6ed54515-acc8-4d1e-a16c-9fd6cfe951ea#jetbrains.mps.project.facets(MPS.Core/jetbrains.mps.project.facets@java_stub)" version="-1" />
<import index="7poj" modelUID="f:java_stub#6ed54515-acc8-4d1e-a16c-9fd6cfe951ea#jetbrains.mps.make.resources(MPS.Core/jetbrains.mps.make.resources@java_stub)" version="-1" />
<import index="yo81" modelUID="r:4ea5a78b-cb8a-4831-b227-f7860a22491d(jetbrains.mps.make.resources)" version="-1" />
<import index="6zjw" modelUID="r:63e42001-b680-413c-92d7-b07cd22aa33d(jetbrains.mps.jchr.makehelper)" version="-1" />
<import index="vvvw" modelUID="r:b16ff46d-fa06-479d-9f5c-5b6e17e7f1b2(jetbrains.mps.make.facet.structure)" version="1" implicit="yes" />
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" implicit="yes" />
<import index="tpib" modelUID="r:00000000-0000-4000-0000-011c8959057f(jetbrains.mps.baseLanguage.logging.structure)" version="0" implicit="yes" />
@ -48,115 +52,146 @@
<import index="tp4f" modelUID="r:00000000-0000-4000-0000-011c89590373(jetbrains.mps.baseLanguage.classifiers.structure)" version="0" implicit="yes" />
<root type="vvvw.FacetDeclaration" typeId="vvvw.6418371274763029523" id="8024275747840079762" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="CompileJCHR" />
<node role="targetDeclaration" roleId="vvvw.6418371274763146558" type="vvvw.TargetDeclaration" typeId="vvvw.6418371274763029565" id="8024275747840079763" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="compileJCHR" />
<node role="dependency" roleId="vvvw.6418371274763146553" type="vvvw.TargetDependency" typeId="vvvw.6418371274763029600" id="8024275747840079764" nodeInfo="ng">
<node role="targetDeclaration" roleId="vvvw.6418371274763146558" type="vvvw.TargetDeclaration" typeId="vvvw.6418371274763029565" id="3562712610781670579" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="collectInput" />
<node role="dependency" roleId="vvvw.6418371274763146553" type="vvvw.TargetDependency" typeId="vvvw.6418371274763029600" id="3562712610781683999" nodeInfo="ng">
<link role="dependsOn" roleId="vvvw.6418371274763029603" targetNodeId="fy8e.6648795410103967074" resolveInfo="compile" />
</node>
<node role="dependency" roleId="vvvw.6418371274763146553" type="vvvw.TargetDependency" typeId="vvvw.6418371274763029600" id="8024275747840079765" nodeInfo="ng">
<node role="dependency" roleId="vvvw.6418371274763146553" type="vvvw.TargetDependency" typeId="vvvw.6418371274763029600" id="3562712610781684382" nodeInfo="ng">
<property name="qualifier" nameId="vvvw.8351679702044326377" value="AFTER" />
<link role="dependsOn" roleId="vvvw.6418371274763029603" targetNodeId="tpcq.6648795410103966566" resolveInfo="textGen" />
</node>
<node role="job" roleId="vvvw.2360002718792633290" type="q9ra.JobDeclaration" typeId="q9ra.505095865854384109" id="8024275747840079766" nodeInfo="ng">
<node role="job" roleId="q9ra.505095865854384110" type="q9ra.JobDefinition" typeId="q9ra.2360002718792625579" id="8024275747840079767" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747840079768" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747844187923" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747844187926" nodeInfo="nr">
<node role="job" roleId="vvvw.2360002718792633290" type="q9ra.JobDeclaration" typeId="q9ra.505095865854384109" id="3562712610781670580" nodeInfo="ng">
<node role="job" roleId="q9ra.505095865854384110" type="q9ra.JobDefinition" typeId="q9ra.2360002718792625579" id="3562712610781670581" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781670582" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610781687042" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610781687043" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="toCompile" />
<node role="type" roleId="tpee.5680397130376446158" type="tp2q.ListType" typeId="tp2q.1151688443754" id="8024275747844187919" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="cx9y.IndexedTupleType" typeId="cx9y.1238852151516" id="8024275747844194432" nodeInfo="in">
<node role="componentType" roleId="cx9y.1238852204892" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="8024275747844195869" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
<node role="componentType" roleId="cx9y.1238852204892" type="tp2q.ListType" typeId="tp2q.1151688443754" id="8024275747844196352" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="8024275747844196819" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
<node role="componentType" roleId="cx9y.1238852204892" type="tp2q.ListType" typeId="tp2q.1151688443754" id="7932111957675341377" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957675349296" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
<node role="type" roleId="tpee.5680397130376446158" type="tp2q.ListType" typeId="tp2q.1151688443754" id="3562712610781687044" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="cx9y.NamedTupleType" typeId="cx9y.1239531918181" id="3562712610782085714" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="6zjw.3562712610784562853" resolveInfo="JCRHResource" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="8024275747844202496" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tp2q.ListCreatorWithInit" typeId="tp2q.1160600644654" id="8024275747844198502" nodeInfo="nn">
<node role="elementType" roleId="tp2q.1237721435807" type="cx9y.IndexedTupleType" typeId="cx9y.1238852151516" id="8024275747844198503" nodeInfo="in">
<node role="componentType" roleId="cx9y.1238852204892" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="8024275747844198504" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
<node role="componentType" roleId="cx9y.1238852204892" type="tp2q.ListType" typeId="tp2q.1151688443754" id="8024275747844198505" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="8024275747844198506" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
<node role="componentType" roleId="cx9y.1238852204892" type="tp2q.ListType" typeId="tp2q.1151688443754" id="7932111957675363685" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957675371268" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="3562712610781687051" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tp2q.ListCreatorWithInit" typeId="tp2q.1160600644654" id="3562712610781687052" nodeInfo="nn">
<node role="elementType" roleId="tp2q.1237721435807" type="cx9y.NamedTupleType" typeId="cx9y.1239531918181" id="3562712610782092108" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="6zjw.3562712610784562853" resolveInfo="JCRHResource" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="8024275747842328657" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="qff7.ExecuteLightweightCommandStatement" typeId="qff7.8974276187400348181" id="8024275747841440200" nodeInfo="nn">
<node role="commandClosureLiteral" roleId="qff7.8974276187400348171" type="qff7.CommandClosureLiteral" typeId="qff7.8974276187400348173" id="8024275747841440202" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747841440204" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="8024275747840079776" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747840079777" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="q9ra.InputResourcesParameter" typeId="q9ra.2360002718792625580" id="8024275747840079778" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp2q.VisitAllOperation" typeId="tp2q.1204980550705" id="8024275747840079779" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="8024275747840079780" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747840079781" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747841823784" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747841823785" nodeInfo="nr">
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610781687062" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="qff7.ExecuteLightweightCommandStatement" typeId="qff7.8974276187400348181" id="3562712610781687063" nodeInfo="nn">
<node role="commandClosureLiteral" roleId="qff7.8974276187400348171" type="qff7.CommandClosureLiteral" typeId="qff7.8974276187400348173" id="3562712610781687064" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781687065" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610781687066" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687067" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="q9ra.InputResourcesParameter" typeId="q9ra.2360002718792625580" id="3562712610781687068" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp2q.VisitAllOperation" typeId="tp2q.1204980550705" id="3562712610781687069" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610781687070" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781687071" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610781687072" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610781687073" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="model" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SModelType" typeId="tp25.1143226024141" id="8024275747841824472" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747841823786" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747841823787" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747840079789" resolveInfo="res" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SModelType" typeId="tp25.1143226024141" id="3562712610781687074" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687075" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687076" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687200" resolveInfo="res" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="8024275747841823788" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610781687077" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="fn29.4693363489975029716" resolveInfo="modelDescriptor" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957675125485" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747844291547" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747844291548" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="output" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="7932111957670473556" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="8024275747844291549" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="vsqj.~SModuleOperations%dgetOutputPathFor(org%djetbrains%dmps%dopenapi%dmodel%dSModel)%cjava%dlang%dString" resolveInfo="getOutputPathFor" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="vsqj.~SModuleOperations" resolveInfo="SModuleOperations" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844291550" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747841823785" resolveInfo="model" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610781687078" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610781687079" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610781687080" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="clsOutput" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="3562712610781687081" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687082" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687083" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610781687084" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="vsqj.~SModuleOperations" resolveInfo="SModuleOperations" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="vsqj.~SModuleOperations%dgetJavaFacet(org%djetbrains%dmps%dopenapi%dmodule%dSModule)%cjetbrains%dmps%dproject%dfacets%dJavaModuleFacet" resolveInfo="getJavaFacet" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687085" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tp25.SemanticDowncastExpression" typeId="tp25.1145404486709" id="3562712610781687086" nodeInfo="nn">
<node role="leftExpression" roleId="tp25.1145404616321" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687087" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687073" resolveInfo="model" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610781687088" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ec5l.~SModel%dgetModule()%corg%djetbrains%dmps%dopenapi%dmodule%dSModule" resolveInfo="getModule" />
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610781687089" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nhkf.~JavaModuleFacet%dgetClassesGen()%cjetbrains%dmps%dvfs%dIFile" resolveInfo="getClassesGen" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610781687090" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="59et.~IFile%dgetPath()%cjava%dlang%dString" resolveInfo="getPath" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747841870393" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747841870394" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="allSourcePaths" />
<node role="type" roleId="tpee.5680397130376446158" type="tp2q.SetType" typeId="tp2q.1226511727824" id="8024275747842239908" nodeInfo="in">
<node role="elementType" roleId="tp2q.1226511765987" type="tpee.StringType" typeId="tpee.1225271177708" id="7932111957670473558" nodeInfo="in" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.CastExpression" typeId="tpee.1070534934090" id="7932111957670592904" nodeInfo="nn">
<node role="type" roleId="tpee.1070534934091" type="tp2q.SetType" typeId="tp2q.1226511727824" id="7932111957670592898" nodeInfo="in">
<node role="elementType" roleId="tp2q.1226511765987" type="tpee.StringType" typeId="tpee.1225271177708" id="7932111957670592899" nodeInfo="in" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610786676170" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="3562712610786680115" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610786687012" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610786683147" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687080" resolveInfo="clsOutput" />
</node>
<node role="expression" roleId="tpee.1070534934092" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7932111957670592900" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610786699028" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~String%dreplace(java%dlang%dCharSequence,java%dlang%dCharSequence)%cjava%dlang%dString" resolveInfo="replace" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610786701877" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="classes_gen" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610786734741" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="classes_jchr" />
</node>
</node>
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610786676169" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687080" resolveInfo="clsOutput" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610781687091" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.StatementCommentPart" typeId="tpee.6329021646629175143" id="3562712610781687092" nodeInfo="nn">
<node role="commentedStatement" roleId="tpee.6329021646629175144" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610781687093" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610781687094" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="output" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="3562712610781687095" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610781687096" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="vsqj.~SModuleOperations%dgetOutputPathFor(org%djetbrains%dmps%dopenapi%dmodel%dSModel)%cjava%dlang%dString" resolveInfo="getOutputPathFor" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="vsqj.~SModuleOperations" resolveInfo="SModuleOperations" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687097" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687073" resolveInfo="model" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610781687098" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610781687099" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="allSourcePaths" />
<node role="type" roleId="tpee.5680397130376446158" type="tp2q.SetType" typeId="tp2q.1226511727824" id="3562712610781687100" nodeInfo="in">
<node role="elementType" roleId="tp2q.1226511765987" type="tpee.StringType" typeId="tpee.1225271177708" id="3562712610781687101" nodeInfo="in" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.CastExpression" typeId="tpee.1070534934090" id="3562712610781687102" nodeInfo="nn">
<node role="type" roleId="tpee.1070534934091" type="tp2q.SetType" typeId="tp2q.1226511727824" id="3562712610781687103" nodeInfo="in">
<node role="elementType" roleId="tp2q.1226511765987" type="tpee.StringType" typeId="tpee.1225271177708" id="3562712610781687104" nodeInfo="in" />
</node>
<node role="expression" roleId="tpee.1070534934092" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610781687105" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="vsqj.~SModuleOperations%dgetAllSourcePaths(org%djetbrains%dmps%dopenapi%dmodule%dSModule)%cjava%dutil%dSet" resolveInfo="getAllSourcePaths" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="vsqj.~SModuleOperations" resolveInfo="SModuleOperations" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957670592901" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957670592902" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747840079789" resolveInfo="res" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687106" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687107" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687200" resolveInfo="res" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="7932111957670592903" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610781687108" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="fn29.2257725414731981664" resolveInfo="module" />
</node>
</node>
@ -164,44 +199,44 @@
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="8024275747842372807" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747844242067" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747844242068" nodeInfo="nr">
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610781687109" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610781687110" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610781687111" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="handlerFiles" />
<node role="type" roleId="tpee.5680397130376446158" type="tp2q.ListType" typeId="tp2q.1151688443754" id="8024275747844241983" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="8024275747844241986" nodeInfo="in">
<node role="type" roleId="tpee.5680397130376446158" type="tp2q.ListType" typeId="tp2q.1151688443754" id="3562712610781687112" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610781687113" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844242069" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844242070" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844242071" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.Model_RootsOperation" typeId="tp25.1171315804604" id="8024275747844242072" nodeInfo="nn">
<node role="initializer" roleId="tpee.1068431790190" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687114" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687115" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687116" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.Model_RootsOperation" typeId="tp25.1171315804604" id="3562712610781687117" nodeInfo="nn">
<link role="concept" roleId="tp25.1171315804605" targetNodeId="vgt0.456733934405394951" resolveInfo="Handler" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844242073" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747841823785" resolveInfo="model" />
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687118" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687073" resolveInfo="model" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.SelectOperation" typeId="tp2q.1202128969694" id="8024275747844242074" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="8024275747844242075" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747844242076" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747844242077" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747844242078" nodeInfo="nr">
<node role="operation" roleId="tpee.1197027833540" type="tp2q.SelectOperation" typeId="tp2q.1202128969694" id="3562712610781687119" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610781687120" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781687121" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610781687122" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610781687123" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="hp" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="7932111957670473555" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="8024275747844242080" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="8024275747844242081" nodeInfo="nn">
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="3562712610781687124" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="3562712610781687125" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610781687126" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value=".jchr" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="8024275747844242082" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="msyo.~NameUtil%dpathFromNamespace(java%dlang%dString)%cjava%dlang%dString" resolveInfo="pathFromNamespace" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610781687127" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="msyo.~NameUtil" resolveInfo="NameUtil" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844242083" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844242084" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844242109" resolveInfo="han" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="msyo.~NameUtil%dpathFromNamespace(java%dlang%dString)%cjava%dlang%dString" resolveInfo="pathFromNamespace" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687128" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687129" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687154" resolveInfo="han" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_ConceptMethodCall" typeId="tp25.1179409122411" id="8024275747844242085" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_ConceptMethodCall" typeId="tp25.1179409122411" id="3562712610781687130" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="tpcu.1213877404258" resolveInfo="getFqName" />
</node>
</node>
@ -209,152 +244,184 @@
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="8024275747844242086" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844242087" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844242088" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844242089" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747841870394" resolveInfo="allSourcePaths" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610781687131" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687132" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687133" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687134" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687099" resolveInfo="allSourcePaths" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.SelectOperation" typeId="tp2q.1202128969694" id="8024275747844242090" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="8024275747844242091" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747844242092" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="8024275747844242093" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="8024275747844242094" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="8024275747844242095" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp2q.SelectOperation" typeId="tp2q.1202128969694" id="3562712610781687135" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610781687136" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781687137" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610781687138" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="3562712610781687139" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="3562712610781687140" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%d&lt;init&gt;(java%dlang%dString,java%dlang%dString)" resolveInfo="File" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844242096" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844242098" resolveInfo="p" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687141" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687143" resolveInfo="p" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844242097" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844242078" resolveInfo="hp" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687142" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687123" resolveInfo="hp" />
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="8024275747844242098" nodeInfo="ig">
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610781687143" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="p" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="8024275747844242099" nodeInfo="in" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610781687144" nodeInfo="in" />
</node>
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.FindFirstOperation" typeId="tp2q.1225727723840" id="8024275747844242100" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="8024275747844242101" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747844242102" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="8024275747844242103" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844242104" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844242105" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844242107" resolveInfo="f" />
<node role="operation" roleId="tpee.1197027833540" type="tp2q.FindFirstOperation" typeId="tp2q.1225727723840" id="3562712610781687145" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610781687146" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781687147" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610781687148" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687149" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687150" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687152" resolveInfo="f" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="8024275747844242106" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610781687151" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%dexists()%cboolean" resolveInfo="exists" />
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="8024275747844242107" nodeInfo="ig">
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610781687152" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="f" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="8024275747844242108" nodeInfo="in" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610781687153" nodeInfo="in" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="8024275747844242109" nodeInfo="ig">
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610781687154" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="han" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="8024275747844242110" nodeInfo="in" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610781687155" nodeInfo="in" />
</node>
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ToListOperation" typeId="tp2q.1151702311717" id="8024275747844242111" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ToListOperation" typeId="tp2q.1151702311717" id="3562712610781687156" nodeInfo="nn" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="8024275747844259130" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7932111957675311357" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957675311358" nodeInfo="nr">
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610781687157" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610781687158" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610781687159" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="cp" />
<node role="type" roleId="tpee.5680397130376446158" type="tp2q.ListType" typeId="tp2q.1151688443754" id="7932111957675311341" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957675311344" nodeInfo="in">
<node role="type" roleId="tpee.5680397130376446158" type="tp2q.ListType" typeId="tp2q.1151688443754" id="3562712610781687160" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151688676805" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610781687161" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fxg7.~File" resolveInfo="File" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957675311359" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957675311360" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957675311361" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="rzqf.CommandReferenceExpression" typeId="rzqf.856705193941281753" id="7932111957675311362" nodeInfo="nn">
<node role="initializer" roleId="tpee.1068431790190" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687162" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687163" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687164" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="rzqf.CommandReferenceExpression" typeId="rzqf.856705193941281753" id="3562712610781687165" nodeInfo="nn">
<link role="command" roleId="rzqf.856705193941281755" targetNodeId="go48.1240470842553275009" resolveInfo="java" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp4f.DefaultClassifierMethodCallOperation" typeId="tp4f.1205769149993" id="7932111957675311363" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp4f.DefaultClassifierMethodCallOperation" typeId="tp4f.1205769149993" id="3562712610781687166" nodeInfo="nn">
<link role="member" roleId="tp4f.1205756909548" targetNodeId="go48.2796391569759894899" resolveInfo="getClasspath" />
<node role="actualArgument" roleId="tp4f.1205770614681" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957675311364" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957675311365" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747840079789" resolveInfo="res" />
<node role="actualArgument" roleId="tp4f.1205770614681" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687167" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687168" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687200" resolveInfo="res" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="7932111957675311366" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610781969944" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="fn29.2257725414731981664" resolveInfo="module" />
</node>
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.SelectOperation" typeId="tp2q.1202128969694" id="7932111957675311367" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="7932111957675311368" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957675311369" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957675311370" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7932111957675311371" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="7932111957675311372" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp2q.SelectOperation" typeId="tp2q.1202128969694" id="3562712610781687170" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610781687171" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781687172" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610781687173" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="3562712610781687174" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="3562712610781687175" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%d&lt;init&gt;(java%dlang%dString)" resolveInfo="File" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957675311373" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957675311374" resolveInfo="e" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687176" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687177" resolveInfo="e" />
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="7932111957675311374" nodeInfo="ig">
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610781687177" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="e" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="7932111957675311375" nodeInfo="in" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610781687178" nodeInfo="in" />
</node>
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ToListOperation" typeId="tp2q.1151702311717" id="7932111957675311376" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ToListOperation" typeId="tp2q.1151702311717" id="3562712610781687179" nodeInfo="nn" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957675187401" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="8024275747844315617" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844323319" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844315616" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844187926" resolveInfo="toCompile" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610781687180" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610781687181" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="include this module's generated classes" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610781687182" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687183" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687184" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687159" resolveInfo="cp" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.AddElementOperation" typeId="tp2q.1160612413312" id="8024275747844355755" nodeInfo="nn">
<node role="argument" roleId="tp2q.1160612519549" type="cx9y.IndexedTupleLiteral" typeId="cx9y.1238853782547" id="8024275747844361756" nodeInfo="nn">
<node role="component" roleId="cx9y.1238853845806" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="8024275747844374269" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="8024275747844382634" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%d&lt;init&gt;(java%dlang%dString)" resolveInfo="File" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844386881" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844291548" resolveInfo="output" />
<node role="operation" roleId="tpee.1197027833540" type="tp2q.AddElementOperation" typeId="tp2q.1160612413312" id="3562712610781687185" nodeInfo="nn">
<node role="argument" roleId="tp2q.1160612519549" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="3562712610781687186" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="3562712610781687187" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%d&lt;init&gt;(java%dlang%dString)" resolveInfo="File" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687188" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687080" resolveInfo="clsOutput" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610781687189" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610782102409" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610782105725" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782102408" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687043" resolveInfo="toCompile" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.AddElementOperation" typeId="tp2q.1160612413312" id="3562712610782124855" nodeInfo="nn">
<node role="argument" roleId="tp2q.1160612519549" type="cx9y.NamedTupleLiteral" typeId="cx9y.1239559992092" id="3562712610782130033" nodeInfo="nn">
<link role="tupleDeclaration" roleId="cx9y.1239560008022" targetNodeId="6zjw.3562712610784562853" resolveInfo="JCRHResource" />
<node role="componentRef" roleId="cx9y.1239560910577" type="cx9y.NamedTupleComponentReference" typeId="cx9y.1239560581441" id="3562712610782130027" nodeInfo="ng">
<link role="componentDeclaration" roleId="cx9y.1239560595302" targetNodeId="6zjw.3562712610784562854" resolveInfo="clsOutput" />
<node role="value" roleId="cx9y.1239560837729" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="3562712610782151155" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="3562712610782151156" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%d&lt;init&gt;(java%dlang%dString)" resolveInfo="File" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782151157" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687080" resolveInfo="clsOutput" />
</node>
</node>
</node>
</node>
<node role="component" roleId="cx9y.1238853845806" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844419151" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844242068" resolveInfo="handlerFiles" />
<node role="componentRef" roleId="cx9y.1239560910577" type="cx9y.NamedTupleComponentReference" typeId="cx9y.1239560581441" id="3562712610782130029" nodeInfo="ng">
<link role="componentDeclaration" roleId="cx9y.1239560595302" targetNodeId="6zjw.3562712610784562856" resolveInfo="handlerFiles" />
<node role="value" roleId="cx9y.1239560837729" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782139930" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687111" resolveInfo="handlerFiles" />
</node>
</node>
<node role="component" roleId="cx9y.1238853845806" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957675329477" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957675311358" resolveInfo="cp" />
<node role="componentRef" roleId="cx9y.1239560910577" type="cx9y.NamedTupleComponentReference" typeId="cx9y.1239560581441" id="3562712610782130031" nodeInfo="ng">
<link role="componentDeclaration" roleId="cx9y.1239560595302" targetNodeId="6zjw.3562712610784562859" resolveInfo="classpath" />
<node role="value" roleId="cx9y.1239560837729" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782145253" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687159" resolveInfo="cp" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="8024275747840079789" nodeInfo="ig">
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610781687200" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="res" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="8024275747840079790" nodeInfo="in" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610781687201" nodeInfo="in" />
</node>
</node>
</node>
@ -363,49 +430,126 @@
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="8024275747842387061" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="6214965505175758235" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="6214965505175758238" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="q9ra.ReportFeedbackStatement" typeId="q9ra.3668957831723333672" id="6214965505175883557" nodeInfo="nn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610781687202" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="3562712610781687203" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781687204" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="q9ra.ReportFeedbackStatement" typeId="q9ra.3668957831723333672" id="3562712610781687205" nodeInfo="nn">
<property name="feedback" nameId="q9ra.3668957831723333678" value="INFO" />
<node role="message" roleId="q9ra.3668957831723336680" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="6214965505175883896" nodeInfo="nn">
<node role="message" roleId="q9ra.3668957831723336680" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610781687206" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="nothing to do" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="q9ra.ResultStatement" typeId="q9ra.7077360340906447917" id="6214965505175816523" nodeInfo="nn">
<property name="result" nameId="q9ra.7077360340906447918" value="SUCCESS" />
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.DotExpression" typeId="tpee.1197027756228" id="6214965505175769621" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6214965505175763385" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844187926" resolveInfo="toCompile" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.AllOperation" typeId="tp2q.1235566831861" id="6214965505175815052" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="6214965505175815054" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="6214965505175815055" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6214965505175815056" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="6214965505175815057" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="cx9y.IndexedTupleMemberAccessExpression" typeId="cx9y.1238857743184" id="6214965505175815058" nodeInfo="nn">
<node role="tuple" roleId="cx9y.1238857764950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6214965505175815060" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6214965505175815062" resolveInfo="it" />
</node>
<node role="index" roleId="cx9y.1238857834412" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="6214965505177040769" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.IsEmptyOperation" typeId="tp2q.1165530316231" id="6214965505175815061" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="q9ra.OutputResources" typeId="q9ra.2360002718792622184" id="3562712610787312556" nodeInfo="nn">
<node role="resource" roleId="q9ra.2360002718792622193" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="3562712610787312633" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tp2q.SingletonSequenceCreator" typeId="tp2q.1235573135402" id="3562712610787314121" nodeInfo="nn">
<node role="elementType" roleId="tp2q.1235573175711" type="cx9y.NamedTupleType" typeId="cx9y.1239531918181" id="3562712610787314924" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="6zjw.3562712610784562853" resolveInfo="JCRHResource" />
</node>
<node role="singletonValue" roleId="tp2q.1235573187520" type="cx9y.NamedTupleLiteral" typeId="cx9y.1239559992092" id="3562712610787315478" nodeInfo="nn">
<link role="tupleDeclaration" roleId="cx9y.1239560008022" targetNodeId="6zjw.3562712610784562853" resolveInfo="JCRHResource" />
<node role="componentRef" roleId="cx9y.1239560910577" type="cx9y.NamedTupleComponentReference" typeId="cx9y.1239560581441" id="3562712610787315472" nodeInfo="ng">
<link role="componentDeclaration" roleId="cx9y.1239560595302" targetNodeId="6zjw.3562712610784562854" resolveInfo="clsOutput" />
<node role="value" roleId="cx9y.1239560837729" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="3562712610787319428" nodeInfo="nn" />
</node>
<node role="componentRef" roleId="cx9y.1239560910577" type="cx9y.NamedTupleComponentReference" typeId="cx9y.1239560581441" id="3562712610787315474" nodeInfo="ng">
<link role="componentDeclaration" roleId="cx9y.1239560595302" targetNodeId="6zjw.3562712610784562856" resolveInfo="handlerFiles" />
<node role="value" roleId="cx9y.1239560837729" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="3562712610787319952" nodeInfo="nn" />
</node>
<node role="componentRef" roleId="cx9y.1239560910577" type="cx9y.NamedTupleComponentReference" typeId="cx9y.1239560581441" id="3562712610787315476" nodeInfo="ng">
<link role="componentDeclaration" roleId="cx9y.1239560595302" targetNodeId="6zjw.3562712610784562859" resolveInfo="classpath" />
<node role="value" roleId="cx9y.1239560837729" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="3562712610787320459" nodeInfo="nn" />
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="6214965505175815062" nodeInfo="ig">
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="q9ra.ResultStatement" typeId="q9ra.7077360340906447917" id="3562712610781687207" nodeInfo="nn">
<property name="result" nameId="q9ra.7077360340906447918" value="SUCCESS" />
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687208" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610781687209" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687043" resolveInfo="toCompile" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.AllOperation" typeId="tp2q.1235566831861" id="3562712610781687210" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610781687211" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610781687212" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610781687213" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610781687214" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp2q.IsEmptyOperation" typeId="tp2q.1165530316231" id="3562712610781687218" nodeInfo="nn" />
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610782952765" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782951591" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687219" resolveInfo="it" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610782966625" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562856" resolveInfo="handlerFiles" />
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610781687219" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="it" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="6214965505175815063" nodeInfo="in" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610781687220" nodeInfo="in" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="6214965505176866242" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610782070316" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610782212375" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610782218076" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782212374" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610781687043" resolveInfo="toCompile" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.VisitAllOperation" typeId="tp2q.1204980550705" id="3562712610782225797" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610782225799" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610782225800" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="q9ra.OutputResources" typeId="q9ra.2360002718792622184" id="3562712610782079507" nodeInfo="nn">
<node role="resource" roleId="q9ra.2360002718792622193" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782232817" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610782225801" resolveInfo="it" />
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610782225801" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="it" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610782225802" nodeInfo="in" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="input" roleId="vvvw.119022571401949664" type="vvvw.ResourceTypeDeclaration" typeId="vvvw.119022571401949652" id="3562712610781675003" nodeInfo="ng">
<node role="resourceType" roleId="vvvw.119022571401949655" type="vvvw.ResourceClassifierType" typeId="vvvw.119022571402207412" id="3562712610781675663" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fn29.2257725414731981663" resolveInfo="TResource" />
</node>
</node>
<node role="output" roleId="vvvw.119022571401949665" type="vvvw.ResourceTypeDeclaration" typeId="vvvw.119022571401949652" id="3562712610781694190" nodeInfo="ng">
<node role="resourceType" roleId="vvvw.119022571401949655" type="vvvw.ResourceClassifierType" typeId="vvvw.119022571402207412" id="3562712610781841149" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="6zjw.3562712610784562853" resolveInfo="JCRHResource" />
</node>
</node>
</node>
<node role="targetDeclaration" roleId="vvvw.6418371274763146558" type="vvvw.TargetDeclaration" typeId="vvvw.6418371274763029565" id="8024275747840079763" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="compileJCHR" />
<node role="dependency" roleId="vvvw.6418371274763146553" type="vvvw.TargetDependency" typeId="vvvw.6418371274763029600" id="3562712610781030275" nodeInfo="ng">
<property name="qualifier" nameId="vvvw.8351679702044326377" value="AFTER" />
<link role="dependsOn" roleId="vvvw.6418371274763029603" targetNodeId="fy8e.6648795410103967074" resolveInfo="compile" />
</node>
<node role="dependency" roleId="vvvw.6418371274763146553" type="vvvw.TargetDependency" typeId="vvvw.6418371274763029600" id="8024275747840079765" nodeInfo="ng">
<property name="qualifier" nameId="vvvw.8351679702044326377" value="AFTER" />
<link role="dependsOn" roleId="vvvw.6418371274763029603" targetNodeId="3562712610781670579" resolveInfo="collectInput" />
</node>
<node role="dependency" roleId="vvvw.6418371274763146553" type="vvvw.TargetDependency" typeId="vvvw.6418371274763029600" id="3562712610786176407" nodeInfo="ng">
<property name="qualifier" nameId="vvvw.8351679702044326377" value="BEFORE" />
<link role="dependsOn" roleId="vvvw.6418371274763029603" targetNodeId="fy8e.525295658369137115" resolveInfo="make" />
</node>
<node role="job" roleId="vvvw.2360002718792633290" type="q9ra.JobDeclaration" typeId="q9ra.505095865854384109" id="8024275747840079766" nodeInfo="ng">
<node role="job" roleId="q9ra.505095865854384110" type="q9ra.JobDefinition" typeId="q9ra.2360002718792625579" id="8024275747840079767" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747840079768" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747842987825" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747842987826" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="runtimeCp" />
@ -452,7 +596,7 @@
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957675073193" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610787321719" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="6648795410103988034" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="6648795410103988035" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="deltaList" />
@ -479,12 +623,10 @@
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="8024275747845772783" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610787949923" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="8024275747844473284" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747844476073" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844473283" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844187926" resolveInfo="toCompile" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="q9ra.InputResourcesParameter" typeId="q9ra.2360002718792625580" id="3562712610782254434" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp2q.VisitAllOperation" typeId="tp2q.1204980550705" id="8024275747844489484" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="8024275747844489486" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747844489487" nodeInfo="sn">
@ -495,18 +637,72 @@
<node role="statement" roleId="tpee.1068581517665" type="tp2q.SkipStatement" typeId="tp2q.1224446583770" id="6214965505175878876" nodeInfo="nn" />
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.DotExpression" typeId="tpee.1197027756228" id="6214965505175853223" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="cx9y.IndexedTupleMemberAccessExpression" typeId="cx9y.1238857743184" id="6214965505175845712" nodeInfo="nn">
<node role="index" roleId="cx9y.1238857834412" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="6214965505175847739" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="2" />
</node>
<node role="tuple" roleId="cx9y.1238857764950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6214965505175828867" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp2q.IsEmptyOperation" typeId="tp2q.1165530316231" id="6214965505175875911" nodeInfo="nn" />
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610782462784" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782460464" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844489488" resolveInfo="triple" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610787615159" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562856" resolveInfo="handlerFiles" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.IsEmptyOperation" typeId="tp2q.1165530316231" id="6214965505175875911" nodeInfo="nn" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="6214965505175822658" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610787794706" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="3562712610787862326" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610787862329" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="q9ra.ReportFeedbackStatement" typeId="q9ra.3668957831723333672" id="3562712610788008115" nodeInfo="nn">
<property name="feedback" nameId="q9ra.3668957831723333678" value="ERROR" />
<node role="message" roleId="q9ra.3668957831723336680" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="3562712610788023024" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788028830" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788025430" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844489488" resolveInfo="triple" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610788038053" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562854" resolveInfo="clsOutput" />
</node>
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610788010521" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="cannot write to " />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tp2q.SkipStatement" typeId="tp2q.1224446583770" id="3562712610788070239" nodeInfo="nn" />
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.AndExpression" typeId="tpee.1080120340718" id="3562712610787996158" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.NotExpression" typeId="tpee.1081516740877" id="3562712610787998095" nodeInfo="nn">
<node role="expression" roleId="tpee.1081516765348" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610787999925" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610787999926" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610787999927" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844489488" resolveInfo="triple" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610787999928" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562854" resolveInfo="clsOutput" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610787999929" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%dmkdirs()%cboolean" resolveInfo="mkdirs" />
</node>
</node>
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.NotExpression" typeId="tpee.1081516740877" id="3562712610787905549" nodeInfo="nn">
<node role="expression" roleId="tpee.1081516765348" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610787905550" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610787905551" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610787905552" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844489488" resolveInfo="triple" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610787905553" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562854" resolveInfo="clsOutput" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610787905554" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%dexists()%cboolean" resolveInfo="exists" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610788052494" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747842998694" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747842998695" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="compileProcess" />
@ -517,26 +713,26 @@
<link role="commandPart" roleId="rzqf.6129022259108621329" targetNodeId="go48.1240470842553275125" />
<node role="argument" roleId="rzqf.856705193941281781" type="rzqf.CommandParameterAssignment" typeId="rzqf.856705193941281764" id="8024275747844154833" nodeInfo="ng">
<link role="parameterDeclaration" roleId="rzqf.856705193941281765" targetNodeId="go48.1240470842553275126" resolveInfo="workingDirectory" />
<node role="value" roleId="rzqf.856705193941281766" type="cx9y.IndexedTupleMemberAccessExpression" typeId="cx9y.1238857743184" id="8024275747844504401" nodeInfo="nn">
<node role="index" roleId="cx9y.1238857834412" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="8024275747844506022" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="tuple" roleId="cx9y.1238857764950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844498665" nodeInfo="nn">
<node role="value" roleId="rzqf.856705193941281766" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610782680446" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782676836" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844489488" resolveInfo="triple" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610782714712" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562854" resolveInfo="clsOutput" />
</node>
</node>
</node>
<node role="argument" roleId="rzqf.856705193941281781" type="rzqf.CommandParameterAssignment" typeId="rzqf.856705193941281764" id="8024275747842998699" nodeInfo="ng">
<link role="parameterDeclaration" roleId="rzqf.856705193941281765" targetNodeId="go48.1240470842553275142" resolveInfo="classPath" />
<node role="value" roleId="rzqf.856705193941281766" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957675460672" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957675407890" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="cx9y.IndexedTupleMemberAccessExpression" typeId="cx9y.1238857743184" id="7932111957675399932" nodeInfo="nn">
<node role="index" roleId="cx9y.1238857834412" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7932111957675402173" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="2" />
</node>
<node role="tuple" roleId="cx9y.1238857764950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957675397039" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610782721537" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782718145" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844489488" resolveInfo="triple" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610782737361" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562859" resolveInfo="classpath" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ConcatOperation" typeId="tp2q.1180964022718" id="7932111957675420494" nodeInfo="nn">
<node role="rightExpression" roleId="tp2q.1176906787974" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957675422888" nodeInfo="nn">
@ -574,20 +770,20 @@
<node role="items" roleId="rzqf.2168104298250244983" type="rzqf.KeyValueCommandPart" typeId="rzqf.889694274152177535" id="8024275747843814317" nodeInfo="nn">
<property name="dash" nameId="rzqf.1616228152991918665" value="true" />
<node role="value" roleId="rzqf.889694274152177540" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="8024275747843856909" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="source" />
<property name="value" nameId="tpee.1070475926801" value="bytecode" />
</node>
<node role="key" roleId="rzqf.889694274152177539" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="8024275747843835648" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="output" />
</node>
</node>
<node role="items" roleId="rzqf.2168104298250244983" type="rzqf.ListCommandPart" typeId="rzqf.6868250101935610313" id="8024275747844513265" nodeInfo="nn">
<node role="list" roleId="rzqf.6868250101935610315" type="cx9y.IndexedTupleMemberAccessExpression" typeId="cx9y.1238857743184" id="8024275747844525235" nodeInfo="nn">
<node role="index" roleId="cx9y.1238857834412" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="8024275747844525242" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
<node role="tuple" roleId="cx9y.1238857764950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747844522968" nodeInfo="nn">
<node role="list" roleId="rzqf.6868250101935610315" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610782840059" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782837428" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844489488" resolveInfo="triple" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610782855993" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562856" resolveInfo="handlerFiles" />
</node>
</node>
</node>
</node>
@ -853,13 +1049,13 @@
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="8024275747845395932" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="59et.~FileSystem%dgetFileByPath(java%dlang%dString)%cjetbrains%dmps%dvfs%dIFile" resolveInfo="getFileByPath" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747845395933" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="cx9y.IndexedTupleMemberAccessExpression" typeId="cx9y.1238857743184" id="8024275747845395934" nodeInfo="nn">
<node role="index" roleId="cx9y.1238857834412" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="8024275747845395935" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="tuple" roleId="cx9y.1238857764950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747845395936" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610782779506" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610782777065" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747844489488" resolveInfo="triple" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="cx9y.NamedTupleComponentAccessOperation" typeId="cx9y.1239576519914" id="3562712610782795411" nodeInfo="nn">
<link role="component" roleId="cx9y.1239576542472" targetNodeId="6zjw.3562712610784562854" resolveInfo="clsOutput" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="8024275747845395937" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~File%dgetPath()%cjava%dlang%dString" resolveInfo="getPath" />
@ -908,7 +1104,7 @@
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="8024275747845082646" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="8024275747845419338" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="8024275747845419339" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="genFile" />
<property name="name" nameId="tpck.1169194664001" value="javaFile" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="8024275747845419236" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="59et.~IFile" resolveInfo="IFile" />
</node>
@ -925,18 +1121,28 @@
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="8024275747845435550" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747845437417" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747845435549" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747845368498" resolveInfo="delta" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="8024275747845440064" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="rk9m.505174985642693157" resolveInfo="written" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747845442118" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747845419339" resolveInfo="genFile" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="3562712610787056289" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610787056292" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="8024275747845435550" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="8024275747845437417" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747845435549" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747845368498" resolveInfo="delta" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="8024275747845440064" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="rk9m.505174985642693157" resolveInfo="written" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747845442118" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747845419339" resolveInfo="javaFile" />
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.NotEqualsExpression" typeId="tpee.1073239437375" id="3562712610787067342" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="3562712610787072137" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610787062566" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8024275747845419339" resolveInfo="javaFile" />
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="8024275747845082647" nodeInfo="ig">
@ -1032,13 +1238,17 @@
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="q9ra.OutputResources" typeId="q9ra.2360002718792622184" id="8024275747845159210" nodeInfo="nn">
<node role="resource" roleId="q9ra.2360002718792622193" type="cx9y.NamedTupleLiteral" typeId="cx9y.1239559992092" id="8024275747845165647" nodeInfo="nn">
<link role="tupleDeclaration" roleId="cx9y.1239560008022" targetNodeId="fn29.1290126658903852188" resolveInfo="DResource" />
<node role="componentRef" roleId="cx9y.1239560910577" type="cx9y.NamedTupleComponentReference" typeId="cx9y.1239560581441" id="8024275747845165645" nodeInfo="ng">
<link role="componentDeclaration" roleId="cx9y.1239560595302" targetNodeId="fn29.1290126658903852193" resolveInfo="delta" />
<node role="value" roleId="cx9y.1239560837729" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747845460391" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6648795410103988035" resolveInfo="deltaList" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610786964139" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.StatementCommentPart" typeId="tpee.6329021646629175143" id="3562712610786964140" nodeInfo="nn">
<node role="commentedStatement" roleId="tpee.6329021646629175144" type="q9ra.OutputResources" typeId="q9ra.2360002718792622184" id="8024275747845159210" nodeInfo="nn">
<node role="resource" roleId="q9ra.2360002718792622193" type="cx9y.NamedTupleLiteral" typeId="cx9y.1239559992092" id="8024275747845165647" nodeInfo="nn">
<link role="tupleDeclaration" roleId="cx9y.1239560008022" targetNodeId="fn29.1290126658903852188" resolveInfo="DResource" />
<node role="componentRef" roleId="cx9y.1239560910577" type="cx9y.NamedTupleComponentReference" typeId="cx9y.1239560581441" id="8024275747845165645" nodeInfo="ng">
<link role="componentDeclaration" roleId="cx9y.1239560595302" targetNodeId="fn29.1290126658903852193" resolveInfo="delta" />
<node role="value" roleId="cx9y.1239560837729" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8024275747845460391" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6648795410103988035" resolveInfo="deltaList" />
</node>
</node>
</node>
</node>
</node>
@ -1046,9 +1256,9 @@
</node>
</node>
</node>
<node role="input" roleId="vvvw.119022571401949664" type="vvvw.ResourceTypeDeclaration" typeId="vvvw.119022571401949652" id="8024275747840079831" nodeInfo="ng">
<node role="resourceType" roleId="vvvw.119022571401949655" type="vvvw.ResourceClassifierType" typeId="vvvw.119022571402207412" id="8024275747840079832" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="fn29.2257725414731981663" resolveInfo="TResource" />
<node role="input" roleId="vvvw.119022571401949664" type="vvvw.ResourceTypeDeclaration" typeId="vvvw.119022571401949652" id="3562712610781854265" nodeInfo="ng">
<node role="resourceType" roleId="vvvw.119022571401949655" type="vvvw.ResourceClassifierType" typeId="vvvw.119022571402207412" id="3562712610781860172" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="6zjw.3562712610784562853" resolveInfo="JCRHResource" />
</node>
</node>
</node>

View File

@ -5,6 +5,9 @@
<sourceRoot location="models" />
</modelRoot>
</models>
<stubModelEntries>
<stubModelEntry path="${module}/classes_jchr" />
</stubModelEntries>
<sourcePath />
<dependencies>
<dependency reexport="false">b984ee52-f34d-4b6d-8812-866c1d3eae31(jetbrains.mps.jchr.runtime)</dependency>

View File

@ -13,7 +13,6 @@
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" implicit="yes" />
<import index="vgt0" modelUID="r:f36c95e5-e428-4945-91ae-1005e20c7971(jetbrains.mps.jchr.structure)" version="-1" implicit="yes" />
<import index="tp68" modelUID="r:00000000-0000-4000-0000-011c895903ac(jetbrains.mps.baseLanguageInternal.structure)" version="2" implicit="yes" />
<root type="vgt0.Handler" typeId="vgt0.456733934405394951" id="10398748702652179" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="gcd" />
<node role="declaration" roleId="vgt0.456733934405771625" type="vgt0.ConstraintDeclaration" typeId="vgt0.456733934405496212" id="10398748702652231" nodeInfo="ng">
@ -79,324 +78,5 @@
</node>
</node>
</root>
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="7932111957677350847" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="Gcd" />
<property name="nonStatic" nameId="tpee.521412098689998745" value="true" />
<property name="abstractClass" nameId="tpee.1075300953594" value="false" />
<property name="isFinal" nameId="tpee.1221565133444" value="false" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7932111957677350849" nodeInfo="nn" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="7932111957677350850" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="main" />
<property name="isFinal" nameId="tpee.1181808852946" value="false" />
<property name="isSynchronized" nameId="tpee.4276006055363816570" value="false" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7932111957677350851" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="args" />
<property name="isFinal" nameId="tpee.1176718929932" value="false" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7932111957677350853" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.StringType" typeId="tpee.1225271177708" id="6214965505174431009" nodeInfo="in" />
</node>
</node>
<node role="throwsItem" roleId="tpee.1164879685961" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957677350854" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Exception" resolveInfo="Exception" />
</node>
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957677350855" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="7932111957677350856" nodeInfo="nn">
<node role="condition" roleId="tpee.1068580123160" type="tpee.NotEqualsExpression" typeId="tpee.1073239437375" id="7932111957677350857" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957677350972" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677350971" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350851" resolveInfo="args" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.ArrayLengthOperation" typeId="tpee.1208890769693" id="7932111957677351726" nodeInfo="nn" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7932111957677350859" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="2" />
</node>
</node>
<node role="ifFalseStatement" roleId="tpee.1082485599094" type="tpee.TryCatchStatement" typeId="tpee.1164879751025" id="7932111957677350942" nodeInfo="nn">
<node role="catchClause" roleId="tpee.1164903496223" type="tpee.CatchClause" typeId="tpee.1164903280175" id="7932111957677350943" nodeInfo="nn">
<node role="catchBody" roleId="tpee.1164903359218" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957677350936" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677350937" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957677350976" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticFieldReference" typeId="tpee.1070533707846" id="7932111957677351723" nodeInfo="nn">
<link role="classifier" roleId="tpee.1144433057691" targetNodeId="e2lb.~System" resolveInfo="System" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="e2lb.~System%derr" resolveInfo="err" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7932111957677350977" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~PrintStream%dprintln(java%dlang%dString)%cvoid" resolveInfo="println" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957677350980" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677350979" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350932" resolveInfo="e" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7932111957677350981" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~Throwable%dgetMessage()%cjava%dlang%dString" resolveInfo="getMessage" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677350940" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.LocalMethodCall" typeId="tpee.7812454656619025412" id="7932111957677350941" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="7932111957677350947" resolveInfo="printUsage" />
</node>
</node>
</node>
<node role="throwable" roleId="tpee.1164903359217" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957677350932" nodeInfo="nr">
<property name="isFinal" nameId="tpee.1176718929932" value="false" />
<property name="name" nameId="tpck.1169194664001" value="e" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957677350934" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~NumberFormatException" resolveInfo="NumberFormatException" />
</node>
</node>
</node>
<node role="body" roleId="tpee.1164879758292" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957677350863" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7932111957677350865" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957677350864" nodeInfo="nr">
<property name="isFinal" nameId="tpee.1176718929932" value="true" />
<property name="name" nameId="tpck.1169194664001" value="i0" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.LongType" typeId="tpee.1068581242867" id="7932111957677350866" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7932111957677350983" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="e2lb.~Long" resolveInfo="Long" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~Long%dparseLong(java%dlang%dString)%clong" resolveInfo="parseLong" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7932111957677350868" nodeInfo="nn">
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677350869" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350851" resolveInfo="args" />
</node>
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7932111957677350870" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7932111957677350872" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957677350871" nodeInfo="nr">
<property name="isFinal" nameId="tpee.1176718929932" value="true" />
<property name="name" nameId="tpck.1169194664001" value="i1" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.LongType" typeId="tpee.1068581242867" id="7932111957677350873" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7932111957677350985" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="e2lb.~Long" resolveInfo="Long" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~Long%dparseLong(java%dlang%dString)%clong" resolveInfo="parseLong" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7932111957677350875" nodeInfo="nn">
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677350876" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350851" resolveInfo="args" />
</node>
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7932111957677350877" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="7932111957677350878" nodeInfo="nn">
<node role="condition" roleId="tpee.1068580123160" type="tpee.OrExpression" typeId="tpee.1080223426719" id="7932111957677350879" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.LessThanExpression" typeId="tpee.1081506773034" id="7932111957677350880" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677350881" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350864" resolveInfo="i0" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7932111957677350882" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.LessThanExpression" typeId="tpee.1081506773034" id="7932111957677350883" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677350884" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350871" resolveInfo="i1" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7932111957677350885" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
</node>
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957677350887" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677350888" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.LocalMethodCall" typeId="tpee.7812454656619025412" id="7932111957677350889" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="7932111957677350947" resolveInfo="printUsage" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="7932111957677350890" nodeInfo="nn" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7932111957677350956" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7932111957677350955" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="First we create a new JCHR constraint handler:" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7932111957677375506" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957677375509" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="handler" />
<node role="type" roleId="tpee.5680397130376446158" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="7932111957677375504" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.jchr.sandbox.GcdHandler" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp68.InternalNewExpression" typeId="tp68.1173996401517" id="7932111957677401303" nodeInfo="nn">
<property name="fqClassName" nameId="tp68.1173996588177" value="jetbrains.mps.jchr.sandbox.GcdHandler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7932111957677350958" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7932111957677350957" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="Next we tell the JCHR handler the following two constraints: " />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677442582" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="7932111957677442578" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="tellGcd" />
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677463551" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350864" resolveInfo="i0" />
</node>
<node role="returnType" roleId="tp68.1174313653259" type="tpee.VoidType" typeId="tpee.1068581517677" id="7932111957677448571" nodeInfo="in" />
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677451097" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677375509" resolveInfo="handler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677477904" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="7932111957677477905" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="tellGcd" />
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677483836" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350871" resolveInfo="i1" />
</node>
<node role="returnType" roleId="tp68.1174313653259" type="tpee.VoidType" typeId="tpee.1068581517677" id="7932111957677477907" nodeInfo="in" />
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677477908" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677375509" resolveInfo="handler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7932111957677350960" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7932111957677350959" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="Afterwards we can lookup the constraints in the " />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7932111957677350962" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7932111957677350961" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="resulting constraint store: " />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7932111957677514706" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957677514707" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="gcds" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957677514704" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="k7g3.~Collection" resolveInfo="Collection" />
<node role="parameter" roleId="tpee.1109201940907" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="7932111957677519445" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.jchr.sandbox.GcdHandler.GcdConstraint" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="7932111957677526275" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="getGcdConstraints" />
<node role="returnType" roleId="tp68.1174313653259" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957677528392" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="k7g3.~Collection" resolveInfo="Collection" />
<node role="parameter" roleId="tpee.1109201940907" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="7932111957677531737" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.jchr.sandbox.GcdHandler.GcdConstraint" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677534565" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677375509" resolveInfo="handler" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957677506859" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7932111957677350964" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7932111957677350963" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="There should be exactly one constraint, containing" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7932111957677350966" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7932111957677350965" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="the greatest common divider:" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.AssertStatement" typeId="tpee.1160998861373" id="7932111957677350912" nodeInfo="nn">
<node role="condition" roleId="tpee.1160998896846" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="7932111957677350909" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957677351000" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677687129" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677514707" resolveInfo="gcds" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7932111957677351001" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="k7g3.~Collection%dsize()%cint" resolveInfo="size" />
</node>
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7932111957677350911" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7932111957677350968" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7932111957677350967" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="Simply print out the result:" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677350926" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957677351008" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticFieldReference" typeId="tpee.1070533707846" id="7932111957677351724" nodeInfo="nn">
<link role="classifier" roleId="tpee.1144433057691" targetNodeId="e2lb.~System" resolveInfo="System" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="e2lb.~System%dout" resolveInfo="out" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7932111957677351009" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~PrintStream%dprintf(java%dlang%dString,java%dlang%dObject%d%d%d)%cjava%dio%dPrintStream" resolveInfo="printf" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7932111957677350928" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value=" ==&gt; gcd(%d, %d) == %s" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677350929" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350864" resolveInfo="i0" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677350930" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677350871" resolveInfo="i1" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957677808820" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957677808821" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677808822" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677514707" resolveInfo="gcds" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7932111957677808823" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="k7g3.~Collection%diterator()%cjava%dutil%dIterator" resolveInfo="iterator" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7932111957677808824" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="k7g3.~Iterator%dnext()%cjava%dlang%dObject" resolveInfo="next" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957677350944" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677350860" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.LocalMethodCall" typeId="tpee.7812454656619025412" id="7932111957677350861" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="7932111957677350947" resolveInfo="printUsage" />
</node>
</node>
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7932111957677350945" nodeInfo="nn" />
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="7932111957677350946" nodeInfo="in" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="7932111957677350947" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="printUsage" />
<property name="isFinal" nameId="tpee.1181808852946" value="true" />
<property name="isSynchronized" nameId="tpee.4276006055363816570" value="false" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957677350948" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677350949" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957677351012" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticFieldReference" typeId="tpee.1070533707846" id="7932111957677351725" nodeInfo="nn">
<link role="classifier" roleId="tpee.1144433057691" targetNodeId="e2lb.~System" resolveInfo="System" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="e2lb.~System%dout" resolveInfo="out" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7932111957677351013" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~PrintStream%dprintln(java%dlang%dString)%cvoid" resolveInfo="println" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7932111957677350951" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="Usage: java Gcd &lt;positive int&gt; &lt;positive int&gt;" />
</node>
</node>
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7932111957677350952" nodeInfo="nn" />
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="7932111957677350953" nodeInfo="in" />
</node>
</root>
</model>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<solution name="jetbrains.mps.jchr.sandbox.runner" uuid="50973c3e-8bb5-477f-8528-33fe556ec688" compileInMPS="true">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="models" />
</modelRoot>
</models>
<sourcePath />
<dependencies>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">b984ee52-f34d-4b6d-8812-866c1d3eae31(jetbrains.mps.jchr.runtime)</dependency>
<dependency reexport="false">7ab0c079-df36-45eb-a614-81cf81174043(jetbrains.mps.jchr.sandbox)</dependency>
</dependencies>
<usedLanguages>
<usedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</usedLanguage>
<usedLanguage>df345b11-b8c7-4213-ac66-48d2a9b75d88(jetbrains.mps.baseLanguageInternal)</usedLanguage>
</usedLanguages>
<usedDevKits>
<usedDevKit>fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)</usedDevKit>
</usedDevKits>
</solution>

View File

@ -0,0 +1,332 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:7d0ef000-3cef-4963-bee2-388be23913c0(jetbrains.mps.jchr.sandbox.runner.gcd)">
<persistence version="8" />
<language namespace="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" />
<language namespace="df345b11-b8c7-4213-ac66-48d2a9b75d88(jetbrains.mps.baseLanguageInternal)" />
<import index="e2lb" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" version="-1" />
<import index="fxg7" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.io(JDK/java.io@java_stub)" version="-1" />
<import index="k7g3" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.util(JDK/java.util@java_stub)" version="-1" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" implicit="yes" />
<import index="tp68" modelUID="r:00000000-0000-4000-0000-011c895903ac(jetbrains.mps.baseLanguageInternal.structure)" version="2" implicit="yes" />
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="3562712610788213565" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="Gcd" />
<property name="nonStatic" nameId="tpee.521412098689998745" value="true" />
<property name="abstractClass" nameId="tpee.1075300953594" value="false" />
<property name="isFinal" nameId="tpee.1221565133444" value="false" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610788213566" nodeInfo="nn" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="3562712610788213567" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="main" />
<property name="isFinal" nameId="tpee.1181808852946" value="false" />
<property name="isSynchronized" nameId="tpee.4276006055363816570" value="false" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="3562712610788213568" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="args" />
<property name="isFinal" nameId="tpee.1176718929932" value="false" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="3562712610788213569" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.StringType" typeId="tpee.1225271177708" id="3562712610788213570" nodeInfo="in" />
</node>
</node>
<node role="throwsItem" roleId="tpee.1164879685961" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788213571" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Exception" resolveInfo="Exception" />
</node>
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788213572" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="3562712610788213573" nodeInfo="nn">
<node role="condition" roleId="tpee.1068580123160" type="tpee.NotEqualsExpression" typeId="tpee.1073239437375" id="3562712610788213574" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788213575" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213576" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213568" resolveInfo="args" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.ArrayLengthOperation" typeId="tpee.1208890769693" id="3562712610788213577" nodeInfo="nn" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="3562712610788213578" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="2" />
</node>
</node>
<node role="ifFalseStatement" roleId="tpee.1082485599094" type="tpee.TryCatchStatement" typeId="tpee.1164879751025" id="3562712610788213579" nodeInfo="nn">
<node role="catchClause" roleId="tpee.1164903496223" type="tpee.CatchClause" typeId="tpee.1164903280175" id="3562712610788213580" nodeInfo="nn">
<node role="catchBody" roleId="tpee.1164903359218" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788213581" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788213582" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788213583" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticFieldReference" typeId="tpee.1070533707846" id="3562712610788213584" nodeInfo="nn">
<link role="classifier" roleId="tpee.1144433057691" targetNodeId="e2lb.~System" resolveInfo="System" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="e2lb.~System%derr" resolveInfo="err" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788213585" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~PrintStream%dprintln(java%dlang%dString)%cvoid" resolveInfo="println" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788213586" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213587" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213591" resolveInfo="e" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788213588" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~Throwable%dgetMessage()%cjava%dlang%dString" resolveInfo="getMessage" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788213589" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.LocalMethodCall" typeId="tpee.7812454656619025412" id="3562712610788213590" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="3562712610788213680" resolveInfo="printUsage" />
</node>
</node>
</node>
<node role="throwable" roleId="tpee.1164903359217" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610788213591" nodeInfo="nr">
<property name="isFinal" nameId="tpee.1176718929932" value="false" />
<property name="name" nameId="tpck.1169194664001" value="e" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788213592" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~NumberFormatException" resolveInfo="NumberFormatException" />
</node>
</node>
</node>
<node role="body" roleId="tpee.1164879758292" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788213593" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610788213594" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610788213595" nodeInfo="nr">
<property name="isFinal" nameId="tpee.1176718929932" value="true" />
<property name="name" nameId="tpck.1169194664001" value="i0" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.LongType" typeId="tpee.1068581242867" id="3562712610788213596" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610788213597" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="e2lb.~Long" resolveInfo="Long" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~Long%dparseLong(java%dlang%dString)%clong" resolveInfo="parseLong" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="3562712610788213598" nodeInfo="nn">
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213599" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213568" resolveInfo="args" />
</node>
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="3562712610788213600" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610788213601" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610788213602" nodeInfo="nr">
<property name="isFinal" nameId="tpee.1176718929932" value="true" />
<property name="name" nameId="tpck.1169194664001" value="i1" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.LongType" typeId="tpee.1068581242867" id="3562712610788213603" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610788213604" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="e2lb.~Long" resolveInfo="Long" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~Long%dparseLong(java%dlang%dString)%clong" resolveInfo="parseLong" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="3562712610788213605" nodeInfo="nn">
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213606" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213568" resolveInfo="args" />
</node>
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="3562712610788213607" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="3562712610788213608" nodeInfo="nn">
<node role="condition" roleId="tpee.1068580123160" type="tpee.OrExpression" typeId="tpee.1080223426719" id="3562712610788213609" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.LessThanExpression" typeId="tpee.1081506773034" id="3562712610788213610" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213611" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213595" resolveInfo="i0" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="3562712610788213612" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.LessThanExpression" typeId="tpee.1081506773034" id="3562712610788213613" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213614" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213602" resolveInfo="i1" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="3562712610788213615" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
</node>
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788213616" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788213617" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.LocalMethodCall" typeId="tpee.7812454656619025412" id="3562712610788213618" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="3562712610788213680" resolveInfo="printUsage" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="3562712610788213619" nodeInfo="nn" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788213620" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788213621" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="First we create a new JCHR constraint handler:" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610788213622" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610788213623" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="handler" />
<node role="type" roleId="tpee.5680397130376446158" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="3562712610788213624" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.jchr.sandbox.GcdHandler" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp68.InternalNewExpression" typeId="tp68.1173996401517" id="3562712610788213625" nodeInfo="nn">
<property name="fqClassName" nameId="tp68.1173996588177" value="jetbrains.mps.jchr.sandbox.GcdHandler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788213626" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788213627" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="Next we tell the JCHR handler the following two constraints: " />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788213628" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="3562712610788213629" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="tellGcd" />
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213630" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213595" resolveInfo="i0" />
</node>
<node role="returnType" roleId="tp68.1174313653259" type="tpee.VoidType" typeId="tpee.1068581517677" id="3562712610788213631" nodeInfo="in" />
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213632" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213623" resolveInfo="handler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788213633" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="3562712610788213634" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="tellGcd" />
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213635" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213602" resolveInfo="i1" />
</node>
<node role="returnType" roleId="tp68.1174313653259" type="tpee.VoidType" typeId="tpee.1068581517677" id="3562712610788213636" nodeInfo="in" />
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213637" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213623" resolveInfo="handler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788213638" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788213639" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="Afterwards we can lookup the constraints in the " />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788213640" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788213641" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="resulting constraint store: " />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610788213642" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610788213643" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="gcds" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788213644" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="k7g3.~Collection" resolveInfo="Collection" />
<node role="parameter" roleId="tpee.1109201940907" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="3562712610788213645" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.jchr.sandbox.GcdHandler.GcdConstraint" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="3562712610788213646" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="getGcdConstraints" />
<node role="returnType" roleId="tp68.1174313653259" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788213647" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="k7g3.~Collection" resolveInfo="Collection" />
<node role="parameter" roleId="tpee.1109201940907" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="3562712610788213648" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.jchr.sandbox.GcdHandler.GcdConstraint" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213649" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213623" resolveInfo="handler" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610788213650" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788213651" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788213652" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="There should be exactly one constraint, containing" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788213653" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788213654" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="the greatest common divider:" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.AssertStatement" typeId="tpee.1160998861373" id="3562712610788213655" nodeInfo="nn">
<node role="condition" roleId="tpee.1160998896846" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="3562712610788213656" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788213657" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213658" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213643" resolveInfo="gcds" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788213659" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="k7g3.~Collection%dsize()%cint" resolveInfo="size" />
</node>
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="3562712610788213660" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788213661" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788213662" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="Simply print out the result:" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788213663" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788213664" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticFieldReference" typeId="tpee.1070533707846" id="3562712610788213665" nodeInfo="nn">
<link role="classifier" roleId="tpee.1144433057691" targetNodeId="e2lb.~System" resolveInfo="System" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="e2lb.~System%dout" resolveInfo="out" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788213666" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~PrintStream%dprintf(java%dlang%dString,java%dlang%dObject%d%d%d)%cjava%dio%dPrintStream" resolveInfo="printf" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610788213667" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value=" ==&gt; gcd(%d, %d) == %s" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213668" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213595" resolveInfo="i0" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213669" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213602" resolveInfo="i1" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788213670" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788213671" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788213672" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788213643" resolveInfo="gcds" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788213673" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="k7g3.~Collection%diterator()%cjava%dutil%dIterator" resolveInfo="iterator" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788213674" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="k7g3.~Iterator%dnext()%cjava%dlang%dObject" resolveInfo="next" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788213675" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788213676" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.LocalMethodCall" typeId="tpee.7812454656619025412" id="3562712610788213677" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="3562712610788213680" resolveInfo="printUsage" />
</node>
</node>
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610788213678" nodeInfo="nn" />
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="3562712610788213679" nodeInfo="in" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="3562712610788213680" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="printUsage" />
<property name="isFinal" nameId="tpee.1181808852946" value="true" />
<property name="isSynchronized" nameId="tpee.4276006055363816570" value="false" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788213681" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788213682" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788213683" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticFieldReference" typeId="tpee.1070533707846" id="3562712610788213684" nodeInfo="nn">
<link role="classifier" roleId="tpee.1144433057691" targetNodeId="e2lb.~System" resolveInfo="System" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="e2lb.~System%dout" resolveInfo="out" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788213685" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~PrintStream%dprintln(java%dlang%dString)%cvoid" resolveInfo="println" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610788213686" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="Usage: java Gcd &lt;positive int&gt; &lt;positive int&gt;" />
</node>
</node>
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610788213687" nodeInfo="nn" />
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="3562712610788213688" nodeInfo="in" />
</node>
</root>
</model>

View File

@ -14,6 +14,7 @@
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" implicit="yes" />
<import index="tp25" modelUID="r:00000000-0000-4000-0000-011c89590301(jetbrains.mps.lang.smodel.structure)" version="16" implicit="yes" />
<import index="tp2q" modelUID="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" version="7" implicit="yes" />
<import index="tp2c" modelUID="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" version="3" implicit="yes" />
<root type="tpf8.MappingConfiguration" typeId="tpf8.1095416546421" id="6626732309150416986" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="main" />
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1611448358168254930" nodeInfo="ng">
@ -203,11 +204,69 @@
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="1611448358168391222" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358168391223" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358168391224" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358168391225" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1611448358168391226" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706284441" />
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788448510" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788432664" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358168391225" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1611448358168391226" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706284441" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358168391227" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.WhereOperation" typeId="tp2q.1202120902084" id="3562712610788497991" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610788497993" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788497994" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788497995" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788497996" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788497997" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788498000" resolveInfo="it" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsInstanceOfOperation" typeId="tp25.1139621453865" id="3562712610788497998" nodeInfo="nn">
<node role="conceptArgument" roleId="tp25.1177027386292" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610788497999" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="5j4j.7571593955706137472" resolveInfo="ValueRole" />
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610788498000" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="it" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610788498001" nodeInfo="in" />
</node>
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ConcatOperation" typeId="tp2q.1180964022718" id="3562712610788455162" nodeInfo="nn">
<node role="rightExpression" roleId="tp2q.1176906787974" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788465544" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788457547" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788456884" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="3562712610788460169" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706284441" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.WhereOperation" typeId="tp2q.1202120902084" id="3562712610788503586" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610788503588" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788503589" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788503590" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788503591" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788503592" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788503595" resolveInfo="it" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsInstanceOfOperation" typeId="tp25.1139621453865" id="3562712610788503593" nodeInfo="nn">
<node role="conceptArgument" roleId="tp25.1177027386292" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610788503594" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="5j4j.7571593955706137263" resolveInfo="ChildRole" />
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610788503595" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="it" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610788503596" nodeInfo="in" />
</node>
</node>
</node>
</node>
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358168391227" nodeInfo="nn" />
</node>
</node>
</node>

View File

@ -5,11 +5,13 @@
<sourceRoot location="models" />
</modelRoot>
</models>
<stubModelEntries>
<stubModelEntry path="${module}/classes_jchr" />
</stubModelEntries>
<sourcePath />
<dependencies>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">b984ee52-f34d-4b6d-8812-866c1d3eae31(jetbrains.mps.jchr.runtime)</dependency>
<dependency reexport="false">7ab0c079-df36-45eb-a614-81cf81174043(jetbrains.mps.jchr.sandbox)</dependency>
<dependency reexport="false">a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)</dependency>
<dependency reexport="true">7526e0cf-1ce7-46f8-a555-9eca1e06c23b(jetbrains.mps.unification.tree)</dependency>
</dependencies>

View File

@ -13,9 +13,6 @@
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" implicit="yes" />
<import index="vgt0" modelUID="r:f36c95e5-e428-4945-91ae-1005e20c7971(jetbrains.mps.jchr.structure)" version="-1" implicit="yes" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="e2lb" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" version="-1" implicit="yes" />
<import index="tp68" modelUID="r:00000000-0000-4000-0000-011c895903ac(jetbrains.mps.baseLanguageInternal.structure)" version="2" implicit="yes" />
<import index="fxg7" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.io(JDK/java.io@java_stub)" version="-1" implicit="yes" />
<root type="vgt0.Handler" typeId="vgt0.456733934405394951" id="7932111957672575234" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="typeOf" />
<node role="rule" roleId="vgt0.456733934405773365" type="vgt0.SimplificationRule" typeId="vgt0.456733934405449669" id="7932111957672584569" nodeInfo="ng">
@ -104,150 +101,5 @@
</node>
</node>
</root>
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="7932111957678092497" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="TypeOf" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="7932111957678092805" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="7932111957678092815" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="main" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7932111957678092816" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="args" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7932111957678092817" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.StringType" typeId="tpee.1225271177708" id="7932111957678092818" nodeInfo="in" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="7932111957678092819" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7932111957678092820" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957678092821" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957678114194" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7932111957678115734" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957678115735" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="solver" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957678115736" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="oy3s.7337323408787456023" resolveInfo="UnificationSolver" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7932111957678116396" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="7932111957678120983" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="oy3s.5667087533488904329" resolveInfo="UnificationSolverImpl" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957678114255" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7932111957677375506" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957677375509" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="handler" />
<node role="type" roleId="tpee.5680397130376446158" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="7932111957677375504" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.unification.sandbox.TypeOfHandler" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp68.InternalNewExpression" typeId="tp68.1173996401517" id="7932111957677401303" nodeInfo="nn">
<property name="fqClassName" nameId="tp68.1173996588177" value="jetbrains.mps.unification.sandbox.TypeOfHandler" />
<node role="actualArgument" roleId="tp68.319021450862590135" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957678121342" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957678115735" resolveInfo="solver" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957678096425" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="6214965505176426058" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="6214965505176440468" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="class Foo { &lt;T&gt; Foo&lt;T&gt; bar(T p1, Bar&lt;T&gt; p2) {} }" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="6214965505176443952" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="6214965505176444540" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="foo.bar(a, b)" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957677442582" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="7932111957677442578" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="tellTypeOf" />
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7932111957678100168" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="a" />
</node>
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7932111957678376625" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="oy3s.5667087533488031231" resolveInfo="TreeLogical" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="oy3s.7932111957678327042" resolveInfo="var" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="6214965505176469452" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="zcv.6214965505176452734" resolveInfo="t_string" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="zcv.7932111957675691621" resolveInfo="Forest" />
</node>
</node>
<node role="returnType" roleId="tp68.1174313653259" type="tpee.VoidType" typeId="tpee.1068581517677" id="7932111957677448571" nodeInfo="in" />
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677451097" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677375509" resolveInfo="handler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6214965505176469654" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="6214965505176469655" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="tellTypeOf" />
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="6214965505176469656" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="b" />
</node>
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="6214965505176469657" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="oy3s.5667087533488031231" resolveInfo="TreeLogical" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="oy3s.7932111957678327042" resolveInfo="var" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="6214965505176597781" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="zcv.6214965505176592906" resolveInfo="t_Bar_of_integer" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="zcv.7932111957675691621" resolveInfo="Forest" />
</node>
</node>
<node role="returnType" roleId="tp68.1174313653259" type="tpee.VoidType" typeId="tpee.1068581517677" id="6214965505176469659" nodeInfo="in" />
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6214965505176469660" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677375509" resolveInfo="handler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957678100575" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7932111957677514706" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7932111957677514707" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="cnsts" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957677514704" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="k7g3.~Collection" resolveInfo="Collection" />
<node role="parameter" roleId="tpee.1109201940907" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="7932111957677519445" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.unification.sandbox.TypeOfHandler.TypeOfConstraint" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="7932111957677526275" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="getTypeOfConstraints" />
<node role="returnType" roleId="tp68.1174313653259" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7932111957677528392" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="k7g3.~Collection" resolveInfo="Collection" />
<node role="parameter" roleId="tpee.1109201940907" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="7932111957677531737" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.unification.sandbox.TypeOfHandler.TypeOfConstraint" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957677534565" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677375509" resolveInfo="handler" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7932111957678099660" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957678104640" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957678104636" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticFieldReference" typeId="tpee.1070533707846" id="7932111957678104637" nodeInfo="nn">
<link role="classifier" roleId="tpee.1144433057691" targetNodeId="e2lb.~System" resolveInfo="System" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="e2lb.~System%dout" resolveInfo="out" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7932111957678104638" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~PrintStream%dprintln(java%dlang%dString)%cvoid" resolveInfo="println" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="7932111957678106172" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7932111957678107447" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7932111957677514707" resolveInfo="cnsts" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7932111957678104639" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="&gt; " />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7932111957678092498" nodeInfo="nn" />
</root>
</model>

View File

@ -21,7 +21,6 @@
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6214965505176464276" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="5j4j.Ast" typeId="5j4j.7571593955706120730" id="6214965505176464277" nodeInfo="ng">
<node role="root" roleId="5j4j.7571593955706125526" type="5j4j.Node" typeId="5j4j.7571593955706137125" id="6214965505176464278" nodeInfo="ng">
<property name="kind" nameId="5j4j.7166797808989209772" value="CLASSIFIER_TYPE" />
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ChildRole" typeId="5j4j.7571593955706137263" id="3608339284319961277" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="parameter" />
<property name="cardinality" nameId="5j4j.7571593955706137428" value="multiple" />
@ -41,6 +40,12 @@
</node>
</node>
</node>
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ValueRole" typeId="5j4j.7571593955706137472" id="6214965505176464280" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="concept" />
<node role="contents" roleId="5j4j.7571593955706137672" type="5j4j.ValueHolder" typeId="5j4j.7571593955706137573" id="6214965505176464281" nodeInfo="ng">
<property name="value" nameId="5j4j.7571593955706137638" value="ClassifierType" />
</node>
</node>
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ValueRole" typeId="5j4j.7571593955706137472" id="7825160518170266129" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="classifier" />
<node role="contents" roleId="5j4j.7571593955706137672" type="5j4j.ValueHolder" typeId="5j4j.7571593955706137573" id="3608339284319392912" nodeInfo="ng">
@ -48,12 +53,6 @@
</node>
</node>
<node role="symbol" roleId="5j4j.7571593955706284553" type="5j4j.Symbol" typeId="5j4j.7571593955706284481" id="6214965505176464279" nodeInfo="ng" />
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ValueRole" typeId="5j4j.7571593955706137472" id="6214965505176464280" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="concept" />
<node role="contents" roleId="5j4j.7571593955706137672" type="5j4j.ValueHolder" typeId="5j4j.7571593955706137573" id="6214965505176464281" nodeInfo="ng">
<property name="value" nameId="5j4j.7571593955706137638" value="ClassifierType" />
</node>
</node>
</node>
</node>
</node>
@ -72,20 +71,6 @@
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6214965505176592908" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="5j4j.Ast" typeId="5j4j.7571593955706120730" id="6214965505176592909" nodeInfo="ng">
<node role="root" roleId="5j4j.7571593955706125526" type="5j4j.Node" typeId="5j4j.7571593955706137125" id="3562712610780287748" nodeInfo="ng">
<property name="kind" nameId="5j4j.7166797808989209772" value="CLASSIFIER_TYPE" />
<node role="symbol" roleId="5j4j.7571593955706284553" type="5j4j.Symbol" typeId="5j4j.7571593955706284481" id="3562712610780287753" nodeInfo="ng" />
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ValueRole" typeId="5j4j.7571593955706137472" id="3562712610780287749" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="concept" />
<node role="contents" roleId="5j4j.7571593955706137672" type="5j4j.ValueHolder" typeId="5j4j.7571593955706137573" id="3562712610780287750" nodeInfo="ng">
<property name="value" nameId="5j4j.7571593955706137638" value="ClassifierType" />
</node>
</node>
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ValueRole" typeId="5j4j.7571593955706137472" id="3562712610780287751" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="classifier" />
<node role="contents" roleId="5j4j.7571593955706137672" type="5j4j.ValueHolder" typeId="5j4j.7571593955706137573" id="3562712610780287752" nodeInfo="ng">
<property name="value" nameId="5j4j.7571593955706137638" value="Bar" />
</node>
</node>
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ChildRole" typeId="5j4j.7571593955706137263" id="3562712610780287788" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="parameter" />
<property name="cardinality" nameId="5j4j.7571593955706137428" value="multiple" />
@ -105,6 +90,19 @@
</node>
</node>
</node>
<node role="symbol" roleId="5j4j.7571593955706284553" type="5j4j.Symbol" typeId="5j4j.7571593955706284481" id="3562712610780287753" nodeInfo="ng" />
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ValueRole" typeId="5j4j.7571593955706137472" id="3562712610780287749" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="concept" />
<node role="contents" roleId="5j4j.7571593955706137672" type="5j4j.ValueHolder" typeId="5j4j.7571593955706137573" id="3562712610780287750" nodeInfo="ng">
<property name="value" nameId="5j4j.7571593955706137638" value="ClassifierType" />
</node>
</node>
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ValueRole" typeId="5j4j.7571593955706137472" id="3562712610780287751" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="classifier" />
<node role="contents" roleId="5j4j.7571593955706137672" type="5j4j.ValueHolder" typeId="5j4j.7571593955706137573" id="3562712610780287752" nodeInfo="ng">
<property name="value" nameId="5j4j.7571593955706137638" value="Bar" />
</node>
</node>
</node>
</node>
</node>
@ -129,7 +127,6 @@
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6214965505176479769" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="5j4j.Ast" typeId="5j4j.7571593955706120730" id="6214965505176479770" nodeInfo="ng">
<node role="root" roleId="5j4j.7571593955706125526" type="5j4j.Node" typeId="5j4j.7571593955706137125" id="6214965505176479771" nodeInfo="ng">
<property name="kind" nameId="5j4j.7166797808989209772" value="CLASSIFIER_TYPE" />
<node role="symbol" roleId="5j4j.7571593955706284553" type="5j4j.Symbol" typeId="5j4j.7571593955706284481" id="6214965505176479772" nodeInfo="ng" />
<node role="role" roleId="5j4j.7571593955706284441" type="5j4j.ValueRole" typeId="5j4j.7571593955706137472" id="3562712610780287976" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="concept" />

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<solution name="jetbrains.mps.logic.sandbox.runner" uuid="6711785f-6c20-4cec-9dfb-dbe7e18234dc" compileInMPS="true">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="models" />
</modelRoot>
</models>
<sourcePath />
<dependencies>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)</dependency>
<dependency reexport="false">eaa96e7c-030a-4e4f-8ae7-a24dff1e0572(jetbrains.mps.logic.sandbox)</dependency>
</dependencies>
<usedLanguages>
<usedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</usedLanguage>
<usedLanguage>df345b11-b8c7-4213-ac66-48d2a9b75d88(jetbrains.mps.baseLanguageInternal)</usedLanguage>
</usedLanguages>
</solution>

View File

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:e04efeb8-0601-491d-95ef-ff741f4cdd87(jetbrains.mps.logic.sandbox.runner.typeof)">
<persistence version="8" />
<language namespace="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" />
<language namespace="df345b11-b8c7-4213-ac66-48d2a9b75d88(jetbrains.mps.baseLanguageInternal)" />
<import index="oy3s" modelUID="r:a6030cee-34eb-4503-b1bf-015fe5cd8c1a(jetbrains.mps.logic.jchr.unification)" version="-1" />
<import index="e2lb" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" version="-1" />
<import index="zcv" modelUID="r:cbad57c9-c211-4e64-ac84-bbfd0fa39faf(jetbrains.mps.unification.util)" version="-1" />
<import index="k7g3" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.util(JDK/java.util@java_stub)" version="-1" />
<import index="fxg7" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.io(JDK/java.io@java_stub)" version="-1" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" implicit="yes" />
<import index="tp68" modelUID="r:00000000-0000-4000-0000-011c895903ac(jetbrains.mps.baseLanguageInternal.structure)" version="2" implicit="yes" />
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="3562712610788163113" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="TypeOf" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="3562712610788163114" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="3562712610788163115" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="main" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="3562712610788163116" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="args" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="3562712610788163117" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.StringType" typeId="tpee.1225271177708" id="3562712610788163118" nodeInfo="in" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="3562712610788163119" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610788163120" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788163121" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610788163122" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610788163123" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610788163124" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="solver" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788163125" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="oy3s.7337323408787456023" resolveInfo="UnificationSolver" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="3562712610788163126" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="3562712610788163127" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="oy3s.5667087533488904329" resolveInfo="UnificationSolverImpl" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610788163128" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610788163129" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610788163130" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="handler" />
<node role="type" roleId="tpee.5680397130376446158" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="3562712610788163131" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.unification.sandbox.TypeOfHandler" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp68.InternalNewExpression" typeId="tp68.1173996401517" id="3562712610788163132" nodeInfo="nn">
<property name="fqClassName" nameId="tp68.1173996588177" value="jetbrains.mps.unification.sandbox.TypeOfHandler" />
<node role="actualArgument" roleId="tp68.319021450862590135" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788163133" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788163124" resolveInfo="solver" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610788163134" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788163135" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788163136" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="class Foo { &lt;T&gt; Foo&lt;T&gt; bar(T p1, Bar&lt;T&gt; p2) {} }" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="3562712610788163137" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="3562712610788163138" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="foo.bar(a, b)" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788163139" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="3562712610788163140" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="tellTypeOf" />
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610788163141" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="a" />
</node>
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610788163142" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="oy3s.5667087533488031231" resolveInfo="TreeLogical" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="oy3s.7932111957678327042" resolveInfo="var" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610788163143" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="zcv.6214965505176452734" resolveInfo="t_string" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="zcv.7932111957675691621" resolveInfo="Forest" />
</node>
</node>
<node role="returnType" roleId="tp68.1174313653259" type="tpee.VoidType" typeId="tpee.1068581517677" id="3562712610788163144" nodeInfo="in" />
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788163145" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788163130" resolveInfo="handler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788163146" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="3562712610788163147" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="tellTypeOf" />
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610788163148" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="b" />
</node>
<node role="actualArgument" roleId="tp68.1174318197094" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610788163149" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="oy3s.5667087533488031231" resolveInfo="TreeLogical" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="oy3s.7932111957678327042" resolveInfo="var" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610788264771" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="zcv.6214965505176464274" resolveInfo="t_Bar_of_string" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="zcv.7932111957675691621" resolveInfo="Forest" />
</node>
</node>
<node role="returnType" roleId="tp68.1174313653259" type="tpee.VoidType" typeId="tpee.1068581517677" id="3562712610788163151" nodeInfo="in" />
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788163152" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788163130" resolveInfo="handler" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610788163153" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3562712610788163154" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3562712610788163155" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="cnsts" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788163156" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="k7g3.~Collection" resolveInfo="Collection" />
<node role="parameter" roleId="tpee.1109201940907" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="3562712610788163157" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.unification.sandbox.TypeOfHandler.TypeOfConstraint" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp68.InternalPartialInstanceMethodCall" typeId="tp68.1174294166120" id="3562712610788163158" nodeInfo="nn">
<property name="methodName" nameId="tp68.1174294288199" value="getTypeOfConstraints" />
<node role="returnType" roleId="tp68.1174313653259" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788163159" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="k7g3.~Collection" resolveInfo="Collection" />
<node role="parameter" roleId="tpee.1109201940907" type="tp68.InternalClassifierType" typeId="tp68.1174914042989" id="3562712610788163160" nodeInfo="in">
<property name="fqClassName" nameId="tp68.1174914081067" value="jetbrains.mps.unification.sandbox.TypeOfHandler.TypeOfConstraint" />
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="instance" roleId="tp68.1174317636233" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788163161" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788163130" resolveInfo="handler" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="3562712610788163162" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788163163" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788163164" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.StaticFieldReference" typeId="tpee.1070533707846" id="3562712610788163165" nodeInfo="nn">
<link role="classifier" roleId="tpee.1144433057691" targetNodeId="e2lb.~System" resolveInfo="System" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="e2lb.~System%dout" resolveInfo="out" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788163166" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="fxg7.~PrintStream%dprintln(java%dlang%dString)%cvoid" resolveInfo="println" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="3562712610788163167" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788163168" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788163155" resolveInfo="cnsts" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610788163169" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="&gt; " />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610788163170" nodeInfo="nn" />
</root>
</model>