package jetbrains.mps.baseLanguage.scopes; /*Generated by MPS */ import jetbrains.mps.scope.Scope; import org.jetbrains.mps.openapi.model.SNode; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.baseLanguage.behavior.Classifier__BehaviorDescriptor; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import jetbrains.mps.scope.FilteringScope; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations; import jetbrains.mps.baseLanguage.behavior.ClassifierMember__BehaviorDescriptor; @Deprecated public class MemberScopes { @Deprecated private MemberScopes() { } @Deprecated public static Scope visibleClassifierMembers(SNode contextClassifier, SAbstractConcept kind, SNode contextNode) { // todo[MM]: concepts here must be replaces with a regular Java enum. No point in using concepts here Scope membersScope = Classifier__BehaviorDescriptor.getMembers_id1UeCwxlVpJs.invoke(contextClassifier, kind); if (membersScope == null) { throw new IllegalArgumentException("Member scope for classifier " + SPropertyOperations.getString(contextClassifier, MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name")) + " and kind " + kind.getName() + " is null"); } return new FilteringScope(membersScope) { @Override public boolean isExcluded(SNode node) { return !(SNodeOperations.isInstanceOf(node, MetaAdapterFactory.getInterfaceConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x112574373bdL, "jetbrains.mps.baseLanguage.structure.ClassifierMember"))) || !((boolean) ClassifierMember__BehaviorDescriptor.isVisible_id70J2WaK_oVl.invoke(SNodeOperations.cast(node, MetaAdapterFactory.getInterfaceConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x112574373bdL, "jetbrains.mps.baseLanguage.structure.ClassifierMember")), contextClassifier, contextNode)); } }; } }