TMP typesystem2 aspect

This commit is contained in:
Fedor Isakov 2014-10-08 09:52:05 +02:00
parent 1a331ba3be
commit 9f80ff9738
12 changed files with 244 additions and 0 deletions

View File

@ -6,6 +6,9 @@
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.jchr/runtime/jetbrains.mps.jchr.runtime.msd" folder="jchr" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.jchr/sandbox/jetbrains.mps.jchr.sandbox.msd" folder="jchr" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.jchr/sandbox/runner/jetbrains.mps.jchr.sandbox.runner.msd" folder="jchr" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl" folder="typesystem2" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.lang.typesystem2/runtime/jetbrains.mps.lang.typesystem2.runtime.msd" folder="typesystem2" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.lang.typesystem2/sandbox/jetbrains.mps.lang.typesystem2.sandbox.msd" folder="typesystem2" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.logic/jetbrains.mps.logic.mpl" folder="logic" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.logic/runtime/jetbrains.mps.logic.runtime.msd" folder="logic" />
<modulePath path="$PROJECT_DIR$/languages/jetbrains.mps.logic/sandbox/jetbrains.mps.logic.sandbox.msd" folder="logic" />

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:c0702ee3-be79-48ac-aa39-b7cd0d895de6(jetbrains.mps.lang.typesystem2.generator.template.main@generator)">
<persistence version="8" />
<language namespace="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" />
<language namespace="b401a680-8325-4110-8fd3-84331ff25bef(jetbrains.mps.lang.generator)" />
<language namespace="c4803b19-6d89-4a3b-bf82-390769514add(jetbrains.mps.lang.typesystem2)" />
<language namespace="d7706f63-9be2-479c-a3da-ae92af1e64d5(jetbrains.mps.lang.generator.generationContext)" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="tpf8" modelUID="r:00000000-0000-4000-0000-011c895902e8(jetbrains.mps.lang.generator.structure)" version="2" implicit="yes" />
<root type="tpf8.MappingConfiguration" typeId="tpf8.1095416546421" id="4578927328670739934" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="main" />
</root>
</model>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<language namespace="jetbrains.mps.lang.typesystem2" uuid="c4803b19-6d89-4a3b-bf82-390769514add">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="languageModels" />
</modelRoot>
</models>
<accessoryModels />
<generators>
<generator generatorUID="jetbrains.mps.lang.typesystem2#4578927328670739933" uuid="21d5540d-cd6b-44dd-b6ab-6835bf032803">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="generator/template" />
</modelRoot>
</models>
<external-templates />
<usedLanguages>
<usedLanguage>b401a680-8325-4110-8fd3-84331ff25bef(jetbrains.mps.lang.generator)</usedLanguage>
<usedLanguage>d7706f63-9be2-479c-a3da-ae92af1e64d5(jetbrains.mps.lang.generator.generationContext)</usedLanguage>
<usedLanguage>c4803b19-6d89-4a3b-bf82-390769514add(jetbrains.mps.lang.typesystem2)</usedLanguage>
</usedLanguages>
<usedDevKits>
<usedDevKit>fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)</usedDevKit>
</usedDevKits>
<mapping-priorities />
</generator>
</generators>
<sourcePath />
<usedDevKits>
<usedDevKit>2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)</usedDevKit>
</usedDevKits>
<extendedLanguages />
</language>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:15ea4f4e-2f41-4ce3-b7e4-a4e0737f0171(jetbrains.mps.lang.typesystem2.behavior)">
<persistence version="8" />
<language namespace="af65afd8-f0dd-4942-87d9-63a55f2a9db1(jetbrains.mps.lang.behavior)" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</model>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:81151157-4aa6-41ac-acda-128bb1020041(jetbrains.mps.lang.typesystem2.constraints)">
<persistence version="8" />
<language namespace="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1(jetbrains.mps.lang.constraints)" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</model>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:3345f3eb-f61a-42bd-88eb-d9032a80e9a6(jetbrains.mps.lang.typesystem2.editor)">
<persistence version="8" />
<language namespace="18bc6592-03a6-4e29-a83a-7ff23bde13ba(jetbrains.mps.lang.editor)" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</model>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:83137295-aa87-45e8-b0c0-ede2adf2a396(jetbrains.mps.lang.typesystem2.structure)">
<persistence version="8" />
<language namespace="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</model>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:6a6b9246-6407-4ef2-8408-df149f70bcd9(jetbrains.mps.lang.typesystem2.typesystem)">
<persistence version="8" />
<language namespace="7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</model>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<solution name="jetbrains.mps.lang.typesystem2.runtime" uuid="26e8f4ce-2a35-4f44-8065-e5ba154b18e9" compileInMPS="true">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="models" />
</modelRoot>
</models>
<sourcePath />
<usedDevKits>
<usedDevKit>fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)</usedDevKit>
<usedDevKit>2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)</usedDevKit>
</usedDevKits>
</solution>

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:b533b427-da69-49d8-9c93-4ea32433b66e(jetbrains.mps.lang.typesystem2.runtime)">
<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="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" implicit="yes" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="e2lb" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" version="-1" implicit="yes" />
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="4578927328670745645" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="RuleBuilder" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670782349" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="4578927328670840481" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="addHeadConstraintToKeep" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4578927328670840792" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="uc" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4578927328670840861" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="4578927328670798906" resolveInfo="UserConstraint" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="4578927328670840483" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670840484" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4578927328670840485" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670867089" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="4578927328670866960" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="addHeadConstraintToRemove" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4578927328670866961" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="uc" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4578927328670866962" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="4578927328670798906" resolveInfo="UserConstraint" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="4578927328670866963" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670866964" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4578927328670866965" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670782366" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="4578927328670841187" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="addGuardConstraint" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4578927328670841620" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="uc" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4578927328670841743" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="4578927328670798906" resolveInfo="UserConstraint" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="4578927328670841189" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670841190" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4578927328670841191" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670841999" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="4578927328670841870" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="addGuardConstraint" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4578927328670841871" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="bc" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4578927328670842139" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="4578927328670817514" resolveInfo="BuiltinConstraint" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="4578927328670841873" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670841874" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4578927328670841875" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670842212" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="4578927328670842380" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="addBodyConstraint" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4578927328670863855" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="uc" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4578927328670863856" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="4578927328670798906" resolveInfo="UserConstraint" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="4578927328670842382" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670842383" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4578927328670842384" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670864111" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.InstanceMethodDeclaration" typeId="tpee.1068580123165" id="4578927328670863936" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="addBodyConstraint" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4578927328670864379" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="bc" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4578927328670864380" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="4578927328670817514" resolveInfo="BuiltinConstraint" />
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="4578927328670863939" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670863940" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4578927328670863941" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670782370" nodeInfo="ngu" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670745646" nodeInfo="nn" />
</root>
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="4578927328670798906" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="UserConstraint" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670799084" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.ConstructorDeclaration" typeId="tpee.1068580123140" id="4578927328670876484" nodeInfo="igu">
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4578927328670876553" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="name" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.StringType" typeId="tpee.1225271177708" id="4578927328670876615" nodeInfo="in" />
</node>
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="4578927328670876680" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="args" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.VariableArityType" typeId="tpee.1219920932475" id="4578927328670876755" nodeInfo="in">
<node role="componentType" roleId="tpee.1219921048460" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="4578927328670876690" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
</node>
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.VoidType" typeId="tpee.1068581517677" id="4578927328670876486" nodeInfo="in" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670876487" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="4578927328670876488" nodeInfo="sn" />
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670799143" nodeInfo="ngu" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670798907" nodeInfo="nn" />
</root>
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="4578927328670817514" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="BuiltinConstraint" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670817760" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="4578927328670817762" nodeInfo="ngu" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="4578927328670817515" nodeInfo="nn" />
</root>
</model>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<solution name="jetbrains.mps.lang.typesystem2.sandbox" uuid="12bf051d-80c5-4b0d-a6ec-39f2c4c17e26" compileInMPS="true">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="models" />
</modelRoot>
</models>
<sourcePath />
<usedLanguages>
<usedLanguage>ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)</usedLanguage>
<usedLanguage>c4803b19-6d89-4a3b-bf82-390769514add(jetbrains.mps.lang.typesystem2)</usedLanguage>
</usedLanguages>
</solution>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:dba3d2d4-97f1-42c8-b8ff-d7210906a24c(jetbrains.mps.lang.typesystem2.sandbox)">
<persistence version="8" />
<language namespace="c4803b19-6d89-4a3b-bf82-390769514add(jetbrains.mps.lang.typesystem2)" />
<language namespace="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" />
</model>