Patch JCHR to avoid problems with accessing package local fields of Tuple's superclass

This commit is contained in:
Fedor Isakov 2015-03-29 20:53:48 +02:00
parent 85d1746ea5
commit b4bfb30102
9 changed files with 6460 additions and 5311 deletions

View File

@ -20,6 +20,7 @@
<usedLanguages>
<usedLanguage>df345b11-b8c7-4213-ac66-48d2a9b75d88(jetbrains.mps.baseLanguageInternal)</usedLanguage>
<usedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</usedLanguage>
<usedLanguage>f2801650-65d5-424e-bb1b-463a8781b786(jetbrains.mps.baseLanguage.javadoc)</usedLanguage>
</usedLanguages>
<usedDevKits>
<usedDevKit>fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)</usedDevKit>

View File

@ -0,0 +1,298 @@
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:4705c47f-1f99-4034-8b4c-899c3c0ef2b5(compiler.codeGeneration)">
<persistence version="9" />
<languages>
<use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="-1" />
<use id="f2801650-65d5-424e-bb1b-463a8781b786" name="jetbrains.mps.baseLanguage.javadoc" version="1" />
</languages>
<imports>
<import index="e2lb" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" />
<import index="fxg7" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.io(JDK/java.io@java_stub)" />
<import index="snqe" ref="b984ee52-f34d-4b6d-8812-866c1d3eae31/f:java_stub#b984ee52-f34d-4b6d-8812-866c1d3eae31#compiler.CHRIntermediateForm(jetbrains.mps.jchr.runtime/compiler.CHRIntermediateForm@java_stub)" />
<import index="wtyy" ref="b984ee52-f34d-4b6d-8812-866c1d3eae31/f:java_stub#b984ee52-f34d-4b6d-8812-866c1d3eae31#compiler.options(jetbrains.mps.jchr.runtime/compiler.options@java_stub)" />
<import index="1z61" ref="b984ee52-f34d-4b6d-8812-866c1d3eae31/f:java_stub#b984ee52-f34d-4b6d-8812-866c1d3eae31#compiler.codeGeneration(jetbrains.mps.jchr.runtime/compiler.codeGeneration@java_stub)" />
<import index="k7g3" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.util(JDK/java.util@java_stub)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1215693861676" name="jetbrains.mps.baseLanguage.structure.BaseAssignmentExpression" flags="nn" index="d038R">
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="ng" index="2tJIrI" />
<concept id="1173175405605" name="jetbrains.mps.baseLanguage.structure.ArrayAccessExpression" flags="nn" index="AH0OO">
<child id="1173175577737" name="index" index="AHEQo" />
<child id="1173175590490" name="array" index="AHHXb" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1197029447546" name="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" flags="nn" index="2OwXpG">
<reference id="1197029500499" name="fieldDeclaration" index="2Oxat5" />
</concept>
<concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
<child id="1145553007750" name="creator" index="2ShVmc" />
</concept>
<concept id="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
<concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
<reference id="1144433194310" name="classConcept" index="1Pybhc" />
</concept>
<concept id="1070534760951" name="jetbrains.mps.baseLanguage.structure.ArrayType" flags="in" index="10Q1$e">
<child id="1070534760952" name="componentType" index="10Q1$1" />
</concept>
<concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu" />
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
<property id="1176718929932" name="isFinal" index="3TUv4t" />
<child id="1068431790190" name="initializer" index="33vP2m" />
</concept>
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
<concept id="1068498886292" name="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" flags="ir" index="37vLTG" />
<concept id="1068498886294" name="jetbrains.mps.baseLanguage.structure.AssignmentExpression" flags="nn" index="37vLTI" />
<concept id="4972933694980447171" name="jetbrains.mps.baseLanguage.structure.BaseVariableDeclaration" flags="ng" index="19Szcq">
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<property id="4276006055363816570" name="isSynchronized" index="od$2w" />
<property id="1181808852946" name="isFinal" index="DiZV1" />
<child id="1164879685961" name="throwsItem" index="Sfmx6" />
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
<child id="1068581517676" name="expression" index="3cqZAk" />
</concept>
<concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
</concept>
<concept id="1184950988562" name="jetbrains.mps.baseLanguage.structure.ArrayCreator" flags="nn" index="3$_iS1">
<child id="1184951007469" name="componentType" index="3$_nBY" />
<child id="1184952969026" name="dimensionExpression" index="3$GQph" />
</concept>
<concept id="1184952934362" name="jetbrains.mps.baseLanguage.structure.DimensionExpression" flags="nn" index="3$GHV9">
<child id="1184953288404" name="expression" index="3$I4v7" />
</concept>
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
</language>
<language id="f2801650-65d5-424e-bb1b-463a8781b786" name="jetbrains.mps.baseLanguage.javadoc">
<concept id="2546654756694997551" name="jetbrains.mps.baseLanguage.javadoc.structure.LinkInlineDocTag" flags="ng" index="92FcH">
<child id="2546654756694997556" name="reference" index="92FcQ" />
<child id="3106559687488913694" name="line" index="2XjZqd" />
</concept>
<concept id="5349172909345501395" name="jetbrains.mps.baseLanguage.javadoc.structure.BaseDocComment" flags="ng" index="P$AiS">
<child id="8465538089690331502" name="body" index="TZ5H$" />
</concept>
<concept id="8465538089690331500" name="jetbrains.mps.baseLanguage.javadoc.structure.CommentLine" flags="ng" index="TZ5HA">
<child id="8970989240999019149" name="part" index="1dT_Ay" />
</concept>
<concept id="2217234381367530212" name="jetbrains.mps.baseLanguage.javadoc.structure.ClassifierDocReference" flags="ng" index="VXe08">
<reference id="2217234381367530213" name="classifier" index="VXe09" />
</concept>
<concept id="8970989240999019145" name="jetbrains.mps.baseLanguage.javadoc.structure.InlineTagCommentLinePart" flags="ng" index="1dT_AA">
<child id="6962838954693749192" name="tag" index="qph3F" />
</concept>
<concept id="8970989240999019143" name="jetbrains.mps.baseLanguage.javadoc.structure.TextCommentLinePart" flags="ng" index="1dT_AC">
<property id="8970989240999019144" name="text" index="1dT_AB" />
</concept>
<concept id="2068944020170241612" name="jetbrains.mps.baseLanguage.javadoc.structure.ClassifierDocComment" flags="ng" index="3UR2Jj" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
</registry>
<node concept="312cEu" id="41ox5Vn8Mb4">
<property role="TrG5h" value="CodeGeneration2" />
<node concept="2tJIrI" id="41ox5Vn8Mbo" role="jymVt" />
<node concept="2YIFZL" id="41ox5Vn8Mb_" role="jymVt">
<property role="TrG5h" value="generateAllSourceFiles" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="37vLTG" id="41ox5Vn8MbA" role="3clF46">
<property role="TrG5h" value="cif" />
<property role="3TUv4t" value="false" />
<node concept="3uibUv" id="41ox5Vn9Agv" role="1tU5fm">
<ref role="3uigEE" to="snqe:~ICHRIntermediateForm" resolve="ICHRIntermediateForm" />
</node>
</node>
<node concept="37vLTG" id="41ox5Vn8MbC" role="3clF46">
<property role="TrG5h" value="options" />
<property role="3TUv4t" value="false" />
<node concept="3uibUv" id="41ox5Vn9FwB" role="1tU5fm">
<ref role="3uigEE" to="wtyy:~Options" resolve="Options" />
</node>
</node>
<node concept="3uibUv" id="41ox5Vn8MbE" role="Sfmx6">
<ref role="3uigEE" to="fxg7:~IOException" resolve="IOException" />
</node>
<node concept="3uibUv" id="41ox5Vn9Lah" role="Sfmx6">
<ref role="3uigEE" to="1z61:~GenerationException" resolve="GenerationException" />
</node>
<node concept="3clFbS" id="41ox5Vn8MbG" role="3clF47">
<node concept="3cpWs8" id="41ox5Vn9NNd" role="3cqZAp">
<node concept="3cpWsn" id="41ox5Vn9NNe" role="3cpWs9">
<property role="TrG5h" value="tuple" />
<node concept="3uibUv" id="41ox5Vn9NNf" role="1tU5fm">
<ref role="3uigEE" to="1z61:~CodeGeneration$Tuple" resolve="CodeGeneration.Tuple" />
</node>
<node concept="2YIFZM" id="41ox5Vn9Oft" role="33vP2m">
<ref role="37wK5l" to="1z61:~CodeGeneration.doGenerateHandlerSourceFile(compiler.CHRIntermediateForm.ICHRIntermediateForm,compiler.options.Options):compiler.codeGeneration.CodeGeneration$Tuple" resolve="doGenerateHandlerSourceFile" />
<ref role="1Pybhc" to="1z61:~CodeGeneration" resolve="CodeGeneration" />
<node concept="37vLTw" id="41ox5Vn9SKv" role="37wK5m">
<ref role="3cqZAo" node="41ox5Vn8MbA" resolve="cif" />
</node>
<node concept="37vLTw" id="41ox5Vn9SKw" role="37wK5m">
<ref role="3cqZAo" node="41ox5Vn8MbC" resolve="options" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="41ox5Vn8Mct" role="3cqZAp">
<node concept="3cpWsn" id="41ox5Vn8Mcs" role="3cpWs9">
<property role="3TUv4t" value="false" />
<property role="TrG5h" value="result" />
<node concept="10Q1$e" id="41ox5Vn8Mcv" role="1tU5fm">
<node concept="3uibUv" id="41ox5Vn8Mcu" role="10Q1$1">
<ref role="3uigEE" to="fxg7:~File" resolve="File" />
</node>
</node>
<node concept="2ShNRf" id="41ox5Vn8McA" role="33vP2m">
<node concept="3$_iS1" id="41ox5Vn9Y7C" role="2ShVmc">
<node concept="3$GHV9" id="41ox5Vn9Y7F" role="3$GQph">
<node concept="3cmrfG" id="41ox5Vn9Ygb" role="3$I4v7">
<property role="3cmrfH" value="1" />
</node>
</node>
<node concept="3uibUv" id="41ox5Vn8Mcw" role="3$_nBY">
<ref role="3uigEE" to="fxg7:~File" resolve="File" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn8McB" role="3cqZAp">
<node concept="37vLTI" id="41ox5Vn8McC" role="3clFbG">
<node concept="AH0OO" id="41ox5Vn8McD" role="37vLTJ">
<node concept="37vLTw" id="41ox5Vn8McE" role="AHHXb">
<ref role="3cqZAo" node="41ox5Vn8Mcs" resolve="result" />
</node>
<node concept="3cmrfG" id="41ox5Vn8McF" role="AHEQo">
<property role="3cmrfH" value="0" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn8Md6" role="37vLTx">
<node concept="37vLTw" id="41ox5Vn9VOJ" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn9NNe" resolve="tuple" />
</node>
<node concept="2OwXpG" id="41ox5Vn8Md7" role="2OqNvi">
<ref role="2Oxat5" to="1z61:~CodeGeneration$Tuple.generatedFile" resolve="generatedFile" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="41ox5Vn8McO" role="3cqZAp">
<node concept="37vLTw" id="41ox5Vn8McP" role="3cqZAk">
<ref role="3cqZAo" node="41ox5Vn8Mcs" resolve="result" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="41ox5Vn8McQ" role="1B3o_S" />
<node concept="10Q1$e" id="41ox5Vn8McS" role="3clF45">
<node concept="3uibUv" id="41ox5Vn9$30" role="10Q1$1">
<ref role="3uigEE" to="fxg7:~File" resolve="File" />
</node>
</node>
</node>
<node concept="2tJIrI" id="41ox5Vn8Mbt" role="jymVt" />
<node concept="3Tm1VV" id="41ox5Vn8Mb5" role="1B3o_S" />
<node concept="3UR2Jj" id="41ox5Vnb3Ef" role="lGtFl">
<node concept="TZ5HA" id="41ox5Vnb3Eg" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vnb3Eh" role="1dT_Ay">
<property role="1dT_AB" value="" />
</node>
</node>
<node concept="TZ5HA" id="41ox5Vnb3G1" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vnb3G2" role="1dT_Ay">
<property role="1dT_AB" value="This is a patch for " />
</node>
<node concept="1dT_AA" id="41ox5Vnb3Gm" role="1dT_Ay">
<node concept="92FcH" id="41ox5Vnb5g_" role="qph3F">
<node concept="TZ5HA" id="41ox5Vnb5gB" role="2XjZqd" />
<node concept="VXe08" id="41ox5VnbwmN" role="92FcQ">
<ref role="VXe09" to="1z61:~CodeGeneration" resolve="CodeGeneration" />
</node>
</node>
</node>
<node concept="1dT_AC" id="41ox5Vnb3Gl" role="1dT_Ay">
<property role="1dT_AB" value=" class to avoid generating tuple classes." />
</node>
</node>
<node concept="TZ5HA" id="41ox5VnbwyE" role="TZ5H$">
<node concept="1dT_AC" id="41ox5VnbwyF" role="1dT_Ay">
<property role="1dT_AB" value="" />
</node>
</node>
<node concept="TZ5HA" id="41ox5VnbwyT" role="TZ5H$">
<node concept="1dT_AC" id="41ox5VnbwyU" role="1dT_Ay">
<property role="1dT_AB" value="There is a problem with accessing package local fields from these tuple classes " />
</node>
</node>
<node concept="TZ5HA" id="41ox5Vnbwza" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vnbwzb" role="1dT_Ay">
<property role="1dT_AB" value="if loaded by MPS module classloader. " />
</node>
</node>
<node concept="TZ5HA" id="41ox5Vnbwzt" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vnbwzu" role="1dT_Ay">
<property role="1dT_AB" value="" />
</node>
</node>
<node concept="TZ5HA" id="41ox5VnbwzM" role="TZ5H$">
<node concept="1dT_AC" id="41ox5VnbwzN" role="1dT_Ay">
<property role="1dT_AB" value="We can provide all the necessary tuple classes as static code and avoid having" />
</node>
</node>
<node concept="TZ5HA" id="41ox5Vnbw$9" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vnbw$a" role="1dT_Ay">
<property role="1dT_AB" value="to generate them ad hoc." />
</node>
</node>
<node concept="TZ5HA" id="41ox5Vnb3Ga" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vnb3Gb" role="1dT_Ay">
<property role="1dT_AB" value="" />
</node>
</node>
</node>
</node>
</model>

