Commit f573137d authored by André Pacak's avatar André Pacak
Browse files

fixing stupid bug in infer (case Zero was not for term Zero but a name (default case))

parent a9492c94
This diff is collapsed.
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<dependency className="VariantTypes_Checker.model.AnalysisResultAccess"> <dependency className="VariantTypes_Checker.model.AnalysisResultAccess">
<classNode dependClassName="VariantTypes_Checker.model.LType" /> <classNode dependClassName="VariantTypes_Checker.model.LType" />
<classNode dependClassName="VariantTypes_Checker.model.LTypeVariant" /> <classNode dependClassName="VariantTypes_Checker.model.LTypeVariant" />
<classNode dependClassName="VariantTypes_Checker.model.Typing_CheckFailureQuerySpecification" /> <classNode dependClassName="VariantTypes_Checker.model.Typing_CheckErrorQuerySpecification" />
<classNode dependClassName="VariantTypes_Checker.model.Typing_InferQuerySpecification" /> <classNode dependClassName="VariantTypes_Checker.model.Typing_InferQuerySpecification" />
<classNode dependClassName="VariantTypes_Checker.model.Typing_LookupFailureQuerySpecification" /> <classNode dependClassName="VariantTypes_Checker.model.Typing_LookupFailureQuerySpecification" />
<classNode dependClassName="VariantTypes_Checker.model.Typing_MatchFunFailureQuerySpecification" /> <classNode dependClassName="VariantTypes_Checker.model.Typing_MatchFunFailureQuerySpecification" />
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
<classNode dependClassName="io.usethesource.capsule.Map" /> <classNode dependClassName="io.usethesource.capsule.Map" />
<classNode dependClassName="java.lang.Object" /> <classNode dependClassName="java.lang.Object" />
<classNode dependClassName="java.lang.String" /> <classNode dependClassName="java.lang.String" />
<classNode dependClassName="java.lang.System" />
<classNode dependClassName="java.util.Iterator" /> <classNode dependClassName="java.util.Iterator" />
<classNode dependClassName="java.util.Map" /> <classNode dependClassName="java.util.Map" />
<classNode dependClassName="java.util.Set" /> <classNode dependClassName="java.util.Set" />
...@@ -362,7 +361,7 @@ ...@@ -362,7 +361,7 @@
<classNode dependClassName="org.inca.core.runtime.plugin.MPSQuerySpecificationHints" /> <classNode dependClassName="org.inca.core.runtime.plugin.MPSQuerySpecificationHints" />
<classNode extendsClassName="org.inca.core.runtime.plugin.MPSQuerySpecification" /> <classNode extendsClassName="org.inca.core.runtime.plugin.MPSQuerySpecification" />
</dependency> </dependency>
<dependency className="VariantTypes_Checker.model.Typing_CheckFailureQuerySpecification"> <dependency className="VariantTypes_Checker.model.Typing_CheckErrorQuerySpecification">
<classNode dependClassName="VariantTypes_Checker.model.QuerySpecificationHints" /> <classNode dependClassName="VariantTypes_Checker.model.QuerySpecificationHints" />
<classNode dependClassName="VariantTypes_Checker.model.Typing_CheckQuerySpecification" /> <classNode dependClassName="VariantTypes_Checker.model.Typing_CheckQuerySpecification" />
<classNode dependClassName="VariantTypes_Checker.model.Typing_RequiredQuerySpecification" /> <classNode dependClassName="VariantTypes_Checker.model.Typing_RequiredQuerySpecification" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="36ynp9923n6f0f0vkzgixqmzgdy90fh"> <product version="3" modelHash="-9s0pit42rjnw8d6llqqihsfzd5dqrz">
<files names="AnalysisResultAccess.java:ConstantDefinitions.java:LType.java:LTypeVariant.java:QuerySpecificationHints.java:Typing_AllvarsQuerySpecification.java:Typing_Allvars_0_switchCommonQuerySpecification.java:Typing_AsLTypeQuerySpecification.java:Typing_AsLTypeVariantQuerySpecification.java:Typing_AsLTypeVariant_0_switchCommonQuerySpecification.java:Typing_AsLTypeVariant_WrappedQuerySpecification.java:Typing_AsLType_0_switchCommonQuerySpecification.java:Typing_CheckFailureQuerySpecification.java:Typing_CheckQuerySpecification.java:Typing_Check_0_switchCommonQuerySpecification.java:Typing_InferQuerySpecification.java:Typing_Infer_0_switchCommonQuerySpecification.java:Typing_Infer_WrappedQuerySpecification.java:Typing_LookupFailureQuerySpecification.java:Typing_LookupFailure_0_switchCommonQuerySpecification.java:Typing_LookupQuerySpecification.java:Typing_Lookup_0_switchCommonQuerySpecification.java:Typing_MatchFunFailureQuerySpecification.java:Typing_MatchFunFailure_0_switchCommonQuerySpecification.java:Typing_MatchVariantFailureQuerySpecification.java:Typing_MatchVariantFailure_0_switchCommonQuerySpecification.java:Typing_RequiredQuerySpecification.java:Typing_Required_0_switchCommonQuerySpecification.java" /> <files names="AnalysisResultAccess.java:ConstantDefinitions.java:LType.java:LTypeVariant.java:QuerySpecificationHints.java:Typing_AllvarsQuerySpecification.java:Typing_Allvars_0_switchCommonQuerySpecification.java:Typing_AsLTypeQuerySpecification.java:Typing_AsLTypeVariantQuerySpecification.java:Typing_AsLTypeVariant_0_switchCommonQuerySpecification.java:Typing_AsLTypeVariant_WrappedQuerySpecification.java:Typing_AsLType_0_switchCommonQuerySpecification.java:Typing_CheckErrorQuerySpecification.java:Typing_CheckQuerySpecification.java:Typing_Check_0_switchCommonQuerySpecification.java:Typing_InferQuerySpecification.java:Typing_Infer_0_switchCommonQuerySpecification.java:Typing_Infer_WrappedQuerySpecification.java:Typing_LookupFailureQuerySpecification.java:Typing_LookupFailure_0_switchCommonQuerySpecification.java:Typing_LookupQuerySpecification.java:Typing_Lookup_0_switchCommonQuerySpecification.java:Typing_MatchFunFailureQuerySpecification.java:Typing_MatchFunFailure_0_switchCommonQuerySpecification.java:Typing_MatchVariantFailureQuerySpecification.java:Typing_MatchVariantFailure_0_switchCommonQuerySpecification.java:Typing_RequiredQuerySpecification.java:Typing_Required_0_switchCommonQuerySpecification.java" />
</product> </product>
...@@ -34,25 +34,19 @@ public class AnalysisResultAccess { ...@@ -34,25 +34,19 @@ public class AnalysisResultAccess {
public static boolean isChecked(final SNode term, final SModel scope) { public static boolean isChecked(final SNode term, final SModel scope) {
final ViatraQueryMatcher<IPatternMatch> evaluatorInfer = EnginePool.getMatcher(Typing_InferQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE); final ViatraQueryMatcher<IPatternMatch> evaluatorInfer = EnginePool.getMatcher(Typing_InferQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final ViatraQueryMatcher<IPatternMatch> evaluatorCheckFailure = EnginePool.getMatcher(Typing_CheckFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE); final ViatraQueryMatcher<IPatternMatch> evaluatorCheckError = EnginePool.getMatcher(Typing_CheckErrorQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final ViatraQueryMatcher<IPatternMatch> evaluatorMatchFunFailure = EnginePool.getMatcher(Typing_MatchFunFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE); final ViatraQueryMatcher<IPatternMatch> evaluatorMatchFunFailure = EnginePool.getMatcher(Typing_MatchFunFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final ViatraQueryMatcher<IPatternMatch> evaluatorMatchVariantFailure = EnginePool.getMatcher(Typing_MatchVariantFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE); final ViatraQueryMatcher<IPatternMatch> evaluatorMatchVariantFailure = EnginePool.getMatcher(Typing_MatchVariantFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final ViatraQueryMatcher<IPatternMatch> evaluatorLookupFailure = EnginePool.getMatcher(Typing_LookupFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE); final ViatraQueryMatcher<IPatternMatch> evaluatorLookupFailure = EnginePool.getMatcher(Typing_LookupFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final IPatternMatch tup = evaluatorInfer.newMatch(term, null); final IPatternMatch tup = evaluatorInfer.newMatch(term, null);
final Set<LType.LTypeElement> inferValues = CodeGenerationHelper.getAllValues(evaluatorInfer, "out_1", tup); final Set<LType.LTypeElement> inferValues = CodeGenerationHelper.getAllValues(evaluatorInfer, "out_1", tup);
boolean checkFailure = CollectionSequence.fromCollection(evaluatorCheckFailure.getAllMatches()).isNotEmpty();
System.out.println("CHECK FAIL " + evaluatorCheckFailure.getAllMatches());
boolean matchFunFailure = CollectionSequence.fromCollection(evaluatorMatchFunFailure.getAllMatches()).isNotEmpty();
System.out.println("MATCHFUN FAIL " + evaluatorMatchFunFailure.getAllMatches());
boolean checkError = CollectionSequence.fromCollection(evaluatorCheckError.getAllMatches()).isNotEmpty();
boolean matchFunFailure = CollectionSequence.fromCollection(evaluatorMatchFunFailure.getAllMatches()).isNotEmpty();
boolean matchVariantFailure = CollectionSequence.fromCollection(evaluatorMatchVariantFailure.getAllMatches()).isNotEmpty(); boolean matchVariantFailure = CollectionSequence.fromCollection(evaluatorMatchVariantFailure.getAllMatches()).isNotEmpty();
System.out.println("MATCHVARIANT FAIL " + evaluatorMatchVariantFailure.getAllMatches());
boolean lookupFailure = CollectionSequence.fromCollection(evaluatorLookupFailure.getAllMatches()).isNotEmpty(); boolean lookupFailure = CollectionSequence.fromCollection(evaluatorLookupFailure.getAllMatches()).isNotEmpty();
System.out.println("LOOKUP FAIL " + evaluatorLookupFailure.getAllMatches());
if (checkFailure || matchFunFailure || matchVariantFailure || lookupFailure) { if (checkError || matchFunFailure || matchVariantFailure || lookupFailure) {
return false; return false;
} }
...@@ -63,18 +57,18 @@ public class AnalysisResultAccess { ...@@ -63,18 +57,18 @@ public class AnalysisResultAccess {
boolean isBotAvailable = SetSequence.fromSet(inferValues).any(new IWhereFilter<LType.LTypeElement>() { boolean isBotAvailable = SetSequence.fromSet(inferValues).any(new IWhereFilter<LType.LTypeElement>() {
public boolean accept(LType.LTypeElement it) { public boolean accept(LType.LTypeElement it) {
{ {
final Object[] values_a0a0a0z0d = {it}; final Object[] values_a0a0a0t0d = {it};
// declare the local variables for the case matchers // declare the local variables for the case matchers
Map<String, Object> case_0_a0a0a0a52a3; Map<String, Object> case_0_a0a0a0a91a3;
Map<String, Object> case_1_b0a0a0a52a3; Map<String, Object> case_1_b0a0a0a91a3;
if ((case_0_a0a0a0a52a3 = new SequenceMatcher(matcher_a0a0a0a0z0d).match(values_a0a0a0z0d)) != null) { if ((case_0_a0a0a0a91a3 = new SequenceMatcher(matcher_a0a0a0a0t0d).match(values_a0a0a0t0d)) != null) {
return true; return true;
} else if ((case_1_b0a0a0a52a3 = new SequenceMatcher(WildCardMatcher.INSTANCE).match(values_a0a0a0z0d)) != null) { } else if ((case_1_b0a0a0a91a3 = new SequenceMatcher(WildCardMatcher.INSTANCE).match(values_a0a0a0t0d)) != null) {
return false; return false;
} else { } else {
throw new PatternMatcherException(values_a0a0a0z0d); throw new PatternMatcherException(values_a0a0a0t0d);
} }
} }
} }
...@@ -87,21 +81,21 @@ public class AnalysisResultAccess { ...@@ -87,21 +81,21 @@ public class AnalysisResultAccess {
final LType.LTypeElement nonBotAnyValue = SetSequence.fromSet(inferValues).findFirst(new IWhereFilter<LType.LTypeElement>() { final LType.LTypeElement nonBotAnyValue = SetSequence.fromSet(inferValues).findFirst(new IWhereFilter<LType.LTypeElement>() {
public boolean accept(LType.LTypeElement it) { public boolean accept(LType.LTypeElement it) {
{ {
final Object[] values_a0a0a0db0d = {it}; final Object[] values_a0a0a0x0d = {it};
// declare the local variables for the case matchers // declare the local variables for the case matchers
Map<String, Object> case_0_a0a0a0a92a3; Map<String, Object> case_0_a0a0a0a32a3;
Map<String, Object> case_1_b0a0a0a92a3; Map<String, Object> case_1_b0a0a0a32a3;
Map<String, Object> case_2_c0a0a0a92a3; Map<String, Object> case_2_c0a0a0a32a3;
if ((case_0_a0a0a0a92a3 = new SequenceMatcher(matcher_a0a0a0a0db0d).match(values_a0a0a0db0d)) != null) { if ((case_0_a0a0a0a32a3 = new SequenceMatcher(matcher_a0a0a0a0x0d).match(values_a0a0a0x0d)) != null) {
return false; return false;
} else if ((case_1_b0a0a0a92a3 = new SequenceMatcher(matcher_a1a0a0a0db0d).match(values_a0a0a0db0d)) != null) { } else if ((case_1_b0a0a0a32a3 = new SequenceMatcher(matcher_a1a0a0a0x0d).match(values_a0a0a0x0d)) != null) {
return false; return false;
} else if ((case_2_c0a0a0a92a3 = new SequenceMatcher(WildCardMatcher.INSTANCE).match(values_a0a0a0db0d)) != null) { } else if ((case_2_c0a0a0a32a3 = new SequenceMatcher(WildCardMatcher.INSTANCE).match(values_a0a0a0x0d)) != null) {
return true; return true;
} else { } else {
throw new PatternMatcherException(values_a0a0a0db0d); throw new PatternMatcherException(values_a0a0a0x0d);
} }
} }
} }
...@@ -195,9 +189,9 @@ public class AnalysisResultAccess { ...@@ -195,9 +189,9 @@ public class AnalysisResultAccess {
} }
} }
private static final IDataMatcher matcher_a0a0a0a0z0d = new CompositeMatcher(LType.Bot.class); private static final IDataMatcher matcher_a0a0a0a0t0d = new CompositeMatcher(LType.Bot.class);
private static final IDataMatcher matcher_a0a0a0a0db0d = new CompositeMatcher(LType.Bot.class); private static final IDataMatcher matcher_a0a0a0a0x0d = new CompositeMatcher(LType.Bot.class);
private static final IDataMatcher matcher_a1a0a0a0db0d = new CompositeMatcher(LType.Any.class); private static final IDataMatcher matcher_a1a0a0a0x0d = new CompositeMatcher(LType.Any.class);
private static final IDataMatcher matcher_a0a0f = new CompositeMatcher(LType.Nat.class); private static final IDataMatcher matcher_a0a0f = new CompositeMatcher(LType.Nat.class);
private static final IDataMatcher matcher_a1a0f = new CompositeMatcher(LType.Fun.class); private static final IDataMatcher matcher_a1a0f = new CompositeMatcher(LType.Fun.class);
private static final IDataMatcher matcher_a2a0f = new CompositeMatcher(LType.Variant.class, new SimpleMatcher("ltypev")); private static final IDataMatcher matcher_a2a0f = new CompositeMatcher(LType.Variant.class, new SimpleMatcher("ltypev"));
......
...@@ -445,7 +445,6 @@ public class LType implements ILatticeOperationProvider<LType.LTypeElement>, IPo ...@@ -445,7 +445,6 @@ public class LType implements ILatticeOperationProvider<LType.LTypeElement>, IPo
Map<String, Object> case_4_e0a6; Map<String, Object> case_4_e0a6;
Map<String, Object> case_5_f0a6; Map<String, Object> case_5_f0a6;
Map<String, Object> case_6_g0a6; Map<String, Object> case_6_g0a6;
Map<String, Object> case_7_h0a6;
if ((case_0_a0a6 = new SequenceMatcher(matcher_a0a0g, WildCardMatcher.INSTANCE).match(values_a0g)) != null) { if ((case_0_a0a6 = new SequenceMatcher(matcher_a0a0g, WildCardMatcher.INSTANCE).match(values_a0g)) != null) {
return r; return r;
...@@ -467,10 +466,6 @@ public class LType implements ILatticeOperationProvider<LType.LTypeElement>, IPo ...@@ -467,10 +466,6 @@ public class LType implements ILatticeOperationProvider<LType.LTypeElement>, IPo
LTypeVariant.LTypeVariantElement rty_a1g0a6 = (LTypeVariant.LTypeVariantElement) case_6_g0a6.get("rty"); LTypeVariant.LTypeVariantElement rty_a1g0a6 = (LTypeVariant.LTypeVariantElement) case_6_g0a6.get("rty");
LTypeVariant.LTypeVariantElement lty_a0g0a6 = (LTypeVariant.LTypeVariantElement) case_6_g0a6.get("lty"); LTypeVariant.LTypeVariantElement lty_a0g0a6 = (LTypeVariant.LTypeVariantElement) case_6_g0a6.get("lty");
return LType.Variant.create(LTypeVariant.instance().lub(lty_a0g0a6, rty_a1g0a6)); return LType.Variant.create(LTypeVariant.instance().lub(lty_a0g0a6, rty_a1g0a6));
} else if ((case_7_h0a6 = new SequenceMatcher(matcher_a7a0g, matcher_b7a0g).match(values_a0g)) != null) {
LTypeVariant.LTypeVariantElement elem2_a1h0a6 = (LTypeVariant.LTypeVariantElement) case_7_h0a6.get("elem2");
LTypeVariant.LTypeVariantElement elem1_a0h0a6 = (LTypeVariant.LTypeVariantElement) case_7_h0a6.get("elem1");
return LType.Bot.create();
} else { } else {
throw new PatternMatcherException(values_a0g); throw new PatternMatcherException(values_a0g);
} }
...@@ -712,8 +707,6 @@ public class LType implements ILatticeOperationProvider<LType.LTypeElement>, IPo ...@@ -712,8 +707,6 @@ public class LType implements ILatticeOperationProvider<LType.LTypeElement>, IPo
private static final IDataMatcher matcher_b5a0g = new CompositeMatcher(LType.Fun.class, new SimpleMatcher("r1"), new SimpleMatcher("r2")); private static final IDataMatcher matcher_b5a0g = new CompositeMatcher(LType.Fun.class, new SimpleMatcher("r1"), new SimpleMatcher("r2"));
private static final IDataMatcher matcher_a6a0g = new CompositeMatcher(LType.Variant.class, new SimpleMatcher("lty")); private static final IDataMatcher matcher_a6a0g = new CompositeMatcher(LType.Variant.class, new SimpleMatcher("lty"));
private static final IDataMatcher matcher_b6a0g = new CompositeMatcher(LType.Variant.class, new SimpleMatcher("rty")); private static final IDataMatcher matcher_b6a0g = new CompositeMatcher(LType.Variant.class, new SimpleMatcher("rty"));
private static final IDataMatcher matcher_a7a0g = new CompositeMatcher(LType.Variant.class, new SimpleMatcher("elem1"));
private static final IDataMatcher matcher_b7a0g = new CompositeMatcher(LType.Variant.class, new SimpleMatcher("elem2"));
private static final IDataMatcher matcher_a0a0i = new CompositeMatcher(LType.Any.class); private static final IDataMatcher matcher_a0a0i = new CompositeMatcher(LType.Any.class);
private static final IDataMatcher matcher_b1a0i = new CompositeMatcher(LType.Any.class); private static final IDataMatcher matcher_b1a0i = new CompositeMatcher(LType.Any.class);
private static final IDataMatcher matcher_a2a0i = new CompositeMatcher(LType.Bot.class); private static final IDataMatcher matcher_a2a0i = new CompositeMatcher(LType.Bot.class);
......
...@@ -298,7 +298,7 @@ public class LTypeVariant implements ILatticeOperationProvider<LTypeVariant.LTyp ...@@ -298,7 +298,7 @@ public class LTypeVariant implements ILatticeOperationProvider<LTypeVariant.LTyp
Map.Immutable<String, LType.LTypeElement> map2_a1c0a41 = (Map.Immutable<String, LType.LTypeElement>) case_2_c0a41_0.get("map2"); Map.Immutable<String, LType.LTypeElement> map2_a1c0a41 = (Map.Immutable<String, LType.LTypeElement>) case_2_c0a41_0.get("map2");
Map.Immutable<String, LType.LTypeElement> map1_a0c0a41 = (Map.Immutable<String, LType.LTypeElement>) case_2_c0a41_0.get("map1"); Map.Immutable<String, LType.LTypeElement> map1_a0c0a41 = (Map.Immutable<String, LType.LTypeElement>) case_2_c0a41_0.get("map1");
Iterator<java.util.Map.Entry<String, LType.LTypeElement>> it = map1_a0c0a41.entryIterator(); Iterator<java.util.Map.Entry<String, LType.LTypeElement>> it = map1_a0c0a41.entryIterator();
Map.Immutable<String, LType.LTypeElement> result = Map.Immutable.of(); Map.Immutable<String, LType.LTypeElement> result = map1_a0c0a41.__putAll(map2_a1c0a41);
while (it.hasNext()) { while (it.hasNext()) {
java.util.Map.Entry<String, LType.LTypeElement> entry = it.next(); java.util.Map.Entry<String, LType.LTypeElement> entry = it.next();
LType.LTypeElement found = map2_a1c0a41.get(entry.getKey()); LType.LTypeElement found = map2_a1c0a41.get(entry.getKey());
......
...@@ -29,36 +29,36 @@ public final class QuerySpecificationHints extends MPSQuerySpecificationHints { ...@@ -29,36 +29,36 @@ public final class QuerySpecificationHints extends MPSQuerySpecificationHints {
this.concepts.add(MetaAdapterFactory.getConcept(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL, "jetbrains.mps.lang.core.structure.BaseConcept")); this.concepts.add(MetaAdapterFactory.getConcept(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x10802efe25aL, "jetbrains.mps.lang.core.structure.BaseConcept"));
this.dataTypes = new HashSet<SDataType>(); this.dataTypes = new HashSet<SDataType>();
this.dataTypes.add(UniqueDataType.from("jetbrains.mps.lang.core.structure.string"));
this.dataTypes.add(UniqueDataType.from("jetbrains.mps.lang.core.structure.integer")); this.dataTypes.add(UniqueDataType.from("jetbrains.mps.lang.core.structure.integer"));
this.dataTypes.add(UniqueDataType.from("jetbrains.mps.lang.core.structure.string"));
this.conceptFeatures = new HashSet<SConceptFeature>(); this.conceptFeatures = new HashSet<SConceptFeature>();
this.conceptFeatures.add(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name")); this.conceptFeatures.add(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name"));
this.conceptFeatures.add(MetaAdapterFactory.getProperty(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f721L, 0x9229981a3b8f726L, "label")); this.conceptFeatures.add(MetaAdapterFactory.getProperty(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f721L, 0x9229981a3b8f726L, "label"));
this.conceptFeatures.add(MetaAdapterFactory.getProperty(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f721L, 0x9229981a3b8f72aL, "name")); this.conceptFeatures.add(MetaAdapterFactory.getProperty(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f721L, 0x9229981a3b8f72aL, "name"));
this.conceptFeatures.add(MetaAdapterFactory.getReferenceLink(0xb802a05692a24fbcL, 0x902ef8e5004c331fL, 0x7980b687ac7456feL, 0x7980b687ac7456ffL, "parent"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f61cL, 0x9229981a3b8f62fL, "cases")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f61cL, 0x9229981a3b8f62fL, "cases"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb92d7L, 0x1a4a252762eb92dcL, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1fd8e2cf9df802c6L, 0x1fd8e2cf9df802cbL, "elems")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1fd8e2cf9df802c6L, 0x1fd8e2cf9df802cbL, "elems"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f573L, 0x9229981a3b8f58bL, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1fd8e2cf9df802cfL, 0x1fd8e2cf9df802d4L, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9302L, 0x1a4a252762eb9307L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9302L, 0x1a4a252762eb930bL, "t2")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9302L, 0x1a4a252762eb930bL, "t2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f573L, 0x9229981a3b8f58bL, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb93faL, 0x1a4a252762eb93ffL, "ty")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb93faL, 0x1a4a252762eb93ffL, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb92d7L, 0x1a4a252762eb92dcL, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getReferenceLink(0xb802a05692a24fbcL, 0x902ef8e5004c331fL, 0x7980b687ac7456feL, 0x7980b687ac7456ffL, "parent"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9312L, 0x1a4a252762eb9317L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9312L, 0x1a4a252762eb931bL, "t2")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9312L, 0x1a4a252762eb931bL, "t2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb93f1L, 0x1a4a252762eb93f6L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb933aL, 0x1a4a252762eb934eL, "bound")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb933aL, 0x1a4a252762eb934eL, "bound"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9312L, 0x1a4a252762eb9317L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f61cL, 0x9229981a3b8f621L, "matchee"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9322L, 0x1a4a252762eb9336L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb933aL, 0x1a4a252762eb9352L, "body")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb933aL, 0x1a4a252762eb9352L, "body"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1fd8e2cf9df802cfL, 0x1fd8e2cf9df802d4L, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f61cL, 0x9229981a3b8f621L, "matchee"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f721L, 0x9229981a3b8f731L, "t")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb93f1L, 0x1a4a252762eb93f6L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9302L, 0x1a4a252762eb9307L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x9229981a3b8f721L, 0x9229981a3b8f731L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9322L, 0x1a4a252762eb9336L, "t"));
this.languages = new HashSet<SLanguage>(); this.languages = new HashSet<SLanguage>();
this.languages.add(MetaAdapterFactory.getLanguage(0xb802a05692a24fbcL, 0x902ef8e5004c331fL, "ceab5195-25ea-4f22-9b92-103b95ca8c0c")); this.languages.add(MetaAdapterFactory.getLanguage(0xb802a05692a24fbcL, 0x902ef8e5004c331fL, "ceab5195-25ea-4f22-9b92-103b95ca8c0c"));
......
...@@ -91,9 +91,9 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio ...@@ -91,9 +91,9 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio
exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1)); exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1));
body.setSymbolicParameters(exportedParameters); body.setSymbolicParameters(exportedParameters);
PVariable var__3402207517372677383 = body.newVirtualVariable(); PVariable var__4863849988524114095 = body.newVirtualVariable();
PVariable var__match_a0a0s = body.getOrCreateVariableByName("match_a0a0s"); PVariable var__match_a0a0s = body.getOrCreateVariableByName("match_a0a0s");
PVariable var__tmp_255 = body.getOrCreateVariableByName("tmp_255"); PVariable var__tmp_259 = body.getOrCreateVariableByName("tmp_259");
new TypeConstraint(body, Tuples.flatTupleOf(var_ty), new ConceptKey(MetaAdapterFactory.getInterfaceConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb938fL, "VariantTypes.structure.Type"))); new TypeConstraint(body, Tuples.flatTupleOf(var_ty), new ConceptKey(MetaAdapterFactory.getInterfaceConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb938fL, "VariantTypes.structure.Type")));
new PositivePatternCall(body, Tuples.flatTupleOf(), Typing_AsLType_0_switchCommonQuerySpecification.instance().getInternalQueryRepresentation()); new PositivePatternCall(body, Tuples.flatTupleOf(), Typing_AsLType_0_switchCommonQuerySpecification.instance().getInternalQueryRepresentation());
...@@ -103,7 +103,7 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio ...@@ -103,7 +103,7 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio
@Override @Override
public String getShortDescription() { public String getShortDescription() {
return "3402207517372677383"; return "4863849988524114095";
} }
@Override @Override
...@@ -116,9 +116,9 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio ...@@ -116,9 +116,9 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio
return LType.Nat.create(); return LType.Nat.create();
} }
}, var__3402207517372677383, false); }, var__4863849988524114095, false);
new Equality(body, var__tmp_255, var__3402207517372677383); new Equality(body, var__tmp_259, var__4863849988524114095);
new Equality(body, var__tmp_255, var_out_1); new Equality(body, var__tmp_259, var_out_1);
SetSequence.fromSet(bodies).addElement(body); SetSequence.fromSet(bodies).addElement(body);
} }
...@@ -133,38 +133,38 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio ...@@ -133,38 +133,38 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio
body.setSymbolicParameters(exportedParameters); body.setSymbolicParameters(exportedParameters);
PVariable var__tmp_260 = body.getOrCreateVariableByName("tmp_260"); PVariable var__tmp_260 = body.getOrCreateVariableByName("tmp_260");
PVariable var__tmp_261 = body.getOrCreateVariableByName("tmp_261");
PVariable var__tmp_262 = body.getOrCreateVariableByName("tmp_262");
PVariable var__lty2 = body.getOrCreateVariableByName("lty2"); PVariable var__lty2 = body.getOrCreateVariableByName("lty2");
PVariable var__3402207517372677442 = body.newVirtualVariable();
PVariable var__lty1 = body.getOrCreateVariableByName("lty1"); PVariable var__lty1 = body.getOrCreateVariableByName("lty1");
PVariable var__ty2 = body.getOrCreateVariableByName("ty2"); PVariable var__ty2 = body.getOrCreateVariableByName("ty2");
PVariable var__ty1 = body.getOrCreateVariableByName("ty1"); PVariable var__ty1 = body.getOrCreateVariableByName("ty1");
PVariable var__match_b0b0a81 = body.getOrCreateVariableByName("match_b0b0a81"); PVariable var__match_b0b0a81 = body.getOrCreateVariableByName("match_b0b0a81");
PVariable var__4863849988524114154 = body.newVirtualVariable();
PVariable var__match_a0b0a81 = body.getOrCreateVariableByName("match_a0b0a81"); PVariable var__match_a0b0a81 = body.getOrCreateVariableByName("match_a0b0a81");
PVariable var__tmp_256 = body.getOrCreateVariableByName("tmp_256"); PVariable var__tmp_263 = body.getOrCreateVariableByName("tmp_263");
PVariable var__tmp_257 = body.getOrCreateVariableByName("tmp_257"); PVariable var__tmp_264 = body.getOrCreateVariableByName("tmp_264");
PVariable var__tmp_258 = body.getOrCreateVariableByName("tmp_258");
PVariable var__tmp_259 = body.getOrCreateVariableByName("tmp_259");
PVariable var__match_a1a0s = body.getOrCreateVariableByName("match_a1a0s"); PVariable var__match_a1a0s = body.getOrCreateVariableByName("match_a1a0s");
new TypeConstraint(body, Tuples.flatTupleOf(var_ty), new ConceptKey(MetaAdapterFactory.getInterfaceConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb938fL, "VariantTypes.structure.Type"))); new TypeConstraint(body, Tuples.flatTupleOf(var_ty), new ConceptKey(MetaAdapterFactory.getInterfaceConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb938fL, "VariantTypes.structure.Type")));
new PositivePatternCall(body, Tuples.flatTupleOf(), Typing_AsLType_0_switchCommonQuerySpecification.instance().getInternalQueryRepresentation()); new PositivePatternCall(body, Tuples.flatTupleOf(), Typing_AsLType_0_switchCommonQuerySpecification.instance().getInternalQueryRepresentation());
new Equality(body, var__match_a1a0s, var_ty); new Equality(body, var__match_a1a0s, var_ty);
new TypeConstraint(body, Tuples.flatTupleOf(var__match_a1a0s), new ConceptKey(MetaAdapterFactory.getConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, "VariantTypes.structure.Fun"))); new TypeConstraint(body, Tuples.flatTupleOf(var__match_a1a0s), new ConceptKey(MetaAdapterFactory.getConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, "VariantTypes.structure.Fun")));
new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var__match_a1a0s, var__tmp_256), new ConceptFeatureKey(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"))); new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var__match_a1a0s, var__tmp_260), new ConceptFeatureKey(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1")));
new Equality(body, var__match_a0b0a81, var__tmp_256); new Equality(body, var__match_a0b0a81, var__tmp_260);
new Equality(body, var__ty1, var__match_a0b0a81); new Equality(body, var__ty1, var__match_a0b0a81);
new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var__match_a1a0s, var__tmp_257), new ConceptFeatureKey(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"))); new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var__match_a1a0s, var__tmp_261), new ConceptFeatureKey(MetaAdapterFactory.getContainmentLink(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2")));
new Equality(body, var__match_b0b0a81, var__tmp_257); new Equality(body, var__match_b0b0a81, var__tmp_261);
new Equality(body, var__ty2, var__match_b0b0a81); new Equality(body, var__ty2, var__match_b0b0a81);
new PositivePatternCall(body, Tuples.flatTupleOf(var__ty1, var__tmp_258), Typing_AsLTypeQuerySpecification.instance().getInternalQueryRepresentation()); new PositivePatternCall(body, Tuples.flatTupleOf(var__ty1, var__tmp_262), Typing_AsLTypeQuerySpecification.instance().getInternalQueryRepresentation());
new Equality(body, var__lty1, var__tmp_258); new Equality(body, var__lty1, var__tmp_262);
new PositivePatternCall(body, Tuples.flatTupleOf(var__ty2, var__tmp_259), Typing_AsLTypeQuerySpecification.instance().getInternalQueryRepresentation()); new PositivePatternCall(body, Tuples.flatTupleOf(var__ty2, var__tmp_263), Typing_AsLTypeQuerySpecification.instance().getInternalQueryRepresentation());
new Equality(body, var__lty2, var__tmp_259); new Equality(body, var__lty2, var__tmp_263);
new ExpressionEvaluation(body, new IExpressionEvaluator() { new ExpressionEvaluation(body, new IExpressionEvaluator() {
@Override @Override
public String getShortDescription() { public String getShortDescription() {
return "3402207517372677442"; return "4863849988524114154";
} }
@Override @Override
...@@ -177,9 +177,9 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio ...@@ -177,9 +177,9 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio
return LType.Fun.create(((LType.LTypeElement) valueProvider.getValue("lty1")), ((LType.LTypeElement) valueProvider.getValue("lty2"))); return LType.Fun.create(((LType.LTypeElement) valueProvider.getValue("lty1")), ((LType.LTypeElement) valueProvider.getValue("lty2")));
} }
}, var__3402207517372677442, false); }, var__4863849988524114154, false);
new Equality(body, var__tmp_260, var__3402207517372677442); new Equality(body, var__tmp_264, var__4863849988524114154);
new Equality(body, var__tmp_260, var_out_1); new Equality(body, var__tmp_264, var_out_1);
SetSequence.fromSet(bodies).addElement(body); SetSequence.fromSet(bodies).addElement(body);
} }
...@@ -193,25 +193,25 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio ...@@ -193,25 +193,25 @@ public final class Typing_AsLTypeQuerySpecification extends MPSQuerySpecificatio
exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1)); exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1));
body.setSymbolicParameters(exportedParameters); body.setSymbolicParameters(exportedParameters);
PVariable var__tmp_261 = body.getOrCreateVariableByName("tmp_261");
PVariable var__vty = body.getOrCreateVariableByName("vty"); PVariable var__vty = body.getOrCreateVariableByName("vty");
PVariable var__tmp_262 = body.getOrCreateVariableByName("tmp_262"); PVariable var__4863849988524114188 = body.newVirtualVariable();
PVariable var__3402207517372677476 = body.newVirtualVariable();
PVariable var__lty = body.getOrCreateVariableByName("lty"); PVariable var__lty = body.getOrCreateVariableByName("lty");
PVariable var__tmp_265 = body.getOrCreateVariableByName("tmp_265");
PVariable var__match_a2a0s = body.getOrCreateVariableByName("match_a2a0s"); PVariable var__match_a2a0s = body.getOrCreateVariableByName("match_a2a0s");
PVariable var__tmp_266 = body.getOrCreateVariableByName("tmp_266");
new TypeConstraint(body, Tuples.flatTupleOf(var_ty), new ConceptKey(MetaAdapterFactory.getInterfaceConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb938fL, "VariantTypes.structure.Type"))); new TypeConstraint(body, Tuples.flatTupleOf(var_ty), new ConceptKey(MetaAdapterFactory.getInterfaceConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1a4a252762eb938fL, "VariantTypes.structure.Type")));
new PositivePatternCall(body, Tuples.flatTupleOf(), Typing_AsLType_0_switchCommonQuerySpecification.instance().getInternalQueryRepresentation()); new PositivePatternCall(body, Tuples.flatTupleOf(), Typing_AsLType_0_switchCommonQuerySpecification.instance().getInternalQueryRepresentation());
new Equality(body, var__match_a2a0s, var_ty); new Equality(body, var__match_a2a0s, var_ty);
new TypeConstraint(body, Tuples.flatTupleOf(var__match_a2a0s), new ConceptKey(MetaAdapterFactory.getConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1fd8e2cf9df802c6L, "VariantTypes.structure.VariantType"))); new TypeConstraint(body, Tuples.flatTupleOf(var__match_a2a0s), new ConceptKey(MetaAdapterFactory.getConcept(0x3ace5b6c22d54933L, 0x9217595f2ebf8d6aL, 0x1fd8e2cf9df802c6L, "VariantTypes.structure.VariantType")));
new Equality(body, var__vty, var__match_a2a0s); new Equality(body, var__vty, var__match_a2a0s);
new PositivePatternCall(body, Tuples.flatTupleOf(var__vty, var__tmp_261), Typing_AsLTypeVariantQuerySpecification.instance().getInternalQueryRepresentation()); new PositivePatternCall(body, Tuples.flatTupleOf(var__vty, var__tmp_265), Typing_AsLTypeVariantQuerySpecification.instance().getInternalQueryRepresentation());
new Equality(body, var__lty, var__tmp_261); new Equality(body, var__lty, var__tmp_265);
new ExpressionEvaluation(body, new IExpressionEvaluator() { new ExpressionEvaluation(body, new IExpressionEvaluator() {