Refactoring the runtime, sample template

This commit is contained in:
Fedor Isakov 2014-11-20 16:35:27 +01:00
parent edeeec1e55
commit 43c21fe5ec
5 changed files with 1471 additions and 10 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:2a1eb048-898c-47a3-863b-36b04c4b9f7c(jetbrains.mps.lang.typesystem2.runtime.rules)">
<model modelUID="r:2a1eb048-898c-47a3-863b-36b04c4b9f7c(jetbrains.mps.lang.typesystem2.runtime.rule)">
<persistence version="8" />
<language namespace="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" />
<import index="e2lb" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" version="-1" />
@ -142,6 +142,43 @@
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422634408557" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="6135434422634407798" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="nary" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634407799" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="id" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422634407800" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634407801" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="args" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.VariableArityType" typeId="tpee.1219920932475" id="6135434422634409587" nodeInfo="in">
<node role="componentType" roleId="tpee.1219921048460" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422634407802" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422634407807" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="8335224865064894913" resolveInfo="BuiltinConstraint" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422634407808" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634407809" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6135434422634407810" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="6135434422634407811" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="6135434422634407812" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="8335224865064894982" resolveInfo="BuiltinConstraint" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634407813" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634407799" resolveInfo="id" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634407814" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634407801" resolveInfo="args" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="8335224865064894965" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="8335224865064894966" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="isBuiltin" />
@ -1442,6 +1479,43 @@
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422634372855" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="6135434422634372093" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="nary" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634372094" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="id" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422634372095" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634376039" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="args" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.VariableArityType" typeId="tpee.1219920932475" id="6135434422634395900" nodeInfo="in">
<node role="componentType" roleId="tpee.1219921048460" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422634376277" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422634372102" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="8335224865064895431" resolveInfo="UserConstraint" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422634372103" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634372104" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6135434422634372105" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="6135434422634372106" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="6135434422634372107" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="8335224865064895501" resolveInfo="UserConstraint" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634372108" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634372094" resolveInfo="id" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634397723" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634376039" resolveInfo="args" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="8335224865064895483" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="8335224865064895484" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="isBuiltin" />
@ -1511,7 +1585,7 @@
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="8335224865064895504" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="arg" />
<property name="name" nameId="tpck.1169194664001" value="args" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.VariableArityType" typeId="tpee.1219920932475" id="8335224865064895505" nodeInfo="in">
<node role="componentType" roleId="tpee.1219921048460" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="8335224865064895506" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
@ -1527,7 +1601,7 @@
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8335224865064895502" resolveInfo="id" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="8335224865064895512" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8335224865064895504" resolveInfo="arg" />
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="8335224865064895504" resolveInfo="args" />
</node>
</node>
</node>
@ -2012,5 +2086,256 @@
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="8335224865065801713" nodeInfo="in" />
</node>
</root>
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="6135434422633921345" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="LogicVariable" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422633921530" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="6135434422633926887" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="withName" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422633927254" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="name" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="6135434422633927320" nodeInfo="in" />
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422633927070" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="6135434422633921345" resolveInfo="LogicVariable" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422633926890" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422633926891" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="6135434422634163296" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634163297" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ThrowStatement" typeId="tpee.1164991038168" id="6135434422634164059" nodeInfo="nn">
<node role="throwable" roleId="tpee.1164991057263" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="6135434422634164220" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="6135434422634201795" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~NullPointerException%d&lt;init&gt;()" resolveInfo="NullPointerException" />
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="6135434422634163928" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="6135434422634163962" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634163375" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422633927254" resolveInfo="name" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="6135434422634202180" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="6135434422634202319" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="6135434422634202318" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="6135434422634148232" resolveInfo="LogicVariable" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634202485" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422633927254" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422634144288" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="6135434422634144593" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="withNameAndIndex" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634144740" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="name" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="6135434422634144802" nodeInfo="in" />
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634145643" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="idx" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.IntegerType" typeId="tpee.1070534370425" id="6135434422634145711" nodeInfo="in" />
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422634147111" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="6135434422633921345" resolveInfo="LogicVariable" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422634144596" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634144597" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="6135434422634206447" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634206448" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ThrowStatement" typeId="tpee.1164991038168" id="6135434422634207264" nodeInfo="nn">
<node role="throwable" roleId="tpee.1164991057263" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="6135434422634207341" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="6135434422634208371" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~NullPointerException%d&lt;init&gt;()" resolveInfo="NullPointerException" />
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="6135434422634207025" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="6135434422634207059" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634206472" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634144740" resolveInfo="name" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="6135434422634209709" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634209712" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ThrowStatement" typeId="tpee.1164991038168" id="6135434422634212123" nodeInfo="nn">
<node role="throwable" roleId="tpee.1164991057263" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="6135434422634212200" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="6135434422634213314" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~IllegalArgumentException%d&lt;init&gt;()" resolveInfo="IllegalArgumentException" />
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.LessThanExpression" typeId="tpee.1081506773034" id="6135434422634211758" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634211761" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634145643" resolveInfo="idx" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="6135434422634211760" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="6135434422634214375" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="6135434422634214672" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="6135434422634214617" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="6135434422634148507" resolveInfo="LogicVariable" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634214965" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634144740" resolveInfo="name" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634215423" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634145643" resolveInfo="idx" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422634148122" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.ConstructorDeclaration" typeId="tpee.1068580123140" id="6135434422634148232" nodeInfo="igu">
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634148326" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="name" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="6135434422634148334" nodeInfo="in" />
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="6135434422634148234" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422634148235" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634148236" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6135434422634153371" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="6135434422634153373" nodeInfo="nn">
<node role="lValue" roleId="tpee.1068498886295" type="tpee.DotExpression" typeId="tpee.1197027756228" id="6135434422634153377" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.ThisExpression" typeId="tpee.1070475354124" id="6135434422634153380" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tpee.FieldReferenceOperation" typeId="tpee.1197029447546" id="6135434422634153376" nodeInfo="nn">
<link role="fieldDeclaration" roleId="tpee.1197029500499" targetNodeId="6135434422634153367" resolveInfo="name" />
</node>
</node>
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634153381" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634148326" resolveInfo="name" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6135434422634220831" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="6135434422634223992" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="6135434422634224151" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="-1" />
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.DotExpression" typeId="tpee.1197027756228" id="6135434422634222784" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.ThisExpression" typeId="tpee.1070475354124" id="6135434422634220829" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tpee.FieldReferenceOperation" typeId="tpee.1197029447546" id="6135434422634222916" nodeInfo="nn">
<link role="fieldDeclaration" roleId="tpee.1197029500499" targetNodeId="6135434422634153975" resolveInfo="idx" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422634148621" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.ConstructorDeclaration" typeId="tpee.1068580123140" id="6135434422634148507" nodeInfo="igu">
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634148508" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="name" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="6135434422634148509" nodeInfo="in" />
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422634148708" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="idx" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.IntegerType" typeId="tpee.1070534370425" id="6135434422634148783" nodeInfo="in" />
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="6135434422634148510" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422634148511" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634148512" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6135434422634153669" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="6135434422634153671" nodeInfo="nn">
<node role="lValue" roleId="tpee.1068498886295" type="tpee.DotExpression" typeId="tpee.1197027756228" id="6135434422634153675" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.ThisExpression" typeId="tpee.1070475354124" id="6135434422634153678" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tpee.FieldReferenceOperation" typeId="tpee.1197029447546" id="6135434422634153674" nodeInfo="nn">
<link role="fieldDeclaration" roleId="tpee.1197029500499" targetNodeId="6135434422634153367" resolveInfo="name" />
</node>
</node>
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634153679" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634148508" resolveInfo="name" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6135434422634153979" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="6135434422634153981" nodeInfo="nn">
<node role="lValue" roleId="tpee.1068498886295" type="tpee.DotExpression" typeId="tpee.1197027756228" id="6135434422634153985" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.ThisExpression" typeId="tpee.1070475354124" id="6135434422634153988" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tpee.FieldReferenceOperation" typeId="tpee.1197029447546" id="6135434422634153984" nodeInfo="nn">
<link role="fieldDeclaration" roleId="tpee.1197029500499" targetNodeId="6135434422634153975" resolveInfo="idx" />
</node>
</node>
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634153989" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634148708" resolveInfo="idx" />
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422633928421" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="6135434422634157119" nodeInfo="igu">
<property name="isAbstract" nameId="tpee.1178608670077" value="false" />
<property name="name" nameId="tpck.1169194664001" value="toString" />
<property name="isFinal" nameId="tpee.1181808852946" value="false" />
<property name="isDeprecated" nameId="tpee.1224848525476" value="false" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422634157120" nodeInfo="nn" />
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422634157122" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~String" resolveInfo="String" />
</node>
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634157123" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="6135434422634157946" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422634157947" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="6135434422634250689" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="6135434422634263871" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634265164" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634153975" resolveInfo="idx" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="6135434422634253210" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634251957" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634153367" resolveInfo="name" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="6135434422634253222" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="_" />
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.GreaterThanOrEqualsExpression" typeId="tpee.1153417849900" id="6135434422634249805" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="6135434422634250184" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634158027" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634153975" resolveInfo="idx" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="6135434422634270965" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.VariableReference" typeId="tpee.1068498886296" id="6135434422634270966" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="6135434422634153367" resolveInfo="name" />
</node>
</node>
</node>
<node role="annotation" roleId="tpee.1188208488637" type="tpee.AnnotationInstance" typeId="tpee.1188207840427" id="6135434422634157124" nodeInfo="nn">
<link role="annotation" roleId="tpee.1188208074048" targetNodeId="e2lb.~Override" resolveInfo="Override" />
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422633928430" nodeInfo="ngu" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422633921346" nodeInfo="nn" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.FieldDeclaration" typeId="tpee.1068390468200" id="6135434422634153367" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="name" />
<property name="isFinal" nameId="tpee.1176718929932" value="true" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PrivateVisibility" typeId="tpee.1146644623116" id="6135434422634153368" nodeInfo="nn" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="6135434422634153370" nodeInfo="in" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.FieldDeclaration" typeId="tpee.1068390468200" id="6135434422634153975" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="idx" />
<property name="isFinal" nameId="tpee.1176718929932" value="true" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PrivateVisibility" typeId="tpee.1146644623116" id="6135434422634153976" nodeInfo="nn" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.IntegerType" typeId="tpee.1070534370425" id="6135434422634153978" nodeInfo="in" />
</node>
</root>
</model>