View File

@ -23,6 +23,7 @@
<import index="vyfj" ref="b984ee52-f34d-4b6d-8812-866c1d3eae31/f:java_stub#b984ee52-f34d-4b6d-8812-866c1d3eae31#compiler.CHRIntermediateForm.constraints.ud(jetbrains.mps.jchr.runtime/compiler.CHRIntermediateForm.constraints.ud@java_stub)" />
<import index="p23n" ref="b984ee52-f34d-4b6d-8812-866c1d3eae31/f:java_stub#b984ee52-f34d-4b6d-8812-866c1d3eae31#compiler.CHRIntermediateForm.id(jetbrains.mps.jchr.runtime/compiler.CHRIntermediateForm.id@java_stub)" />
<import index="12vg" ref="b984ee52-f34d-4b6d-8812-866c1d3eae31/f:java_stub#b984ee52-f34d-4b6d-8812-866c1d3eae31#compiler.CHRIntermediateForm.exceptions(jetbrains.mps.jchr.runtime/compiler.CHRIntermediateForm.exceptions@java_stub)" />
<import index="w50i" ref="r:4705c47f-1f99-4034-8b4c-899c3c0ef2b5(compiler.codeGeneration)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -217,6 +218,9 @@
<concept id="6329021646629104954" name="jetbrains.mps.baseLanguage.structure.SingleLineComment" flags="nn" index="3SKdUt">
<child id="6329021646629175155" name="commentPart" index="3SKWNk" />
</concept>
<concept id="6329021646629175143" name="jetbrains.mps.baseLanguage.structure.StatementCommentPart" flags="nn" index="3SKWN0">
<child id="6329021646629175144" name="commentedStatement" index="3SKWNf" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
<concept id="1146644623116" name="jetbrains.mps.baseLanguage.structure.PrivateVisibility" flags="nn" index="3Tm6S6" />
<concept id="1146644641414" name="jetbrains.mps.baseLanguage.structure.ProtectedVisibility" flags="nn" index="3Tmbuc" />
@ -686,22 +690,52 @@
<property role="3SKdUp" value="File[] generatedFiles = CodeGenerator.generateAllSourceFiles(cif);" />
</node>
</node>
<node concept="3cpWs8" id="2ev$9JFs8KL" role="3cqZAp">
<node concept="3cpWsn" id="2ev$9JFs8KK" role="3cpWs9">
<node concept="3SKdUt" id="41ox5Vnaa7q" role="3cqZAp">
<node concept="3SKWN0" id="41ox5Vnaa7r" role="3SKWNk">
<node concept="3cpWs8" id="2ev$9JFs8KL" role="3SKWNf">
<node concept="3cpWsn" id="2ev$9JFs8KK" role="3cpWs9">
<property role="3TUv4t" value="false" />
<property role="TrG5h" value="generatedFiles" />
<node concept="10Q1$e" id="2ev$9JFs8KN" role="1tU5fm">
<node concept="3uibUv" id="2ev$9JFs8KM" role="10Q1$1">
<ref role="3uigEE" to="fxg7:~File" resolve="File" />
</node>
</node>
<node concept="2YIFZM" id="2ev$9JFu4fc" role="33vP2m">
<ref role="1Pybhc" to="1z61:~CodeGeneration" resolve="CodeGeneration" />
<ref role="37wK5l" to="1z61:~CodeGeneration.generateAllSourceFiles(compiler.CHRIntermediateForm.ICHRIntermediateForm,compiler.options.Options):java.io.File[]" resolve="generateAllSourceFiles" />
<node concept="37vLTw" id="2ev$9JFs8KP" role="37wK5m">
<ref role="3cqZAo" node="2ev$9JFs8JN" resolve="cif" />
</node>
<node concept="37vLTw" id="2ev$9JFs8KQ" role="37wK5m">
<ref role="3cqZAo" node="2ev$9JFs8Jn" resolve="options" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3SKdUt" id="41ox5Vnb_cj" role="3cqZAp">
<node concept="3SKdUq" id="41ox5Vnb_Fp" role="3SKWNk">
<property role="3SKdUp" value="use the patched method which skips generation of tuple classes" />
</node>
</node>
<node concept="3cpWs8" id="41ox5Vna92g" role="3cqZAp">
<node concept="3cpWsn" id="41ox5Vna92h" role="3cpWs9">
<property role="3TUv4t" value="false" />
<property role="TrG5h" value="generatedFiles" />
<node concept="10Q1$e" id="2ev$9JFs8KN" role="1tU5fm">
<node concept="3uibUv" id="2ev$9JFs8KM" role="10Q1$1">
<node concept="10Q1$e" id="41ox5Vna92i" role="1tU5fm">
<node concept="3uibUv" id="41ox5Vna92j" role="10Q1$1">
<ref role="3uigEE" to="fxg7:~File" resolve="File" />
</node>
</node>
<node concept="2YIFZM" id="2ev$9JFu4fc" role="33vP2m">
<ref role="1Pybhc" to="1z61:~CodeGeneration" resolve="CodeGeneration" />
<ref role="37wK5l" to="1z61:~CodeGeneration.generateAllSourceFiles(compiler.CHRIntermediateForm.ICHRIntermediateForm,compiler.options.Options):java.io.File[]" resolve="generateAllSourceFiles" />
<node concept="37vLTw" id="2ev$9JFs8KP" role="37wK5m">
<node concept="2YIFZM" id="41ox5Vna92k" role="33vP2m">
<ref role="1Pybhc" to="w50i:41ox5Vn8Mb4" resolve="CodeGeneration2" />
<ref role="37wK5l" to="w50i:41ox5Vn8Mb_" resolve="generateAllSourceFiles" />
<node concept="37vLTw" id="41ox5Vna92l" role="37wK5m">
<ref role="3cqZAo" node="2ev$9JFs8JN" resolve="cif" />
</node>
<node concept="37vLTw" id="2ev$9JFs8KQ" role="37wK5m">
<node concept="37vLTw" id="41ox5Vna92m" role="37wK5m">
<ref role="3cqZAo" node="2ev$9JFs8Jn" resolve="options" />
</node>
</node>
@ -881,7 +915,7 @@
</node>
<node concept="2OqwBi" id="2ev$9JFs8Ps" role="37wK5m">
<node concept="37vLTw" id="2ev$9JFs8Pr" role="2Oq$k0">
<ref role="3cqZAo" node="2ev$9JFs8KK" resolve="generatedFiles" />
<ref role="3cqZAo" node="41ox5Vna92h" resolve="generatedFiles" />
</node>
<node concept="1Rwk04" id="2ev$9JFs97T" role="2OqNvi" />
</node>
@ -925,7 +959,7 @@
<node concept="liA8E" id="2ev$9JFs8PB" role="2OqNvi">
<ref role="37wK5l" to="h23x:~JavaCompiler.compile(java.io.File...):void" resolve="compile" />
<node concept="37vLTw" id="2ev$9JFs8LC" role="37wK5m">
<ref role="3cqZAo" node="2ev$9JFs8KK" resolve="generatedFiles" />
<ref role="3cqZAo" node="41ox5Vna92h" resolve="generatedFiles" />
</node>
</node>
</node>
@ -1025,7 +1059,7 @@
<node concept="3clFbS" id="2ev$9JFs8Mi" role="3clFbx">
<node concept="1DcWWT" id="2ev$9JFs8Ma" role="3cqZAp">
<node concept="37vLTw" id="2ev$9JFs8Mh" role="1DdaDG">
<ref role="3cqZAo" node="2ev$9JFs8KK" resolve="generatedFiles" />
<ref role="3cqZAo" node="41ox5Vna92h" resolve="generatedFiles" />
</node>
<node concept="3cpWsn" id="2ev$9JFs8Me" role="1Duv9x">
<property role="3TUv4t" value="false" />

