package jetbrains.mps.lang.editor.generator.baseLanguage.template.util; /*Generated by MPS */ import org.jetbrains.mps.openapi.model.SNode; import org.jetbrains.mps.openapi.model.SModel; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.internal.collections.runtime.ListSequence; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SModelOperations; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import jetbrains.mps.internal.collections.runtime.IWhereFilter; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations; import jetbrains.mps.lang.editor.behavior.IMenu_Contribution__BehaviorDescriptor; import jetbrains.mps.internal.collections.runtime.Sequence; public class MenuRoots { private static Iterable<SNode> getMenusAndContributions(SModel inputModel, final SAbstractConcept menuConcept, final SAbstractConcept referenceConcept) { Iterable<SNode> menus = ListSequence.fromList(SModelOperations.roots(inputModel, MetaAdapterFactory.getInterfaceConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x169efbc9a9048846L, "jetbrains.mps.lang.editor.structure.IMenu"))).where(new IWhereFilter<SNode>() { public boolean accept(SNode it) { return SNodeOperations.isInstanceOf(it, SNodeOperations.asSConcept(menuConcept)); } }); Iterable<SNode> contributions = ListSequence.fromList(SModelOperations.roots(inputModel, MetaAdapterFactory.getInterfaceConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x169efbc9a90a5d62L, "jetbrains.mps.lang.editor.structure.IMenu_Contribution"))).where(new IWhereFilter<SNode>() { public boolean accept(SNode it) { return SNodeOperations.isInstanceOf(IMenu_Contribution__BehaviorDescriptor.getMenuReference_id1quYWAD2_PI.invoke(it), SNodeOperations.asSConcept(referenceConcept)); } }); return Sequence.fromIterable(menus).concat(Sequence.fromIterable(contributions)); } public static Iterable<SNode> getDefaultMenusAndContributions(SModel inputModel, SAbstractConcept defaultMenuConcept, SAbstractConcept defaultReferenceMenuConcept) { return getMenusAndContributions(inputModel, defaultMenuConcept, defaultReferenceMenuConcept); } public static Iterable<SNode> getNamedMenusAndContributions(SModel inputModel, SAbstractConcept namedMenuConcept, SAbstractConcept namedReferenceMenuConcept) { return getMenusAndContributions(inputModel, namedMenuConcept, namedReferenceMenuConcept); } public static Iterable<SNode> getDefaultTransformationMenusAndContributions(SModel inputModel) { return getDefaultMenusAndContributions(inputModel, MetaAdapterFactory.getConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x16be955f384efce1L, "jetbrains.mps.lang.editor.structure.TransformationMenu_Default"), MetaAdapterFactory.getConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x5d3b34577b3cff0cL, "jetbrains.mps.lang.editor.structure.TransformationMenuReference_Default")); } public static Iterable<SNode> getNamedTransformationMenusAndContributions(SModel inputModel) { return getNamedMenusAndContributions(inputModel, MetaAdapterFactory.getConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x4e0f93d8a0ac4ee8L, "jetbrains.mps.lang.editor.structure.TransformationMenu_Named"), MetaAdapterFactory.getConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x5d3b34577b3cff09L, "jetbrains.mps.lang.editor.structure.TransformationMenuReference_Named")); } public static Iterable<SNode> getDefaultSubstituteMenusAndContributions(SModel inputModel) { return getDefaultMenusAndContributions(inputModel, MetaAdapterFactory.getConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x2de9c932f4e5ab84L, "jetbrains.mps.lang.editor.structure.SubstituteMenu_Default"), MetaAdapterFactory.getConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x5480a271c0d1df1eL, "jetbrains.mps.lang.editor.structure.SubstituteMenuReference_Default")); } public static Iterable<SNode> getNamedSubstituteMenusAndContributions(SModel inputModel) { return getNamedMenusAndContributions(inputModel, MetaAdapterFactory.getConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x33e0267905fba6fdL, "jetbrains.mps.lang.editor.structure.SubstituteMenu_Named"), MetaAdapterFactory.getConcept(0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x5480a271c0d1df1fL, "jetbrains.mps.lang.editor.structure.SubstituteMenuReference_Named")); } }