View File

@ -0,0 +1,536 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:7e0616dc-e55e-4c35-beca-da14b0c8f8bd(jetbrains.mps.lang.typesystem2.runtime.template)">
<persistence version="8" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
<devkit namespace="2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)" />
<import index="nc4n" modelUID="r:2a1eb048-898c-47a3-863b-36b04c4b9f7c(jetbrains.mps.lang.typesystem2.runtime.rule)" 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="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="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="ec5l" modelUID="f:java_stub#8865b7a8-5271-43d3-884c-6fd1d9cfdd34#org.jetbrains.mps.openapi.model(MPS.OpenAPI/org.jetbrains.mps.openapi.model@java_stub)" version="-1" implicit="yes" />
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="6135434422633732177" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="RuleTemplate" />
<property name="abstractClass" nameId="tpee.1075300953594" value="true" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422633732420" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="6135434422633795474" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="applicableConcept" />
<property name="isAbstract" nameId="tpee.1178608670077" value="true" />
<node role="returnType" roleId="tpee.1068580123133" type="tp25.SConceptType" typeId="tp25.1172420572800" id="6135434422633796878" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422633795478" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422633795479" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="7340198212828433466" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="7340198212828477164" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="includeSuperConcepts" />
<property name="isAbstract" nameId="tpee.1178608670077" value="true" />
<node role="returnType" roleId="tpee.1068580123133" type="tp2q.SequenceType" typeId="tp2q.1151689724996" id="7340198212828478084" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151689745422" type="tp25.SConceptType" typeId="tp25.1172420572800" id="7340198212828478204" nodeInfo="in" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7340198212828477167" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212828477168" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422633795229" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="6135434422633781378" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="isApplicable" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422633781799" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="input" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="6135434422633788971" nodeInfo="in" />
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.BooleanType" typeId="tpee.1070534644030" id="6135434422633789231" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422633781381" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422633781382" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="6135434422633789305" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.BooleanConstant" typeId="tpee.1068580123137" id="6135434422633789304" nodeInfo="nn">
<property name="value" nameId="tpee.1068580123138" value="true" />
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422633781196" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="6135434422633751593" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="apply" />
<property name="isAbstract" nameId="tpee.1178608670077" value="true" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422633780600" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="input" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="6135434422633780754" nodeInfo="in" />
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="6135434422633775857" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="builder" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="6135434422633776063" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="nc4n.8335224865064895129" resolveInfo="RuleBuilder" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="6135434422633751595" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422633751596" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="6135434422633751597" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="6135434422633747154" nodeInfo="ngu" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="6135434422633732178" nodeInfo="nn" />
</root>
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="7340198212830756300" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="AnchorUtil" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="7340198212830761771" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="7340198212830761637" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="asAnchor" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212830761638" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="node" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="7340198212830762003" nodeInfo="in" />
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212830761640" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7340198212830761641" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212830761642" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212830808369" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.TernaryOperatorExpression" typeId="tpee.1163668896201" id="7340198212830808790" nodeInfo="nn">
<node role="ifFalse" roleId="tpee.1163668934364" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7340198212830810215" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="null" />
</node>
<node role="condition" roleId="tpee.1163668914799" type="tpee.NotEqualsExpression" typeId="tpee.1073239437375" id="7340198212830808506" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="7340198212830808695" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830808367" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830761638" resolveInfo="node" />
</node>
</node>
<node role="ifTrue" roleId="tpee.1163668922816" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212830809885" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~String%dvalueOf(java%dlang%dObject)%cjava%dlang%dString" resolveInfo="valueOf" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="e2lb.~String" resolveInfo="String" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212830809886" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tp25.SemanticDowncastExpression" typeId="tp25.1145404486709" id="7340198212830809887" nodeInfo="nn">
<node role="leftExpression" roleId="tp25.1145404616321" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830809888" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830761638" resolveInfo="node" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7340198212830809889" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ec5l.~SNode%dgetNodeId()%corg%djetbrains%dmps%dopenapi%dmodel%dSNodeId" resolveInfo="getNodeId" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7340198212830756301" nodeInfo="nn" />
</root>
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="7340198212831139254" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="CustomConstraints" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="7340198212831140189" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="7340198212831140255" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="type" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831140385" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="anchor1" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831140505" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831140586" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="anchor2" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831140654" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831140729" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="args" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.VariableArityType" typeId="tpee.1219920932475" id="7340198212831141216" nodeInfo="in">
<node role="componentType" roleId="tpee.1219921048460" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831141197" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831229311" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="nc4n.8335224865064895431" resolveInfo="UserConstraint" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7340198212831140258" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212831140259" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831182081" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212831182255" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.6135434422634372093" resolveInfo="nary" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="nc4n.8335224865064895431" resolveInfo="UserConstraint" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7340198212831182361" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="type" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.LocalMethodCall" typeId="tpee.7812454656619025412" id="7340198212831182892" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="7340198212831153397" resolveInfo="toSingleArray" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831183396" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831140385" resolveInfo="anchor1" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831184305" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831140586" resolveInfo="anchor2" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831184988" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831140729" resolveInfo="args" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="7340198212831151741" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="7340198212831153397" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="toSingleArray" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831153972" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="head" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831153984" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831154181" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="tail" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.VariableArityType" typeId="tpee.1219920932475" id="7340198212831154328" nodeInfo="in">
<node role="componentType" roleId="tpee.1219921048460" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831154249" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7340198212831153717" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831153714" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PrivateVisibility" typeId="tpee.1146644623116" id="7340198212831180691" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212831153401" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212831160832" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212831160833" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="array" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7340198212831160816" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831160819" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7340198212831160834" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ArrayCreator" typeId="tpee.1184950988562" id="7340198212831160835" nodeInfo="nn">
<node role="dimensionExpression" roleId="tpee.1184952969026" type="tpee.DimensionExpression" typeId="tpee.1184952934362" id="7340198212831160836" nodeInfo="nn">
<node role="expression" roleId="tpee.1184953288404" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="7340198212831160837" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831160838" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831160839" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831160840" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831154181" resolveInfo="tail" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.ArrayLengthOperation" typeId="tpee.1208890769693" id="7340198212831160841" nodeInfo="nn" />
</node>
</node>
</node>
<node role="componentType" roleId="tpee.1184951007469" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831160842" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831155001" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212831162248" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831162304" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831153972" resolveInfo="head" />
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212831161966" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831162100" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831160843" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831160833" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831162550" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212831163792" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~System%darraycopy(java%dlang%dObject,int,java%dlang%dObject,int,int)%cvoid" resolveInfo="arraycopy" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="e2lb.~System" resolveInfo="System" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831165301" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831154181" resolveInfo="tail" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831165608" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831165937" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831160833" resolveInfo="array" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831166287" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831166976" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831166715" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831154181" resolveInfo="tail" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.ArrayLengthOperation" typeId="tpee.1208890769693" id="7340198212831167899" nodeInfo="nn" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831168447" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831168445" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831160833" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="7340198212831171104" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="7340198212831169644" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="toSingleArray" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831169645" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="head" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831169646" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831171438" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="head2" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831171694" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831169647" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="tail" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.VariableArityType" typeId="tpee.1219920932475" id="7340198212831169648" nodeInfo="in">
<node role="componentType" roleId="tpee.1219921048460" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831169649" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7340198212831169650" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831169651" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PrivateVisibility" typeId="tpee.1146644623116" id="7340198212831181036" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212831169653" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212831169654" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212831169655" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="array" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7340198212831169656" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831169657" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7340198212831169658" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ArrayCreator" typeId="tpee.1184950988562" id="7340198212831169659" nodeInfo="nn">
<node role="dimensionExpression" roleId="tpee.1184952969026" type="tpee.DimensionExpression" typeId="tpee.1184952934362" id="7340198212831169660" nodeInfo="nn">
<node role="expression" roleId="tpee.1184953288404" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="7340198212831169661" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831169662" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="2" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831169663" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831169664" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831169647" resolveInfo="tail" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.ArrayLengthOperation" typeId="tpee.1208890769693" id="7340198212831169665" nodeInfo="nn" />
</node>
</node>
</node>
<node role="componentType" roleId="tpee.1184951007469" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831169666" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831169667" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212831169668" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831169669" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831169645" resolveInfo="head" />
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212831169670" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831169671" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831169672" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831169655" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831173055" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212831173056" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831173654" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831171438" resolveInfo="head2" />
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212831173058" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831173059" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831173060" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831169655" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831169673" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212831169674" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~System%darraycopy(java%dlang%dObject,int,java%dlang%dObject,int,int)%cvoid" resolveInfo="arraycopy" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="e2lb.~System" resolveInfo="System" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831169675" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831169647" resolveInfo="tail" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831169676" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831169677" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831169655" resolveInfo="array" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831169678" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="2" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831169679" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831169680" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831169647" resolveInfo="tail" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.ArrayLengthOperation" typeId="tpee.1208890769693" id="7340198212831169681" nodeInfo="nn" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831169682" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831169683" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831169655" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="7340198212831176254" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="7340198212831174566" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="toSingleArray" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831174567" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="head" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831174568" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831174569" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="head2" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831174570" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831177986" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="head3" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831177987" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212831174571" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="tail" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.VariableArityType" typeId="tpee.1219920932475" id="7340198212831174572" nodeInfo="in">
<node role="componentType" roleId="tpee.1219921048460" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831174573" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7340198212831174574" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831174575" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PrivateVisibility" typeId="tpee.1146644623116" id="7340198212831181336" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212831174577" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212831174578" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212831174579" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="array" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7340198212831174580" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831174581" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7340198212831174582" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ArrayCreator" typeId="tpee.1184950988562" id="7340198212831174583" nodeInfo="nn">
<node role="dimensionExpression" roleId="tpee.1184952969026" type="tpee.DimensionExpression" typeId="tpee.1184952934362" id="7340198212831174584" nodeInfo="nn">
<node role="expression" roleId="tpee.1184953288404" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="7340198212831174585" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831174586" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="3" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831174587" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174588" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174571" resolveInfo="tail" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.ArrayLengthOperation" typeId="tpee.1208890769693" id="7340198212831174589" nodeInfo="nn" />
</node>
</node>
</node>
<node role="componentType" roleId="tpee.1184951007469" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831174590" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831174591" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212831174592" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174593" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174567" resolveInfo="head" />
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212831174594" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831174595" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174596" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174579" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831174597" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212831174598" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174599" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174569" resolveInfo="head2" />
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212831174600" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831174601" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174602" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174579" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831179333" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212831179334" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831179744" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831177986" resolveInfo="head3" />
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212831179336" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831179337" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="2" />
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831179338" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174579" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831174603" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212831174604" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~System%darraycopy(java%dlang%dObject,int,java%dlang%dObject,int,int)%cvoid" resolveInfo="arraycopy" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="e2lb.~System" resolveInfo="System" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174605" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174571" resolveInfo="tail" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831174606" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174607" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174579" resolveInfo="array" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831174608" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="3" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831174609" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174610" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174571" resolveInfo="tail" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.ArrayLengthOperation" typeId="tpee.1208890769693" id="7340198212831174611" nodeInfo="nn" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831174612" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831174613" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831174579" resolveInfo="array" />
</node>
</node>
</node>
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7340198212831139255" nodeInfo="nn" />
</root>
</model>