View File

@ -0,0 +1,793 @@
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:d630b597-bcf2-4eb5-92d8-c9337bc51ad3(runtime.history)">
<persistence version="9" />
<languages>
<use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="-1" />
<use id="f2801650-65d5-424e-bb1b-463a8781b786" name="jetbrains.mps.baseLanguage.javadoc" version="-1" />
</languages>
<imports>
<import index="e2lb" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" />
<import index="2apf" ref="b984ee52-f34d-4b6d-8812-866c1d3eae31/f:java_stub#b984ee52-f34d-4b6d-8812-866c1d3eae31#runtime.history(jetbrains.mps.jchr.runtime/runtime.history@java_stub)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1215693861676" name="jetbrains.mps.baseLanguage.structure.BaseAssignmentExpression" flags="nn" index="d038R">
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1224500799915" name="jetbrains.mps.baseLanguage.structure.BitwiseXorExpression" flags="nn" index="pVQyQ" />
<concept id="1188207840427" name="jetbrains.mps.baseLanguage.structure.AnnotationInstance" flags="nn" index="2AHcQZ">
<reference id="1188208074048" name="annotation" index="2AI5Lk" />
</concept>
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1197029447546" name="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" flags="nn" index="2OwXpG">
<reference id="1197029500499" name="fieldDeclaration" index="2Oxat5" />
</concept>
<concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
<child id="1145553007750" name="creator" index="2ShVmc" />
</concept>
<concept id="1070475354124" name="jetbrains.mps.baseLanguage.structure.ThisExpression" flags="nn" index="Xjq3P" />
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
<property id="1070475926801" name="value" index="Xl_RC" />
</concept>
<concept id="1070534370425" name="jetbrains.mps.baseLanguage.structure.IntegerType" flags="in" index="10Oyi0" />
<concept id="1070534644030" name="jetbrains.mps.baseLanguage.structure.BooleanType" flags="in" index="10P_77" />
<concept id="1070534934090" name="jetbrains.mps.baseLanguage.structure.CastExpression" flags="nn" index="10QFUN">
<child id="1070534934091" name="type" index="10QFUM" />
<child id="1070534934092" name="expression" index="10QFUP" />
</concept>
<concept id="1068390468200" name="jetbrains.mps.baseLanguage.structure.FieldDeclaration" flags="ig" index="312cEg">
<property id="8606350594693632173" name="isTransient" index="eg7rD" />
<property id="1240249534625" name="isVolatile" index="34CwA1" />
</concept>
<concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu">
<property id="1075300953594" name="abstractClass" index="1sVAO0" />
<property id="1221565133444" name="isFinal" index="1EXbeo" />
<child id="1165602531693" name="superclass" index="1zkMxy" />
</concept>
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
<property id="1176718929932" name="isFinal" index="3TUv4t" />
<child id="1068431790190" name="initializer" index="33vP2m" />
</concept>
<concept id="1092119917967" name="jetbrains.mps.baseLanguage.structure.MulExpression" flags="nn" index="17qRlL" />
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
<concept id="1068498886292" name="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" flags="ir" index="37vLTG" />
<concept id="1068498886294" name="jetbrains.mps.baseLanguage.structure.AssignmentExpression" flags="nn" index="37vLTI" />
<concept id="4972933694980447171" name="jetbrains.mps.baseLanguage.structure.BaseVariableDeclaration" flags="ng" index="19Szcq">
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<property id="4276006055363816570" name="isSynchronized" index="od$2w" />
<property id="1181808852946" name="isFinal" index="DiZV1" />
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
</concept>
<concept id="1068580123165" name="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" flags="ig" index="3clFb_" />
<concept id="1068580123152" name="jetbrains.mps.baseLanguage.structure.EqualsExpression" flags="nn" index="3clFbC" />
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068580123140" name="jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" flags="ig" index="3clFbW" />
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581242875" name="jetbrains.mps.baseLanguage.structure.PlusExpression" flags="nn" index="3cpWs3" />
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
<child id="1068581517676" name="expression" index="3cqZAk" />
</concept>
<concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1068581517677" name="jetbrains.mps.baseLanguage.structure.VoidType" flags="in" index="3cqZAl" />
<concept id="1079359253375" name="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" flags="nn" index="1eOMI4">
<child id="1079359253376" name="expression" index="1eOMHV" />
</concept>
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1212685548494" name="jetbrains.mps.baseLanguage.structure.ClassCreator" flags="nn" index="1pGfFk" />
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<property id="521412098689998745" name="nonStatic" index="2bfB8j" />
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
</concept>
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
</concept>
<concept id="7024111702304501420" name="jetbrains.mps.baseLanguage.structure.XorAssignmentExpression" flags="nn" index="3vZ8rc" />
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
<concept id="1146644623116" name="jetbrains.mps.baseLanguage.structure.PrivateVisibility" flags="nn" index="3Tm6S6" />
<concept id="1080120340718" name="jetbrains.mps.baseLanguage.structure.AndExpression" flags="nn" index="1Wc70l" />
<concept id="1200397529627" name="jetbrains.mps.baseLanguage.structure.CharConstant" flags="nn" index="1Xhbcc">
<property id="1200397540847" name="charConstant" index="1XhdNS" />
</concept>
<concept id="320030840061144153" name="jetbrains.mps.baseLanguage.structure.ShiftRightUnsignedExpression" flags="nn" index="1ZsPo3" />
</language>
<language id="f2801650-65d5-424e-bb1b-463a8781b786" name="jetbrains.mps.baseLanguage.javadoc">
<concept id="5349172909345501395" name="jetbrains.mps.baseLanguage.javadoc.structure.BaseDocComment" flags="ng" index="P$AiS">
<child id="8465538089690331502" name="body" index="TZ5H$" />
</concept>
<concept id="5349172909345532724" name="jetbrains.mps.baseLanguage.javadoc.structure.MethodDocComment" flags="ng" index="P$JXv" />
<concept id="8465538089690331500" name="jetbrains.mps.baseLanguage.javadoc.structure.CommentLine" flags="ng" index="TZ5HA">
<child id="8970989240999019149" name="part" index="1dT_Ay" />
</concept>
<concept id="8970989240999019143" name="jetbrains.mps.baseLanguage.javadoc.structure.TextCommentLinePart" flags="ng" index="1dT_AC">
<property id="8970989240999019144" name="text" index="1dT_AB" />
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
</registry>
<node concept="312cEu" id="41ox5Vn44Zu">
<property role="TrG5h" value="Tuple4" />
<property role="2bfB8j" value="true" />
<property role="1sVAO0" value="false" />
<property role="1EXbeo" value="true" />
<node concept="3Tm1VV" id="41ox5Vn44Zw" role="1B3o_S" />
<node concept="3uibUv" id="41ox5Vn44Zx" role="1zkMxy">
<ref role="3uigEE" to="2apf:~TuplePropagationHistory$Tuple" resolve="TuplePropagationHistory.Tuple" />
</node>
<node concept="312cEg" id="41ox5Vn44Zy" role="jymVt">
<property role="34CwA1" value="false" />
<property role="eg7rD" value="false" />
<property role="TrG5h" value="X1" />
<property role="3TUv4t" value="true" />
<node concept="10Oyi0" id="41ox5Vn44Z$" role="1tU5fm" />
<node concept="3Tm6S6" id="41ox5Vn44Z_" role="1B3o_S" />
</node>
<node concept="312cEg" id="41ox5Vn44ZA" role="jymVt">
<property role="34CwA1" value="false" />
<property role="eg7rD" value="false" />
<property role="TrG5h" value="X2" />
<property role="3TUv4t" value="true" />
<node concept="10Oyi0" id="41ox5Vn44ZC" role="1tU5fm" />
<node concept="3Tm6S6" id="41ox5Vn44ZD" role="1B3o_S" />
</node>
<node concept="312cEg" id="41ox5Vn44ZE" role="jymVt">
<property role="34CwA1" value="false" />
<property role="eg7rD" value="false" />
<property role="TrG5h" value="X3" />
<property role="3TUv4t" value="true" />
<node concept="10Oyi0" id="41ox5Vn44ZG" role="1tU5fm" />
<node concept="3Tm6S6" id="41ox5Vn44ZH" role="1B3o_S" />
</node>
<node concept="312cEg" id="41ox5Vn44ZI" role="jymVt">
<property role="34CwA1" value="false" />
<property role="eg7rD" value="false" />
<property role="TrG5h" value="X4" />
<property role="3TUv4t" value="true" />
<node concept="10Oyi0" id="41ox5Vn44ZK" role="1tU5fm" />
<node concept="3Tm6S6" id="41ox5Vn44ZL" role="1B3o_S" />
</node>
<node concept="3clFbW" id="41ox5Vn44ZM" role="jymVt">
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="3cqZAl" id="41ox5Vn44ZN" role="3clF45" />
<node concept="37vLTG" id="41ox5Vn44ZO" role="3clF46">
<property role="TrG5h" value="X1" />
<property role="3TUv4t" value="false" />
<node concept="10Oyi0" id="41ox5Vn44ZP" role="1tU5fm" />
</node>
<node concept="37vLTG" id="41ox5Vn44ZQ" role="3clF46">
<property role="TrG5h" value="X2" />
<property role="3TUv4t" value="false" />
<node concept="10Oyi0" id="41ox5Vn44ZR" role="1tU5fm" />
</node>
<node concept="37vLTG" id="41ox5Vn44ZS" role="3clF46">
<property role="TrG5h" value="X3" />
<property role="3TUv4t" value="false" />
<node concept="10Oyi0" id="41ox5Vn44ZT" role="1tU5fm" />
</node>
<node concept="37vLTG" id="41ox5Vn44ZU" role="3clF46">
<property role="TrG5h" value="X4" />
<property role="3TUv4t" value="false" />
<node concept="10Oyi0" id="41ox5Vn44ZV" role="1tU5fm" />
</node>
<node concept="3clFbS" id="41ox5Vn44ZW" role="3clF47">
<node concept="3clFbF" id="41ox5Vn44ZX" role="3cqZAp">
<node concept="37vLTI" id="41ox5Vn44ZY" role="3clFbG">
<node concept="2OqwBi" id="41ox5Vn44ZZ" role="37vLTJ">
<node concept="Xjq3P" id="41ox5Vn4500" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn4501" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44Zy" resolve="X1" />
</node>
</node>
<node concept="37vLTw" id="41ox5Vn4502" role="37vLTx">
<ref role="3cqZAo" node="41ox5Vn44ZO" resolve="X1" />
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn4503" role="3cqZAp">
<node concept="37vLTI" id="41ox5Vn4504" role="3clFbG">
<node concept="2OqwBi" id="41ox5Vn4505" role="37vLTJ">
<node concept="Xjq3P" id="41ox5Vn4506" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn4507" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZA" resolve="X2" />
</node>
</node>
<node concept="37vLTw" id="41ox5Vn4508" role="37vLTx">
<ref role="3cqZAo" node="41ox5Vn44ZQ" resolve="X2" />
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn4509" role="3cqZAp">
<node concept="37vLTI" id="41ox5Vn450a" role="3clFbG">
<node concept="2OqwBi" id="41ox5Vn450b" role="37vLTJ">
<node concept="Xjq3P" id="41ox5Vn450c" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn450d" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZE" resolve="X3" />
</node>
</node>
<node concept="37vLTw" id="41ox5Vn450e" role="37vLTx">
<ref role="3cqZAo" node="41ox5Vn44ZS" resolve="X3" />
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn450f" role="3cqZAp">
<node concept="37vLTI" id="41ox5Vn450g" role="3clFbG">
<node concept="2OqwBi" id="41ox5Vn450h" role="37vLTJ">
<node concept="Xjq3P" id="41ox5Vn450i" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn450j" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZI" resolve="X4" />
</node>
</node>
<node concept="37vLTw" id="41ox5Vn450k" role="37vLTx">
<ref role="3cqZAo" node="41ox5Vn44ZU" resolve="X4" />
</node>
</node>
</node>
<node concept="3cpWs8" id="41ox5Vn450m" role="3cqZAp">
<node concept="3cpWsn" id="41ox5Vn450l" role="3cpWs9">
<property role="3TUv4t" value="false" />
<property role="TrG5h" value="hash" />
<node concept="10Oyi0" id="41ox5Vn450n" role="1tU5fm" />
<node concept="3cpWs3" id="41ox5Vn450o" role="33vP2m">
<node concept="17qRlL" id="41ox5Vn450p" role="3uHU7B">
<node concept="3cmrfG" id="41ox5Vn450q" role="3uHU7B">
<property role="3cmrfH" value="37" />
</node>
<node concept="1eOMI4" id="41ox5Vn450F" role="3uHU7w">
<node concept="3cpWs3" id="41ox5Vn450r" role="1eOMHV">
<node concept="17qRlL" id="41ox5Vn450s" role="3uHU7B">
<node concept="3cmrfG" id="41ox5Vn450t" role="3uHU7B">
<property role="3cmrfH" value="37" />
</node>
<node concept="1eOMI4" id="41ox5Vn450D" role="3uHU7w">
<node concept="3cpWs3" id="41ox5Vn450u" role="1eOMHV">
<node concept="17qRlL" id="41ox5Vn450v" role="3uHU7B">
<node concept="3cmrfG" id="41ox5Vn450w" role="3uHU7B">
<property role="3cmrfH" value="37" />
</node>
<node concept="1eOMI4" id="41ox5Vn450B" role="3uHU7w">
<node concept="3cpWs3" id="41ox5Vn450x" role="1eOMHV">
<node concept="17qRlL" id="41ox5Vn450y" role="3uHU7B">
<node concept="3cmrfG" id="41ox5Vn450z" role="3uHU7B">
<property role="3cmrfH" value="37" />
</node>
<node concept="1eOMI4" id="41ox5Vn450_" role="3uHU7w">
<node concept="3cmrfG" id="41ox5Vn450$" role="1eOMHV">
<property role="3cmrfH" value="23" />
</node>
</node>
</node>
<node concept="37vLTw" id="41ox5Vn450A" role="3uHU7w">
<ref role="3cqZAo" node="41ox5Vn44ZO" resolve="X1" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="41ox5Vn450C" role="3uHU7w">
<ref role="3cqZAo" node="41ox5Vn44ZQ" resolve="X2" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="41ox5Vn450E" role="3uHU7w">
<ref role="3cqZAo" node="41ox5Vn44ZS" resolve="X3" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="41ox5Vn450G" role="3uHU7w">
<ref role="3cqZAo" node="41ox5Vn44ZU" resolve="X4" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn450H" role="3cqZAp">
<node concept="3vZ8rc" id="41ox5Vn450I" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn450J" role="37vLTJ">
<ref role="3cqZAo" node="41ox5Vn450l" resolve="hash" />
</node>
<node concept="pVQyQ" id="41ox5Vn450K" role="37vLTx">
<node concept="1eOMI4" id="41ox5Vn450O" role="3uHU7B">
<node concept="1ZsPo3" id="41ox5Vn450L" role="1eOMHV">
<node concept="37vLTw" id="41ox5Vn450M" role="3uHU7B">
<ref role="3cqZAo" node="41ox5Vn450l" resolve="hash" />
</node>
<node concept="3cmrfG" id="41ox5Vn450N" role="3uHU7w">
<property role="3cmrfH" value="20" />
</node>
</node>
</node>
<node concept="1eOMI4" id="41ox5Vn450S" role="3uHU7w">
<node concept="1ZsPo3" id="41ox5Vn450P" role="1eOMHV">
<node concept="37vLTw" id="41ox5Vn450Q" role="3uHU7B">
<ref role="3cqZAo" node="41ox5Vn450l" resolve="hash" />
</node>
<node concept="3cmrfG" id="41ox5Vn450R" role="3uHU7w">
<property role="3cmrfH" value="12" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn450T" role="3cqZAp">
<node concept="37vLTI" id="41ox5Vn450U" role="3clFbG">
<node concept="2OqwBi" id="41ox5Vn450V" role="37vLTJ">
<node concept="Xjq3P" id="41ox5Vn450W" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn450X" role="2OqNvi">
<ref role="2Oxat5" to="2apf:~TuplePropagationHistory$Tuple.hash" resolve="hash" />
</node>
</node>
<node concept="pVQyQ" id="41ox5Vn450Y" role="37vLTx">
<node concept="pVQyQ" id="41ox5Vn450Z" role="3uHU7B">
<node concept="37vLTw" id="41ox5Vn4510" role="3uHU7B">
<ref role="3cqZAo" node="41ox5Vn450l" resolve="hash" />
</node>
<node concept="1eOMI4" id="41ox5Vn4514" role="3uHU7w">
<node concept="1ZsPo3" id="41ox5Vn4511" role="1eOMHV">
<node concept="37vLTw" id="41ox5Vn4512" role="3uHU7B">
<ref role="3cqZAo" node="41ox5Vn450l" resolve="hash" />
</node>
<node concept="3cmrfG" id="41ox5Vn4513" role="3uHU7w">
<property role="3cmrfH" value="7" />
</node>
</node>
</node>
</node>
<node concept="1eOMI4" id="41ox5Vn4518" role="3uHU7w">
<node concept="1ZsPo3" id="41ox5Vn4515" role="1eOMHV">
<node concept="37vLTw" id="41ox5Vn4516" role="3uHU7B">
<ref role="3cqZAo" node="41ox5Vn450l" resolve="hash" />
</node>
<node concept="3cmrfG" id="41ox5Vn4517" role="3uHU7w">
<property role="3cmrfH" value="4" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="41ox5Vn4519" role="1B3o_S" />
</node>
<node concept="3clFb_" id="41ox5Vn451a" role="jymVt">
<property role="TrG5h" value="equals" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="2AHcQZ" id="41ox5Vn451b" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
<node concept="37vLTG" id="41ox5Vn451c" role="3clF46">
<property role="TrG5h" value="other" />
<property role="3TUv4t" value="false" />
<node concept="3uibUv" id="41ox5Vn451d" role="1tU5fm">
<ref role="3uigEE" to="e2lb:~Object" resolve="Object" />
</node>
</node>
<node concept="3clFbS" id="41ox5Vn451e" role="3clF47">
<node concept="3cpWs6" id="41ox5Vn451f" role="3cqZAp">
<node concept="1Wc70l" id="41ox5Vn451g" role="3cqZAk">
<node concept="1Wc70l" id="41ox5Vn451h" role="3uHU7B">
<node concept="1Wc70l" id="41ox5Vn451i" role="3uHU7B">
<node concept="1eOMI4" id="41ox5Vn451t" role="3uHU7B">
<node concept="3clFbC" id="41ox5Vn451j" role="1eOMHV">
<node concept="2OqwBi" id="41ox5Vn451k" role="3uHU7B">
<node concept="Xjq3P" id="41ox5Vn451l" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn451m" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44Zy" resolve="X1" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn451n" role="3uHU7w">
<node concept="1eOMI4" id="41ox5Vn451r" role="2Oq$k0">
<node concept="10QFUN" id="41ox5Vn451o" role="1eOMHV">
<node concept="37vLTw" id="41ox5Vn451p" role="10QFUP">
<ref role="3cqZAo" node="41ox5Vn451c" resolve="other" />
</node>
<node concept="3uibUv" id="41ox5Vn451q" role="10QFUM">
<ref role="3uigEE" node="41ox5Vn44Zu" resolve="Tuple4" />
</node>
</node>
</node>
<node concept="2OwXpG" id="41ox5Vn451s" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44Zy" resolve="X1" />
</node>
</node>
</node>
</node>
<node concept="1eOMI4" id="41ox5Vn451C" role="3uHU7w">
<node concept="3clFbC" id="41ox5Vn451u" role="1eOMHV">
<node concept="2OqwBi" id="41ox5Vn451v" role="3uHU7B">
<node concept="Xjq3P" id="41ox5Vn451w" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn451x" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZA" resolve="X2" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn451y" role="3uHU7w">
<node concept="1eOMI4" id="41ox5Vn451A" role="2Oq$k0">
<node concept="10QFUN" id="41ox5Vn451z" role="1eOMHV">
<node concept="37vLTw" id="41ox5Vn451$" role="10QFUP">
<ref role="3cqZAo" node="41ox5Vn451c" resolve="other" />
</node>
<node concept="3uibUv" id="41ox5Vn451_" role="10QFUM">
<ref role="3uigEE" node="41ox5Vn44Zu" resolve="Tuple4" />
</node>
</node>
</node>
<node concept="2OwXpG" id="41ox5Vn451B" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZA" resolve="X2" />
</node>
</node>
</node>
</node>
</node>
<node concept="1eOMI4" id="41ox5Vn451N" role="3uHU7w">
<node concept="3clFbC" id="41ox5Vn451D" role="1eOMHV">
<node concept="2OqwBi" id="41ox5Vn451E" role="3uHU7B">
<node concept="Xjq3P" id="41ox5Vn451F" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn451G" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZE" resolve="X3" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn451H" role="3uHU7w">
<node concept="1eOMI4" id="41ox5Vn451L" role="2Oq$k0">
<node concept="10QFUN" id="41ox5Vn451I" role="1eOMHV">
<node concept="37vLTw" id="41ox5Vn451J" role="10QFUP">
<ref role="3cqZAo" node="41ox5Vn451c" resolve="other" />
</node>
<node concept="3uibUv" id="41ox5Vn451K" role="10QFUM">
<ref role="3uigEE" node="41ox5Vn44Zu" resolve="Tuple4" />
</node>
</node>
</node>
<node concept="2OwXpG" id="41ox5Vn451M" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZE" resolve="X3" />
</node>
</node>
</node>
</node>
</node>
<node concept="1eOMI4" id="41ox5Vn451Y" role="3uHU7w">
<node concept="3clFbC" id="41ox5Vn451O" role="1eOMHV">
<node concept="2OqwBi" id="41ox5Vn451P" role="3uHU7B">
<node concept="Xjq3P" id="41ox5Vn451Q" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn451R" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZI" resolve="X4" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn451S" role="3uHU7w">
<node concept="1eOMI4" id="41ox5Vn451W" role="2Oq$k0">
<node concept="10QFUN" id="41ox5Vn451T" role="1eOMHV">
<node concept="37vLTw" id="41ox5Vn451U" role="10QFUP">
<ref role="3cqZAo" node="41ox5Vn451c" resolve="other" />
</node>
<node concept="3uibUv" id="41ox5Vn451V" role="10QFUM">
<ref role="3uigEE" node="41ox5Vn44Zu" resolve="Tuple4" />
</node>
</node>
</node>
<node concept="2OwXpG" id="41ox5Vn451X" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZI" resolve="X4" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="41ox5Vn451Z" role="1B3o_S" />
<node concept="10P_77" id="41ox5Vn4520" role="3clF45" />
<node concept="P$JXv" id="41ox5Vn4521" role="lGtFl">
<node concept="TZ5HA" id="41ox5Vn453c" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vn453d" role="1dT_Ay">
<property role="1dT_AB" value=" {@inheritDoc}" />
</node>
</node>
<node concept="TZ5HA" id="41ox5Vn453e" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vn453f" role="1dT_Ay">
<property role="1dT_AB" value="" />
</node>
</node>
<node concept="TZ5HA" id="41ox5Vn453g" role="TZ5H$">
<node concept="1dT_AC" id="41ox5Vn453h" role="1dT_Ay">
<property role="1dT_AB" value=" @pre other instanceof Tuple4" />
</node>
</node>
</node>
</node>
<node concept="3clFb_" id="41ox5Vn4522" role="jymVt">
<property role="TrG5h" value="equals" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="37vLTG" id="41ox5Vn4523" role="3clF46">
<property role="TrG5h" value="other" />
<property role="3TUv4t" value="false" />
<node concept="3uibUv" id="41ox5Vn4524" role="1tU5fm">
<ref role="3uigEE" node="41ox5Vn44Zu" resolve="Tuple4" />
</node>
</node>
<node concept="3clFbS" id="41ox5Vn4525" role="3clF47">
<node concept="3cpWs6" id="41ox5Vn4526" role="3cqZAp">
<node concept="1Wc70l" id="41ox5Vn4527" role="3cqZAk">
<node concept="1Wc70l" id="41ox5Vn4528" role="3uHU7B">
<node concept="1Wc70l" id="41ox5Vn4529" role="3uHU7B">
<node concept="1eOMI4" id="41ox5Vn452f" role="3uHU7B">
<node concept="3clFbC" id="41ox5Vn452a" role="1eOMHV">
<node concept="2OqwBi" id="41ox5Vn452b" role="3uHU7B">
<node concept="Xjq3P" id="41ox5Vn452c" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn452d" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44Zy" resolve="X1" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn453k" role="3uHU7w">
<node concept="37vLTw" id="41ox5Vn453j" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn4523" resolve="other" />
</node>
<node concept="2OwXpG" id="41ox5Vn453l" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44Zy" resolve="X1" />
</node>
</node>
</node>
</node>
<node concept="1eOMI4" id="41ox5Vn452l" role="3uHU7w">
<node concept="3clFbC" id="41ox5Vn452g" role="1eOMHV">
<node concept="2OqwBi" id="41ox5Vn452h" role="3uHU7B">
<node concept="Xjq3P" id="41ox5Vn452i" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn452j" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZA" resolve="X2" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn453o" role="3uHU7w">
<node concept="37vLTw" id="41ox5Vn453n" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn4523" resolve="other" />
</node>
<node concept="2OwXpG" id="41ox5Vn453p" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZA" resolve="X2" />
</node>
</node>
</node>
</node>
</node>
<node concept="1eOMI4" id="41ox5Vn452r" role="3uHU7w">
<node concept="3clFbC" id="41ox5Vn452m" role="1eOMHV">
<node concept="2OqwBi" id="41ox5Vn452n" role="3uHU7B">
<node concept="Xjq3P" id="41ox5Vn452o" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn452p" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZE" resolve="X3" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn453s" role="3uHU7w">
<node concept="37vLTw" id="41ox5Vn453r" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn4523" resolve="other" />
</node>
<node concept="2OwXpG" id="41ox5Vn453t" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZE" resolve="X3" />
</node>
</node>
</node>
</node>
</node>
<node concept="1eOMI4" id="41ox5Vn452x" role="3uHU7w">
<node concept="3clFbC" id="41ox5Vn452s" role="1eOMHV">
<node concept="2OqwBi" id="41ox5Vn452t" role="3uHU7B">
<node concept="Xjq3P" id="41ox5Vn452u" role="2Oq$k0" />
<node concept="2OwXpG" id="41ox5Vn452v" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZI" resolve="X4" />
</node>
</node>
<node concept="2OqwBi" id="41ox5Vn453w" role="3uHU7w">
<node concept="37vLTw" id="41ox5Vn453v" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn4523" resolve="other" />
</node>
<node concept="2OwXpG" id="41ox5Vn453x" role="2OqNvi">
<ref role="2Oxat5" node="41ox5Vn44ZI" resolve="X4" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="41ox5Vn452y" role="1B3o_S" />
<node concept="10P_77" id="41ox5Vn452z" role="3clF45" />
</node>
<node concept="3clFb_" id="41ox5Vn452$" role="jymVt">
<property role="TrG5h" value="toString" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="2AHcQZ" id="41ox5Vn452_" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
<node concept="3clFbS" id="41ox5Vn452A" role="3clF47">
<node concept="3cpWs8" id="41ox5Vn452C" role="3cqZAp">
<node concept="3cpWsn" id="41ox5Vn452B" role="3cpWs9">
<property role="3TUv4t" value="true" />
<property role="TrG5h" value="result" />
<node concept="3uibUv" id="41ox5Vn452D" role="1tU5fm">
<ref role="3uigEE" to="e2lb:~StringBuilder" resolve="StringBuilder" />
</node>
<node concept="2ShNRf" id="41ox5Vn453y" role="33vP2m">
<node concept="1pGfFk" id="41ox5Vn453H" role="2ShVmc">
<ref role="37wK5l" to="e2lb:~StringBuilder.&lt;init&gt;(int)" resolve="StringBuilder" />
<node concept="3cmrfG" id="41ox5Vn452F" role="37wK5m">
<property role="3cmrfH" value="64" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn452G" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn453K" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn453J" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn453L" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(char):java.lang.StringBuilder" resolve="append" />
<node concept="1Xhbcc" id="41ox5Vn452I" role="37wK5m">
<property role="1XhdNS" value="(" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn452J" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn453O" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn453N" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn453P" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(int):java.lang.StringBuilder" resolve="append" />
<node concept="37vLTw" id="41ox5Vn452L" role="37wK5m">
<ref role="3cqZAo" node="41ox5Vn44Zy" resolve="X1" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn452M" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn453S" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn453R" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn453T" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolve="append" />
<node concept="Xl_RD" id="41ox5Vn452O" role="37wK5m">
<property role="Xl_RC" value=", " />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn452P" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn453W" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn453V" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn453X" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(int):java.lang.StringBuilder" resolve="append" />
<node concept="37vLTw" id="41ox5Vn452R" role="37wK5m">
<ref role="3cqZAo" node="41ox5Vn44ZA" resolve="X2" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn452S" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn4540" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn453Z" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn4541" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolve="append" />
<node concept="Xl_RD" id="41ox5Vn452U" role="37wK5m">
<property role="Xl_RC" value=", " />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn452V" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn4544" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn4543" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn4545" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(int):java.lang.StringBuilder" resolve="append" />
<node concept="37vLTw" id="41ox5Vn452X" role="37wK5m">
<ref role="3cqZAo" node="41ox5Vn44ZE" resolve="X3" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn452Y" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn4548" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn4547" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn4549" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolve="append" />
<node concept="Xl_RD" id="41ox5Vn4530" role="37wK5m">
<property role="Xl_RC" value=", " />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn4531" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn454c" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn454b" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn454d" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(int):java.lang.StringBuilder" resolve="append" />
<node concept="37vLTw" id="41ox5Vn4533" role="37wK5m">
<ref role="3cqZAo" node="41ox5Vn44ZI" resolve="X4" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5Vn4534" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn454g" role="3clFbG">
<node concept="37vLTw" id="41ox5Vn454f" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn454h" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(char):java.lang.StringBuilder" resolve="append" />
<node concept="1Xhbcc" id="41ox5Vn4536" role="37wK5m">
<property role="1XhdNS" value=")" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="41ox5Vn4537" role="3cqZAp">
<node concept="2OqwBi" id="41ox5Vn454k" role="3cqZAk">
<node concept="37vLTw" id="41ox5Vn454j" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5Vn452B" resolve="result" />
</node>
<node concept="liA8E" id="41ox5Vn454l" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.toString():java.lang.String" resolve="toString" />
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="41ox5Vn4539" role="1B3o_S" />
<node concept="3uibUv" id="41ox5Vn453a" role="3clF45">
<ref role="3uigEE" to="e2lb:~String" resolve="String" />
</node>
</node>
</node>
</model>

