package jetbrains.mps.lang.smodel.generator.smodelAdapter; /*Generated by MPS */ import org.jetbrains.mps.openapi.model.SModel; import org.jetbrains.mps.openapi.module.SModule; import jetbrains.mps.smodel.Language; import java.util.List; import jetbrains.mps.internal.collections.runtime.ListSequence; import jetbrains.mps.internal.collections.runtime.IWhereFilter; import org.jetbrains.mps.openapi.model.SModelName; public class SModuleOperations { /** * We use name here because we can't make a connection between aspect and the corresponding interface * This is because we can't generate generators yet * Still, it is better if user does not write this by-name stuff explicitly - it will be changed later by regenerating, not by manually changing code */ public static SModel getAspect(SModule m, final String name) { if (!((m instanceof Language))) { return null; } List<SModel> models = ((Language) m).getModels(); return ListSequence.fromList(models).findFirst(new IWhereFilter<SModel>() { public boolean accept(SModel it) { return !(it.getName().hasStereotype()) && it.getName().getSimpleName().equals(name); } }); } public static boolean isAspect(SModel m, String name) { if (!((m.getModule() instanceof Language))) { return false; } SModelName mn = m.getName(); return !(mn.hasStereotype()) && mn.getSimpleName().equals(name); } }