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);
}
}