View File

@ -7,7 +7,9 @@
</models>
<sourcePath />
<dependencies>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</dependency>
<dependency reexport="true">26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.typesystem2.runtime)</dependency>
<dependency reexport="false">9a4afe51-f114-4595-b5df-048ce3c596be(jetbrains.mps.runtime)</dependency>
</dependencies>
<usedLanguages>
@ -19,5 +21,8 @@
<usedLanguage>c4803b19-6d89-4a3b-bf82-390769514add(jetbrains.mps.lang.typesystem2)</usedLanguage>
<usedLanguage>35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)</usedLanguage>
</usedLanguages>
<usedDevKits>
<usedDevKit>2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)</usedDevKit>
</usedDevKits>
</solution>

View File

@ -932,14 +932,17 @@
<node role="statement" roleId="tpee.1068581517665" type="wq2x.EmitConstraintStatement" typeId="wq2x.7368070394766978092" id="3717122880448915393" nodeInfo="ng">
<node role="constraint" roleId="wq2x.7368070394767031348" type="wq2x.NewTypeConstraint" typeId="wq2x.8335224865066016385" id="3717122880448915801" nodeInfo="ng">
<node role="anchor" roleId="wq2x.7368070394768653124" type="wq2x.LogicValue" typeId="wq2x.7368070394768985089" id="3717122880448915805" nodeInfo="ng">
<node role="code" roleId="wq2x.7368070394768985507" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7840802663735810701" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7840802663735808881" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3717122880448919703" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3717122880448892404" resolveInfo="type" />
<node role="code" roleId="wq2x.7368070394768985507" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831260736" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7840802663735810701" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7840802663735808881" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3717122880448919703" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3717122880448892404" resolveInfo="type" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetReferencesOperation" typeId="tp25.8758390115028452779" id="7840802663735809763" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetReferencesOperation" typeId="tp25.8758390115028452779" id="7840802663735809763" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetFirstOperation" typeId="tp2q.1165525191778" id="7840802663735812530" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetFirstOperation" typeId="tp2q.1165525191778" id="7840802663735812530" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Reference_GetTargetOperation" typeId="tp25.4124388153790980106" id="7340198212831262163" nodeInfo="nn" />
</node>
</node>
<node role="argument" roleId="wq2x.7368070394768755905" type="wq2x.LogicVariableReference" typeId="wq2x.7840802663736276860" id="7840802663736395669" nodeInfo="ng">
@ -977,7 +980,7 @@
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3717122880448887283" resolveInfo="typeWalker" />
</node>
<node role="parameter" roleId="tp2c.1235747002942" type="wq2x.LogicExpressionWrapper" typeId="wq2x.7368070394771082804" id="7840802663736771524" nodeInfo="ng">
<node role="expression" roleId="wq2x.7368070394771104782" type="wq2x.LogicVariableReference" typeId="wq2x.7840802663736276860" id="7840802663736771525" nodeInfo="ng">
<node role="expression" roleId="wq2x.7368070394771104782" type="wq2x.LogicVariableReference" typeId="wq2x.7840802663736276860" id="4992889260816670786" nodeInfo="ng">
<link role="declaration" roleId="wq2x.3063948360253976409" targetNodeId="3063948360256754557" resolveInfo="P" />
</node>
</node>
@ -993,10 +996,12 @@
</node>
</node>
</node>
<node role="applicableSuper" roleId="wq2x.4992889260813147381" type="wq2x.SuperSelector" typeId="wq2x.4992889260812954754" id="4992889260816593392" nodeInfo="ng" />
</node>
<node role="rule" roleId="wq2x.7368070394767441299" type="wq2x.Rule" typeId="wq2x.8335224865066016388" id="3063948360252711122" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="methodDeclaration" />
<link role="applicableConcept" roleId="wq2x.8335224865066016395" targetNodeId="tpee.1068580123165" resolveInfo="InstanceMethodDeclaration" />
<node role="applicableSuper" roleId="wq2x.4992889260813147381" type="wq2x.SuperSelector" typeId="wq2x.4992889260812954754" id="7340198212831858746" nodeInfo="ng" />
<node role="parameter" roleId="wq2x.7368070394769105389" type="wq2x.RuleParameterDeclaration" typeId="wq2x.7368070394769089081" id="3063948360252711123" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="imd" />
</node>