View File

@ -5,12 +5,15 @@
<sourceRoot location="models" />
</modelRoot>
</models>
<stubModelEntries>
<stubModelEntry path="${module}/classes_jchr" />
</stubModelEntries>
<sourcePath />
<dependencies>
<dependency reexport="false">a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)</dependency>
<dependency reexport="false">b984ee52-f34d-4b6d-8812-866c1d3eae31(jetbrains.mps.jchr.runtime)</dependency>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">7526e0cf-1ce7-46f8-a555-9eca1e06c23b(jetbrains.mps.unification.tree)</dependency>
<dependency reexport="false">b984ee52-f34d-4b6d-8812-866c1d3eae31(jetbrains.mps.jchr.runtime)</dependency>
</dependencies>
<usedLanguages>
<usedLanguage>894463aa-8754-49c0-bf4b-6a32af66b376(jetbrains.mps.jchr)</usedLanguage>

View File

@ -5,9 +5,6 @@
<sourceRoot location="models" />
</modelRoot>
</models>
<stubModelEntries>
<stubModelEntry path="/Volumes/Sparky/Research/CHR/jetbrains.mps.jchr/languages/jetbrains.mps.lang.typesystem2/sandbox/jetbrains.mps.lang.typesystem2.samplechecker.handler/classes_jchr" />
</stubModelEntries>
<sourcePath />
<dependencies>
<dependency reexport="false">b6db9382-d342-43fd-8051-5b6af3c0c80a(jetbrains.mps.lang.typesystem2.samplechecker.handler)</dependency>

