package jetbrains.mps.baseLanguage.collections.typesystem; /*Generated by MPS */ import jetbrains.mps.lang.typesystem.runtime.ComparisonRule_Runtime; import jetbrains.mps.lang.pattern.GeneratedMatchingPattern; import org.jetbrains.mps.openapi.model.SNode; import jetbrains.mps.lang.typesystem.runtime.IsApplicable2Status; import jetbrains.mps.lang.typesystem.runtime.IsApplicableStatus; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import org.jetbrains.mps.openapi.persistence.PersistenceFacade; import jetbrains.mps.smodel.SModelUtil_new; import jetbrains.mps.smodel.SReference; public class collection_comparableWith_Collection_ComparisonRule extends ComparisonRule_Runtime { /*package*/ GeneratedMatchingPattern myMatchingPattern2; public collection_comparableWith_Collection_ComparisonRule() { } public boolean areComparable(SNode node1, SNode node2, IsApplicable2Status status) { return true; } public boolean isWeak() { return true; } public IsApplicableStatus isApplicableFirst(SNode node) { return new IsApplicableStatus(node.getConcept().isSubConceptOf(getApplicableConcept1()), null); } public IsApplicableStatus isApplicableSecond(SNode node) { { GeneratedMatchingPattern pattern = new Pattern_1nx5uajmygsp3(_quotation_createNode_5x9es4_a0a0a0a0f()); this.myMatchingPattern2 = pattern; boolean b = pattern.match(node); return new IsApplicableStatus(b, pattern); } } public SAbstractConcept getApplicableConcept1() { return MetaAdapterFactory.getConcept(0x8388864671ce4f1cL, 0x9c53c54016f6ad4fL, 0x62e1df06bd2172b2L, "jetbrains.mps.baseLanguage.collections.structure.CollectionType"); } public SAbstractConcept getApplicableConcept2() { return MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0x101de48bf9eL, "ClassifierType"); } private static SNode _quotation_createNode_5x9es4_a0a0a0a0f() { PersistenceFacade facade = PersistenceFacade.getInstance(); SNode quotedNode_1 = null; SNode quotedNode_2 = null; quotedNode_1 = SModelUtil_new.instantiateConceptDeclaration(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0x101de48bf9eL, "ClassifierType"), null, null, false); quotedNode_1.setReference(MetaAdapterFactory.getReferenceLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x101de490babL, "classifier"), SReference.create(MetaAdapterFactory.getReferenceLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x101de490babL, "classifier"), quotedNode_1, facade.createModelReference("6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)"), facade.createNodeId("~Collection"))); quotedNode_2 = SModelUtil_new.instantiateConceptDeclaration(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0xf8c37f506dL, "Type"), null, null, false); quotedNode_1.addChild(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x102419671abL, "parameter"), quotedNode_2); return quotedNode_1; } }