View File

@ -0,0 +1,590 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:fce0252c-0765-4ee2-a00c-80dfd47d2d03(jetbrains.mps.lang.typesystem2.sandbox.template)">
<persistence version="8" />
<language namespace="c4803b19-6d89-4a3b-bf82-390769514add(jetbrains.mps.lang.typesystem2)" />
<devkit namespace="2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
<import index="qiww" modelUID="r:7e0616dc-e55e-4c35-beca-da14b0c8f8bd(jetbrains.mps.lang.typesystem2.runtime.template)" version="-1" />
<import index="nc4n" modelUID="r:2a1eb048-898c-47a3-863b-36b04c4b9f7c(jetbrains.mps.lang.typesystem2.runtime.rule)" version="-1" />
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" />
<import index="qoa9" modelUID="r:dba3d2d4-97f1-42c8-b8ff-d7210906a24c(jetbrains.mps.lang.typesystem2.sandbox)" version="-1" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" 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="wq2x" modelUID="r:83137295-aa87-45e8-b0c0-ede2adf2a396(jetbrains.mps.lang.typesystem2.structure)" version="-1" implicit="yes" />
<import index="tp2c" modelUID="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" version="3" implicit="yes" />
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="4992889260812803191" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="SampleTemplate" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4992889260812803192" nodeInfo="nn" />
<node role="superclass" roleId="tpee.1165602531693" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4992889260812861421" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="qiww.6135434422633732177" resolveInfo="RuleTemplate" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4992889260812866878" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="4992889260812863980" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="applicableConcept" />
<property name="isAbstract" nameId="tpee.1178608670077" value="false" />
<node role="returnType" roleId="tpee.1068580123133" type="tp25.SConceptType" typeId="tp25.1172420572800" id="4992889260812863981" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4992889260812863982" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4992889260812863984" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="4992889260812868281" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="4992889260812868280" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="tpee.1068498886292" resolveInfo="ParameterDeclaration" />
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="7340198212830525313" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="includeSuperConcepts" />
<property name="isAbstract" nameId="tpee.1178608670077" value="false" />
<node role="returnType" roleId="tpee.1068580123133" type="tp2q.SequenceType" typeId="tp2q.1151689724996" id="7340198212830525314" nodeInfo="in">
<node role="elementType" roleId="tp2q.1151689745422" type="tp25.SConceptType" typeId="tp25.1172420572800" id="7340198212830525315" nodeInfo="in" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="7340198212830525316" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212830525318" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212830526212" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7340198212830526210" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tp2q.SingletonSequenceCreator" typeId="tp2q.1235573135402" id="7340198212830537876" nodeInfo="nn">
<node role="elementType" roleId="tp2q.1235573175711" type="tp25.SConceptType" typeId="tp25.1172420572800" id="7340198212830538041" nodeInfo="in" />
<node role="singletonValue" roleId="tp2q.1235573187520" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="7340198212830538214" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="tpee.1068431474542" resolveInfo="VariableDeclaration" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4992889260812866645" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="4992889260812863985" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="apply" />
<property name="isAbstract" nameId="tpee.1178608670077" value="false" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4992889260812863986" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="pd" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="4992889260812863987" nodeInfo="in">
<link role="concept" roleId="tp25.1138405853777" targetNodeId="tpee.1068498886292" resolveInfo="ParameterDeclaration" />
</node>
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4992889260812863988" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="builder" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4992889260812872874" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="nc4n.8335224865064895129" resolveInfo="RuleBuilder" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="4992889260812863990" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4992889260812863991" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4992889260812863993" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7340198212830880415" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7340198212830839542" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7340198212830840634" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="head kept" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="3717122880448760403" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="3717122880448760404" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="tvrs1" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeListType" typeId="tp25.1145383075378" id="3717122880448760399" nodeInfo="in">
<link role="elementConcept" roleId="tp25.1145383142433" targetNodeId="tpee.1109283449304" resolveInfo="TypeVariableReference" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3717122880448760405" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3717122880448760406" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831762026" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812863986" resolveInfo="pd" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="7340198212831776335" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="tpee.5680397130376446158" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetDescendantsOperation" typeId="tp25.1171305280644" id="3717122880448760409" nodeInfo="nn">
<node role="parameter" roleId="tp25.1144104376918" type="tp25.OperationParm_Concept" typeId="tp25.1144101972840" id="3717122880448760410" nodeInfo="ng">
<node role="conceptArgument" roleId="tp25.1207343664468" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3717122880448760411" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="tpee.1109283449304" resolveInfo="TypeVariableReference" />
</node>
</node>
<node role="parameter" roleId="tp25.1144104376918" type="tp25.OperationParm_Inclusion" typeId="tp25.1144100932627" id="7840802663737793877" nodeInfo="ng" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212830597708" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212830597709" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="$_T" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7340198212830598369" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212830597710" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="nc4n.6135434422633921345" resolveInfo="LogicVariable" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7340198212830598750" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ArrayCreator" typeId="tpee.1184950988562" id="7340198212830598748" nodeInfo="nn">
<node role="dimensionExpression" roleId="tpee.1184952969026" type="tpee.DimensionExpression" typeId="tpee.1184952934362" id="7340198212830598869" nodeInfo="nn">
<node role="expression" roleId="tpee.1184953288404" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212830604065" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830599050" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3717122880448760404" resolveInfo="tvrs1" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetSizeOperation" typeId="tp2q.1162935959151" id="7340198212830628301" nodeInfo="nn" />
</node>
</node>
<node role="componentType" roleId="tpee.1184951007469" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212830598749" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="nc4n.6135434422633921345" resolveInfo="LogicVariable" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ForStatement" typeId="tpee.1144231330558" id="7340198212830628822" nodeInfo="nn">
<node role="body" roleId="tpee.1154032183016" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212830628825" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212830681942" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212830682217" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7340198212830682379" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="7340198212830683165" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.6135434422634148232" resolveInfo="LogicVariable" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="7340198212830684390" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830684768" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830628828" resolveInfo="$_i" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7340198212830683337" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="T_" />
</node>
</node>
</node>
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212830681971" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830682043" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830628828" resolveInfo="$_i" />
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830681941" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830597709" resolveInfo="$_T" />
</node>
</node>
</node>
</node>
</node>
<node role="variable" roleId="tpee.1144230900587" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212830628828" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="$_i" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.IntegerType" typeId="tpee.1070534370425" id="7340198212830629197" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212830629353" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
<node role="condition" roleId="tpee.1144231399730" type="tpee.LessThanExpression" typeId="tpee.1081506773034" id="7340198212830634845" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212830653933" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830635913" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3717122880448760404" resolveInfo="tvrs1" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetSizeOperation" typeId="tp2q.1162935959151" id="7340198212830678109" nodeInfo="nn" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830631825" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830628828" resolveInfo="$_i" />
</node>
</node>
<node role="iteration" roleId="tpee.1144231408325" type="tpee.PostfixIncrementExpression" typeId="tpee.1214918800624" id="7340198212830681399" nodeInfo="nn">
<node role="expression" roleId="tpee.1239714902950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830681401" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830628828" resolveInfo="$_i" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7340198212830588859" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212830697764" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212830697767" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="i1" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.IntegerType" typeId="tpee.1070534370425" id="7340198212830697762" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212830698375" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ForeachStatement" typeId="tpee.1144226303539" id="7340198212830704504" nodeInfo="nn">
<node role="body" roleId="tpee.1154032183016" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212830704505" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212830824667" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212830825236" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830824665" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812863988" resolveInfo="builder" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7340198212830826320" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.8335224865064895223" resolveInfo="appendHeadKept" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212830826695" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="nc4n.8335224865064895431" resolveInfo="UserConstraint" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.6135434422634372093" resolveInfo="nary" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7340198212830826696" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="type" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212830826697" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.PostfixIncrementExpression" typeId="tpee.1214918800624" id="7340198212830826698" nodeInfo="nn">
<node role="expression" roleId="tpee.1239714902950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830826699" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830697767" resolveInfo="i1" />
</node>
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830826700" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830597709" resolveInfo="$_T" />
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212830826701" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="qiww.7340198212830761637" resolveInfo="asAnchor" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="qiww.7340198212830756300" resolveInfo="AnchorUtil" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="7340198212830826702" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="tpee.1109283449304" resolveInfo="TypeVariableReference" />
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212830826703" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="qiww.7340198212830761637" resolveInfo="asAnchor" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="qiww.7340198212830756300" resolveInfo="AnchorUtil" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212830826704" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830826705" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830704508" resolveInfo="tvr" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="7340198212830826706" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="tpee.1109283546497" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="variable" roleId="tpee.1144230900587" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212830704508" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="tvr" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="7340198212830711516" nodeInfo="in">
<link role="concept" roleId="tp25.1138405853777" targetNodeId="tpee.1109283449304" resolveInfo="TypeVariableReference" />
</node>
</node>
<node role="iterable" roleId="tpee.1144226360166" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830704513" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3717122880448760404" resolveInfo="tvrs1" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7340198212830879090" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7340198212830841537" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7340198212830842576" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="head replaced" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="4992889260812879141" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="4992889260812879142" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="$_P" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4992889260812879139" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="nc4n.6135434422633921345" resolveInfo="LogicVariable" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="4992889260812879143" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.6135434422633926887" resolveInfo="withName" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="nc4n.6135434422633921345" resolveInfo="LogicVariable" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="4992889260812879144" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="P" />
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212830845573" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212830846658" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830845571" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812863988" resolveInfo="builder" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7340198212830848489" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.8335224865064895194" resolveInfo="appendHeadReplaced" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212830848705" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="nc4n.8335224865064895431" resolveInfo="UserConstraint" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.8335224865064895447" resolveInfo="binary" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7340198212830848706" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="typedecl" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830848707" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812879142" resolveInfo="$_P" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212830850780" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="qiww.7340198212830761637" resolveInfo="asAnchor" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="qiww.7340198212830756300" resolveInfo="AnchorUtil" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830851186" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812863986" resolveInfo="pd" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7340198212830588432" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7340198212830874161" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7340198212830875429" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="guard" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7340198212831389714" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="7340198212830877711" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="7340198212830881913" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="body" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212830883466" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212830883469" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="i3" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.IntegerType" typeId="tpee.1070534370425" id="7340198212830883464" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212830884871" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212830891716" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212830891719" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="typeWalker3" />
<node role="type" roleId="tpee.5680397130376446158" type="tp2c.FunctionType" typeId="tp2c.1199542442495" id="7340198212830891712" nodeInfo="in">
<node role="parameterType" roleId="tp2c.1199542501692" type="wq2x.LogicVariableType" typeId="wq2x.7840802663736166753" id="7340198212830893200" nodeInfo="ig" />
<node role="parameterType" roleId="tp2c.1199542501692" type="tp25.SNodeType" typeId="tp25.1138055754698" id="7340198212830893364" nodeInfo="in" />
<node role="resultType" roleId="tp2c.1199542457201" type="tpee.VoidType" typeId="tpee.1068581517677" id="7340198212830893450" nodeInfo="in" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212830901494" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212830903211" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="7340198212830904447" nodeInfo="nn">
<node role="parameter" roleId="tp2c.1199569906740" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212830905778" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="var3" />
<node role="type" roleId="tpee.5680397130376446158" type="wq2x.LogicVariableType" typeId="wq2x.7840802663736166753" id="7340198212830906143" nodeInfo="ig" />
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="7340198212830907010" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="type3" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="7340198212830907507" nodeInfo="in" />
</node>
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212830904449" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="7340198212830908660" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212830908661" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212830911147" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212830911426" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830911146" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812863988" resolveInfo="builder" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7340198212830915889" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.8335224865064895136" resolveInfo="appendBody" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212830917606" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.8335224865064894929" resolveInfo="binary" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="nc4n.8335224865064894913" resolveInfo="BuiltinConstraint" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7340198212830918585" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="=" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830926204" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830905778" resolveInfo="var3" />
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212830922486" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.PostfixIncrementExpression" typeId="tpee.1214918800624" id="7340198212830925112" nodeInfo="nn">
<node role="expression" roleId="tpee.1239714902950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830925114" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830883469" resolveInfo="i3" />
</node>
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830921701" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830597709" resolveInfo="$_T" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212830909374" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830909093" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830907010" resolveInfo="type3" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsInstanceOfOperation" typeId="tp25.1139621453865" id="7340198212830909950" nodeInfo="nn">
<node role="conceptArgument" roleId="tp25.1177027386292" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="7340198212830910425" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="tpee.1109283449304" resolveInfo="TypeVariableReference" />
</node>
</node>
</node>
<node role="ifFalseStatement" roleId="tpee.1082485599094" type="tpee.BlockStatement" typeId="tpee.1082485599095" id="7340198212830940559" nodeInfo="nn">
<node role="statements" roleId="tpee.1082485599096" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212830940560" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212830941596" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212830941599" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="j3" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.IntegerType" typeId="tpee.1070534370425" id="7340198212830941595" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212830944320" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="1" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="7340198212830947254" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212830947255" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="$_SP" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ArrayType" typeId="tpee.1070534760951" id="7340198212830951692" nodeInfo="in">
<node role="componentType" roleId="tpee.1070534760952" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212830947256" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="nc4n.6135434422633921345" resolveInfo="LogicVariable" />
</node>
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7340198212831021496" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ArrayCreator" typeId="tpee.1184950988562" id="7340198212831021386" nodeInfo="nn">
<node role="dimensionExpression" roleId="tpee.1184952969026" type="tpee.DimensionExpression" typeId="tpee.1184952934362" id="7340198212831022491" nodeInfo="nn">
<node role="expression" roleId="tpee.1184953288404" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831033681" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831024539" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831023727" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830907010" resolveInfo="type3" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetChildrenOperation" typeId="tp25.1171500988903" id="7340198212831025701" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetSizeOperation" typeId="tp2q.1162935959151" id="7340198212831045175" nodeInfo="nn" />
</node>
</node>
<node role="componentType" roleId="tpee.1184951007469" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="7340198212831021387" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="nc4n.6135434422633921345" resolveInfo="LogicVariable" />
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ForStatement" typeId="tpee.1144231330558" id="7340198212831047996" nodeInfo="nn">
<node role="body" roleId="tpee.1154032183016" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212831047997" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831047998" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.AssignmentExpression" typeId="tpee.1068498886294" id="7340198212831047999" nodeInfo="nn">
<node role="rValue" roleId="tpee.1068498886297" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="7340198212831048000" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ClassCreator" typeId="tpee.1212685548494" id="7340198212831048001" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.6135434422634148232" resolveInfo="LogicVariable" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="7340198212831048002" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831048003" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831048008" resolveInfo="$_i" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7340198212831048004" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="SP_" />
</node>
</node>
</node>
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212831048005" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831048006" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831048008" resolveInfo="$_i" />
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831049776" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830947255" resolveInfo="$_SP" />
</node>
</node>
</node>
</node>
</node>
<node role="variable" roleId="tpee.1144230900587" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212831048008" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="$_i" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.IntegerType" typeId="tpee.1070534370425" id="7340198212831048009" nodeInfo="in" />
<node role="initializer" roleId="tpee.1068431790190" type="tpee.IntegerConstant" typeId="tpee.1068580320020" id="7340198212831048010" nodeInfo="nn">
<property name="value" nameId="tpee.1068580320021" value="0" />
</node>
</node>
<node role="condition" roleId="tpee.1144231399730" type="tpee.LessThanExpression" typeId="tpee.1081506773034" id="7340198212831048011" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831048015" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831048008" resolveInfo="$_i" />
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831051526" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831051527" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831051528" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830907010" resolveInfo="type3" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetChildrenOperation" typeId="tp25.1171500988903" id="7340198212831051529" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetSizeOperation" typeId="tp2q.1162935959151" id="7340198212831051530" nodeInfo="nn" />
</node>
</node>
<node role="iteration" roleId="tpee.1144231408325" type="tpee.PostfixIncrementExpression" typeId="tpee.1214918800624" id="7340198212831048016" nodeInfo="nn">
<node role="expression" roleId="tpee.1239714902950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831048017" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831048008" resolveInfo="$_i" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ForeachStatement" typeId="tpee.1144226303539" id="7340198212831064389" nodeInfo="nn">
<node role="body" roleId="tpee.1154032183016" type="tpee.StatementList" typeId="tpee.1068580123136" id="7340198212831064390" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831069343" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp2c.CompactInvokeFunctionExpression" typeId="tp2c.1235746970280" id="7340198212831071193" nodeInfo="nn">
<node role="function" roleId="tp2c.1235746996653" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831071194" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830891719" resolveInfo="typeWalker3" />
</node>
<node role="parameter" roleId="tp2c.1235747002942" type="tpee.ArrayAccessExpression" typeId="tpee.1173175405605" id="7340198212831074520" nodeInfo="nn">
<node role="index" roleId="tpee.1173175577737" type="tpee.PostfixIncrementExpression" typeId="tpee.1214918800624" id="7340198212831078516" nodeInfo="nn">
<node role="expression" roleId="tpee.1239714902950" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831078518" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830941599" resolveInfo="j3" />
</node>
</node>
<node role="array" roleId="tpee.1173175590490" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831072923" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830947255" resolveInfo="$_SP" />
</node>
</node>
<node role="parameter" roleId="tp2c.1235747002942" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831081878" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212831064393" resolveInfo="ch" />
</node>
</node>
</node>
</node>
<node role="variable" roleId="tpee.1144230900587" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="7340198212831064393" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="ch" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="7340198212831064397" nodeInfo="in" />
</node>
<node role="iterable" roleId="tpee.1144226360166" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831064398" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831064399" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830907010" resolveInfo="type3" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetChildrenOperation" typeId="tp25.1171500988903" id="7340198212831064400" nodeInfo="nn" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7340198212831046367" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831088162" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831089698" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831088160" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812863988" resolveInfo="builder" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="7340198212831092545" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="nc4n.8335224865064895136" resolveInfo="appendBody" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212831197409" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="qiww.7340198212831140255" resolveInfo="type" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="qiww.7340198212831139254" resolveInfo="CustomConstraints" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212831107359" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="qiww.7340198212830761637" resolveInfo="asAnchor" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="qiww.7340198212830756300" resolveInfo="AnchorUtil" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831111141" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831109427" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830907010" resolveInfo="type3" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetConceptOperation" typeId="tp25.1172323065820" id="7340198212831113916" nodeInfo="nn" />
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7340198212831205606" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="qiww.7340198212830761637" resolveInfo="asAnchor" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="qiww.7340198212830756300" resolveInfo="AnchorUtil" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831270172" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831215639" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831210385" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831208804" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830907010" resolveInfo="type3" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetReferencesOperation" typeId="tp25.8758390115028452779" id="7340198212831212854" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetFirstOperation" typeId="tp2q.1165525191778" id="7340198212831219332" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Reference_GetTargetOperation" typeId="tp25.4124388153790980106" id="7340198212831271724" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7340198212831273169" nodeInfo="nn" />
</node>
</node>
<node role="lValue" roleId="tpee.1068498886295" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212830901492" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830891719" resolveInfo="typeWalker3" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="7340198212830588459" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7340198212831276231" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tp2c.CompactInvokeFunctionExpression" typeId="tp2c.1235746970280" id="7340198212831278027" nodeInfo="nn">
<node role="function" roleId="tp2c.1235746996653" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831278028" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="7340198212830891719" resolveInfo="typeWalker3" />
</node>
<node role="parameter" roleId="tp2c.1235747002942" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831279214" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812879142" resolveInfo="$_P" />
</node>
<node role="parameter" roleId="tp2c.1235747002942" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7340198212831282496" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="7340198212831777022" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="4992889260812863986" resolveInfo="pd" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="7340198212831287862" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="tpee.5680397130376446158" />
</node>
</node>
</node>
</node>
</node>
</node>
</root>
</model>