View File

@ -262,11 +262,11 @@
<node concept="3cpWsn" id="3Qp4N06bZni" role="3cpWs9">
<property role="TrG5h" value="handler" />
<node concept="1Kb3S_" id="3Qp4N06bZnj" role="1tU5fm">
<ref role="1Kaivj" to="7y3b:12TFIqWxyQ7" resolve="testHandler" />
<ref role="1Kaivj" to="7y3b:41ox5VnbRye" resolve="testHandler" />
</node>
<node concept="2ShNRf" id="3Qp4N06bZnk" role="33vP2m">
<node concept="1KbMJY" id="3Qp4N06bZnl" role="2ShVmc">
<ref role="1Kajjj" to="7y3b:12TFIqWxyQ7" resolve="testHandler" />
<ref role="1Kajjj" to="7y3b:41ox5VnbRye" resolve="testHandler" />
<node concept="2OqwBi" id="3Qp4N06bZnm" role="1KkMwq">
<node concept="37vLTw" id="3Qp4N06bZnn" role="2Oq$k0">
<ref role="3cqZAo" node="3Qp4N06bZnb" resolve="farm" />
@ -316,7 +316,7 @@
<ref role="3cqZAo" node="3Qp4N06bZni" resolve="handler" />
</node>
<node concept="1KczDs" id="6qJjpCjqw_S" role="2OqNvi">
<ref role="1KgAX_" to="7y3b:12TFIqWxyQB" resolve="check" />
<ref role="1KgAX_" to="7y3b:41ox5VnbRyI" resolve="check" />
<node concept="Xl_RD" id="6qJjpCjtKec" role="1KcKQn">
<property role="Xl_RC" value="4438600004733396337(HelloWorld)" />
</node>
@ -331,7 +331,7 @@
<ref role="3cqZAo" node="3Qp4N06bZni" resolve="handler" />
</node>
<node concept="1KczDs" id="6lpwCiZ78Rj" role="2OqNvi">
<ref role="1KgAX_" to="7y3b:12TFIqWxyQB" resolve="check" />
<ref role="1KgAX_" to="7y3b:41ox5VnbRyI" resolve="check" />
<node concept="1oi1Uc" id="6YyAPwCRevQ" role="1KcKQn">
<node concept="1oi5UN" id="6YyAPwCRevS" role="1oi0x0">
<node concept="1oi5Wm" id="6YyAPwCRevU" role="1ojpOf">
@ -945,7 +945,7 @@
<node concept="37vLTG" id="3XExYyWVIV0" role="3clF46">
<property role="TrG5h" value="handler" />
<node concept="1Kb3S_" id="3XExYyWVIV1" role="1tU5fm">
<ref role="1Kaivj" to="7y3b:12TFIqWxyQ7" resolve="testHandler" />
<ref role="1Kaivj" to="7y3b:41ox5VnbRye" resolve="testHandler" />
</node>
</node>
<node concept="3clFbS" id="3XExYyWVIUA" role="3clF47">

