package jetbrains.mps.console.scripts;
/*Generated by MPS */
import jetbrains.mps.smodel.language.LanguageRuntime;
import jetbrains.mps.smodel.adapter.ids.SLanguageId;
import java.util.Collection;
import org.jetbrains.mps.openapi.language.SLanguage;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import jetbrains.mps.generator.runtime.TemplateModule;
import jetbrains.mps.generator.runtime.TemplateUtil;
import jetbrains.mps.smodel.runtime.ILanguageAspect;
import jetbrains.mps.openapi.actions.descriptor.ActionAspectDescriptor;
import jetbrains.mps.console.scripts.actions.ActionAspectDescriptorImpl;
import jetbrains.mps.smodel.runtime.BehaviorAspectDescriptor;
import jetbrains.mps.openapi.editor.descriptor.EditorAspectDescriptor;
import jetbrains.mps.console.scripts.editor.EditorAspectDescriptorImpl;
import jetbrains.mps.smodel.runtime.StructureAspectDescriptor;
import jetbrains.mps.smodel.runtime.ConceptPresentationAspect;
import jetbrains.mps.console.scripts.structure.ConceptPresentationAspectImpl;
import jetbrains.mps.lang.typesystem.runtime.IHelginsDescriptor;
import jetbrains.mps.console.scripts.typesystem.TypesystemDescriptor;
public class Language extends LanguageRuntime {
private final SLanguageId myId;
public Language() {
myId = SLanguageId.deserialize("f26691d2-0def-4c06-aec6-2cb90c4af0a4");
}
@Override
public String getNamespace() {
return "jetbrains.mps.console.scripts";
}
@Override
public int getVersion() {
return 0;
}
public SLanguageId getId() {
return myId;
}
@Override
protected void fillExtendedLanguages(Collection<SLanguage> extendedLanguages) {
extendedLanguages.add(MetaAdapterFactory.getLanguage(SLanguageId.deserialize("de1ad86d-6e50-4a02-b306-d4d17f64c375"), "jetbrains.mps.console.base"));
extendedLanguages.add(MetaAdapterFactory.getLanguage(SLanguageId.deserialize("1a8554c4-eb84-43ba-8c34-6f0d90c6e75a"), "jetbrains.mps.lang.smodel.query"));
}
@Override
public Collection<TemplateModule> getGenerators() {
return TemplateUtil.<TemplateModule>asCollection(TemplateUtil.createInterpretedGenerator(this, "b372f31d-dc58-46b6-ad0b-2e1b2e187b9d(jetbrains.mps.console.scripts#1734392475490224704)"));
}
@Override
protected <T extends ILanguageAspect> T createAspect(Class<T> aspectClass) {
if (aspectClass == ActionAspectDescriptor.class) {
return aspectClass.cast(new ActionAspectDescriptorImpl());
}
if (aspectClass == BehaviorAspectDescriptor.class) {
return aspectClass.cast(new jetbrains.mps.console.scripts.behavior.BehaviorAspectDescriptor());
}
if (aspectClass == EditorAspectDescriptor.class) {
return aspectClass.cast(new EditorAspectDescriptorImpl());
}
if (aspectClass == StructureAspectDescriptor.class) {
return aspectClass.cast(new jetbrains.mps.console.scripts.structure.StructureAspectDescriptor());
}
if (aspectClass == ConceptPresentationAspect.class) {
return aspectClass.cast(new ConceptPresentationAspectImpl());
}
if (aspectClass == IHelginsDescriptor.class) {
return aspectClass.cast(new TypesystemDescriptor());
}
return null;
}
}