public static void virtual_populateMembers_7405920559687241403( SNode thisNode, MembersPopulatingContext context, SNode classifierType) { // populate own members for (SNode member : SNodeOperations.getChildren(thisNode)) { if (SNodeOperations.isInstanceOf( member, "jetbrains.mps.baseLanguage.structure.IClassifierMember")) { BehaviorReflection.invokeVirtual( Void.class, SNodeOperations.cast(member, "jetbrains.mps.baseLanguage.structure.IClassifierMember"), "virtual_populateMember_7405920559687254644", new Object[] {context, classifierType}); } } // populate super class members SNode superClass = BehaviorReflection.invokeVirtual( (Class<SNode>) ((Class) Object.class), thisNode, "virtual_getSuperclass_1240936569950", new Object[] {}); if ((superClass != null)) { IClassifierType_Behavior.call_populateMembers_7405920559687241253( superClass, context, classifierType); } // populate implemented interfaces members for (SNode implementedInterface : ListSequence.fromList(SLinkOperations.getTargets(thisNode, "implementedInterface", true)) .where( new IWhereFilter<SNode>() { public boolean accept(SNode it) { return (it != null); } })) { IClassifierType_Behavior.call_populateMembers_7405920559687241253( implementedInterface, context, classifierType); } }
public static List<SNode> virtual_getMethodsToOverride_5418393554803767537(SNode thisNode) { List<SNode> methods = new ArrayList<SNode>(); for (SNode method : Sequence.fromIterable( IClassifierType_Behavior.call_getMembers_7405920559687277275( BehaviorReflection.invokeVirtual( (Class<SNode>) ((Class) Object.class), thisNode, "virtual_getThisType_7405920559687254782", new Object[] {}))) .where( new IWhereFilter<SNode>() { public boolean accept(SNode it) { return SNodeOperations.isInstanceOf( it, "jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration"); } }) .select( new ISelector<SNode, SNode>() { public SNode select(SNode it) { return SNodeOperations.cast( it, "jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration"); } })) { SNode cls = SNodeOperations.getAncestor( method, "jetbrains.mps.baseLanguage.structure.Classifier", false, false); if (cls == thisNode) { continue; } if (!(SNodeOperations.isInstanceOf( cls, "jetbrains.mps.baseLanguage.structure.ClassConcept"))) { continue; } if (SPropertyOperations.getBoolean(method, "isFinal")) { continue; } if (SPropertyOperations.getBoolean(method, "isAbstract")) { continue; } if (SNodeOperations.isInstanceOf( SLinkOperations.getTarget(method, "visibility", true), "jetbrains.mps.baseLanguage.structure.PrivateVisibility")) { continue; } ListSequence.fromList(methods).addElement(method); } return methods; }