View File

@ -1412,7 +1412,7 @@
<ref role="37wK5l" to="810:~Messages.showInfoMessage(java.lang.String,java.lang.String):void" resolve="showInfoMessage" />
<ref role="1Pybhc" to="810:~Messages" resolve="Messages" />
<node concept="Xl_RD" id="3Qp4N06byoI" role="37wK5m">
<property role="Xl_RC" value="Finished without errors" />
<property role="Xl_RC" value="OK -- collecting rules" />
</node>
<node concept="Xl_RD" id="3Qp4N06byoH" role="37wK5m">
<property role="Xl_RC" value="Collect Rules" />
@ -1434,70 +1434,88 @@
<node concept="2XrIbr" id="12TFIqWsUfI" role="32lrUH">
<property role="TrG5h" value="stepTwo" />
<node concept="3clFbS" id="12TFIqWsUfJ" role="3clF47">
<node concept="3clFbF" id="7RDCjSXjQjS" role="3cqZAp">
<node concept="2YIFZM" id="7RDCjSXjRlr" role="3clFbG">
<ref role="37wK5l" node="7RDCjSXjQEP" resolve="make" />
<ref role="1Pybhc" node="7RDCjSXgvZa" resolve="MakeCollectedRules" />
<node concept="2OqwBi" id="7RDCjSXjSwA" role="37wK5m">
<node concept="2WthIp" id="7RDCjSXjSwD" role="2Oq$k0" />
<node concept="1DTwFV" id="7RDCjSXjSwF" role="2OqNvi">
<ref role="2WH_rO" node="7iCFfvQBVbg" resolve="mpsProject" />
<node concept="3clFbJ" id="41ox5VnbJZ4" role="3cqZAp">
<node concept="3clFbS" id="41ox5VnbJZ6" role="3clFbx">
<node concept="3clFbF" id="41ox5VnbKwT" role="3cqZAp">
<node concept="2YIFZM" id="41ox5VnbKwU" role="3clFbG">
<ref role="1Pybhc" to="810:~Messages" resolve="Messages" />
<ref role="37wK5l" to="810:~Messages.showWarningDialog(java.lang.String,java.lang.String):void" resolve="showWarningDialog" />
<node concept="Xl_RD" id="41ox5VnbKwV" role="37wK5m">
<property role="Xl_RC" value="Could not start Make" />
</node>
<node concept="Xl_RD" id="41ox5VnbKwW" role="37wK5m">
<property role="Xl_RC" value="Make Rules" />
</node>
</node>
</node>
<node concept="1bVj0M" id="7RDCjSXjSzD" role="37wK5m">
<node concept="3clFbS" id="7RDCjSXjSzF" role="1bW5cS">
<node concept="3clFbJ" id="7RDCjSXjTcD" role="3cqZAp">
<node concept="3fqX7Q" id="12TFIqWuZEu" role="3clFbw">
<node concept="2OqwBi" id="12TFIqWuZEv" role="3fr31v">
<node concept="37vLTw" id="12TFIqWuZEw" role="2Oq$k0">
<ref role="3cqZAo" node="7RDCjSXjSY$" resolve="res" />
</node>
<node concept="liA8E" id="12TFIqWuZEx" role="2OqNvi">
<ref role="37wK5l" to="i9so:17I1R__cQ6v" resolve="isSucessful" />
</node>
</node>
</node>
<node concept="3clFbS" id="7RDCjSXjTyj" role="3clFbx">
<node concept="3clFbF" id="7RDCjSXjT$h" role="3cqZAp">
<node concept="2YIFZM" id="7RDCjSXjT$i" role="3clFbG">
<ref role="1Pybhc" to="810:~Messages" resolve="Messages" />
<ref role="37wK5l" to="810:~Messages.showWarningDialog(java.lang.String,java.lang.String):void" resolve="showWarningDialog" />
<node concept="Xl_RD" id="7RDCjSXjVhZ" role="37wK5m">
<property role="Xl_RC" value="Encountered errors" />
</node>
<node concept="Xl_RD" id="7RDCjSXjT$o" role="37wK5m">
<property role="Xl_RC" value="Make Rules" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="12TFIqWuZC9" role="3cqZAp" />
<node concept="3clFbF" id="7RDCjSXjTvY" role="3cqZAp">
<node concept="2YIFZM" id="7RDCjSXjTvZ" role="3clFbG">
<ref role="1Pybhc" to="810:~Messages" resolve="Messages" />
<ref role="37wK5l" to="810:~Messages.showInfoMessage(java.lang.String,java.lang.String):void" resolve="showInfoMessage" />
<node concept="Xl_RD" id="7RDCjSXjTw0" role="37wK5m">
<property role="Xl_RC" value="Finished without errors" />
</node>
<node concept="Xl_RD" id="7RDCjSXjTw1" role="37wK5m">
<property role="Xl_RC" value="Make Rules" />
</node>
</node>
</node>
<node concept="3clFbF" id="12TFIqWuZzT" role="3cqZAp">
<node concept="2OqwBi" id="12TFIqWuZzN" role="3clFbG">
<node concept="2WthIp" id="12TFIqWuZzQ" role="2Oq$k0" />
<node concept="2XshWL" id="12TFIqWuZzS" role="2OqNvi">
<ref role="2WH_rO" node="12TFIqWsVRB" resolve="stepThree" />
</node>
</node>
<node concept="3clFbH" id="41ox5VnbKyk" role="3cqZAp" />
</node>
<node concept="3fqX7Q" id="41ox5VnbKaq" role="3clFbw">
<node concept="2YIFZM" id="41ox5VnbKas" role="3fr31v">
<ref role="37wK5l" node="7RDCjSXjQEP" resolve="make" />
<ref role="1Pybhc" node="7RDCjSXgvZa" resolve="MakeCollectedRules" />
<node concept="2OqwBi" id="41ox5VnbKat" role="37wK5m">
<node concept="2WthIp" id="41ox5VnbKau" role="2Oq$k0" />
<node concept="1DTwFV" id="41ox5VnbKav" role="2OqNvi">
<ref role="2WH_rO" node="7iCFfvQBVbg" resolve="mpsProject" />
</node>
</node>
<node concept="37vLTG" id="7RDCjSXjSY$" role="1bW2Oz">
<property role="TrG5h" value="res" />
<node concept="3uibUv" id="7RDCjSXjT6_" role="1tU5fm">
<ref role="3uigEE" to="i9so:17I1R__cQ5X" resolve="IResult" />
<node concept="1bVj0M" id="41ox5VnbKaw" role="37wK5m">
<node concept="3clFbS" id="41ox5VnbKax" role="1bW5cS">
<node concept="3clFbJ" id="41ox5VnbKay" role="3cqZAp">
<node concept="3fqX7Q" id="41ox5VnbKaz" role="3clFbw">
<node concept="2OqwBi" id="41ox5VnbKa$" role="3fr31v">
<node concept="37vLTw" id="41ox5VnbKa_" role="2Oq$k0">
<ref role="3cqZAo" node="41ox5VnbKaP" resolve="res" />
</node>
<node concept="liA8E" id="41ox5VnbKaA" role="2OqNvi">
<ref role="37wK5l" to="i9so:17I1R__cQ6v" resolve="isSucessful" />
</node>
</node>
</node>
<node concept="3clFbS" id="41ox5VnbKaB" role="3clFbx">
<node concept="3clFbF" id="41ox5VnbKaC" role="3cqZAp">
<node concept="2YIFZM" id="41ox5VnbKaD" role="3clFbG">
<ref role="1Pybhc" to="810:~Messages" resolve="Messages" />
<ref role="37wK5l" to="810:~Messages.showWarningDialog(java.lang.String,java.lang.String):void" resolve="showWarningDialog" />
<node concept="Xl_RD" id="41ox5VnbKaE" role="37wK5m">
<property role="Xl_RC" value="Encountered errors" />
</node>
<node concept="Xl_RD" id="41ox5VnbKaF" role="37wK5m">
<property role="Xl_RC" value="Make Rules" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="41ox5VnbKaG" role="3cqZAp" />
<node concept="3clFbF" id="41ox5VnbKaH" role="3cqZAp">
<node concept="2YIFZM" id="41ox5VnbKaI" role="3clFbG">
<ref role="37wK5l" to="810:~Messages.showInfoMessage(java.lang.String,java.lang.String):void" resolve="showInfoMessage" />
<ref role="1Pybhc" to="810:~Messages" resolve="Messages" />
<node concept="Xl_RD" id="41ox5VnbKaJ" role="37wK5m">
<property role="Xl_RC" value="OK -- making rules" />
</node>
<node concept="Xl_RD" id="41ox5VnbKaK" role="37wK5m">
<property role="Xl_RC" value="Make Rules" />
</node>
</node>
</node>
<node concept="3clFbF" id="41ox5VnbKaL" role="3cqZAp">
<node concept="2OqwBi" id="41ox5VnbKaM" role="3clFbG">
<node concept="2WthIp" id="41ox5VnbKaN" role="2Oq$k0" />
<node concept="2XshWL" id="41ox5VnbKaO" role="2OqNvi">
<ref role="2WH_rO" node="12TFIqWsVRB" resolve="stepThree" />
</node>
</node>
</node>
<node concept="3clFbH" id="41ox5VnbKyI" role="3cqZAp" />
</node>
<node concept="37vLTG" id="41ox5VnbKaP" role="1bW2Oz">
<property role="TrG5h" value="res" />
<node concept="3uibUv" id="41ox5VnbKaQ" role="1tU5fm">
<ref role="3uigEE" to="i9so:17I1R__cQ5X" resolve="IResult" />
</node>
</node>
</node>
</node>
@ -1715,7 +1733,7 @@
<ref role="1Pybhc" to="810:~Messages" resolve="Messages" />
<ref role="37wK5l" to="810:~Messages.showInfoMessage(java.lang.String,java.lang.String):void" resolve="showInfoMessage" />
<node concept="Xl_RD" id="12TFIqWuYUf" role="37wK5m">
<property role="Xl_RC" value="Finished without errors" />
<property role="Xl_RC" value="OK -- launched the rules" />
</node>
<node concept="Xl_RD" id="12TFIqWuYUg" role="37wK5m">
<property role="Xl_RC" value="Launch Rules" />
@ -1855,7 +1873,7 @@
</node>
</node>
</node>
<node concept="3cqZAl" id="7RDCjSXjNjW" role="3clF45" />
<node concept="10P_77" id="41ox5VnbI$T" role="3clF45" />
<node concept="3Tm1VV" id="7RDCjSXjN75" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="7RDCjSXiqW3" role="jymVt" />
@ -2001,6 +2019,11 @@
</node>
</node>
<node concept="3clFbH" id="7RDCjSXl$O4" role="3cqZAp" />
<node concept="3SKdUt" id="41ox5VnbG1p" role="3cqZAp">
<node concept="3SKdUq" id="41ox5VnbG9_" role="3SKWNk">
<property role="3SKdUp" value="await the make results from a separate thread so as no to block the EDT" />
</node>
</node>
<node concept="3clFbF" id="7RDCjSXnhQ$" role="3cqZAp">
<node concept="2OqwBi" id="7RDCjSXnjl3" role="3clFbG">
<node concept="2ShNRf" id="7RDCjSXnhQw" role="2Oq$k0">
@ -2023,14 +2046,6 @@
<node concept="3clFbS" id="7RDCjSXniGd" role="3clF47">
<node concept="SfApY" id="7RDCjSXk2C_" role="3cqZAp">
<node concept="3clFbS" id="7RDCjSXk2CB" role="SfCbr">
<node concept="3clFbH" id="7RDCjSXlcKg" role="3cqZAp" />
<node concept="34ab3g" id="7RDCjSXkJED" role="3cqZAp">
<property role="35gtTG" value="warn" />
<node concept="Xl_RD" id="7RDCjSXkJEG" role="34bqiv">
<property role="Xl_RC" value="*** WAITING FOR RESULT" />
</node>
</node>
<node concept="3clFbH" id="7RDCjSXkJ$F" role="3cqZAp" />
<node concept="3cpWs8" id="7RDCjSXjMeF" role="3cqZAp">
<node concept="3cpWsn" id="7RDCjSXjMeG" role="3cpWs9">
<property role="TrG5h" value="res" />
@ -2047,19 +2062,11 @@
</node>
</node>
</node>
<node concept="3clFbH" id="7RDCjSXkpxj" role="3cqZAp" />
<node concept="34ab3g" id="7RDCjSXkpKg" role="3cqZAp">
<property role="35gtTG" value="warn" />
<node concept="3cpWs3" id="7RDCjSXkq9S" role="34bqiv">
<node concept="37vLTw" id="7RDCjSXkqbb" role="3uHU7w">
<ref role="3cqZAo" node="7RDCjSXjMeG" resolve="res" />
</node>
<node concept="Xl_RD" id="7RDCjSXkpKi" role="3uHU7B">
<property role="Xl_RC" value="*** RESULT: " />
</node>
<node concept="3SKdUt" id="41ox5VnbFBa" role="3cqZAp">
<node concept="3SKdUq" id="41ox5VnbFEl" role="3SKWNk">
<property role="3SKdUp" value="call the continuation from the EDT" />
</node>
</node>
<node concept="3clFbH" id="7RDCjSXkpCe" role="3cqZAp" />
<node concept="3clFbF" id="7RDCjSXjJy5" role="3cqZAp">
<node concept="2YIFZM" id="7RDCjSXjL3O" role="3clFbG">
<ref role="37wK5l" to="dbrf:~SwingUtilities.invokeLater(java.lang.Runnable):void" resolve="invokeLater" />
@ -2117,6 +2124,22 @@
</node>
</node>
</node>
<node concept="3clFbH" id="41ox5VnbGlv" role="3cqZAp" />
<node concept="3cpWs6" id="41ox5VnbGyI" role="3cqZAp">
<node concept="3clFbT" id="41ox5VnbGMv" role="3cqZAk">
<property role="3clFbU" value="true" />
</node>
</node>
<node concept="3clFbH" id="41ox5VnbHj3" role="3cqZAp" />
</node>
<node concept="9aQIb" id="41ox5VnbHuN" role="9aQIa">
<node concept="3clFbS" id="41ox5VnbHuO" role="9aQI4">
<node concept="3cpWs6" id="41ox5VnbHGK" role="3cqZAp">
<node concept="3clFbT" id="41ox5VnbHI3" role="3cqZAk">
<property role="3clFbU" value="false" />
</node>
</node>
</node>
</node>
</node>
</node>
@ -2144,7 +2167,7 @@
</node>
</node>
</node>
<node concept="3cqZAl" id="7RDCjSXirko" role="3clF45" />
<node concept="10P_77" id="41ox5VnbIkL" role="3clF45" />
<node concept="3Tm6S6" id="7RDCjSXirl4" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="7RDCjSXg_hu" role="jymVt" />