package jetbrains.mps.lang.editor;
/*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.lang.editor.actions.ActionAspectDescriptorImpl;
import jetbrains.mps.smodel.runtime.BehaviorAspectDescriptor;
import jetbrains.mps.smodel.runtime.ConstraintsAspectDescriptor;
import jetbrains.mps.lang.dataFlow.framework.DataFlowAspectDescriptor;
import jetbrains.mps.lang.editor.dataFlow.DataFlowAspectDescriptorImpl;
import jetbrains.mps.openapi.editor.descriptor.EditorAspectDescriptor;
import jetbrains.mps.lang.editor.editor.EditorAspectDescriptorImpl;
import jetbrains.mps.smodel.runtime.FindUsageAspectDescriptor;
import jetbrains.mps.lang.editor.findUsages.FindUsagesDescriptor;
import jetbrains.mps.openapi.intentions.IntentionAspectDescriptor;
import jetbrains.mps.lang.editor.intentions.IntentionsDescriptor;
import jetbrains.mps.lang.migration.runtime.base.MigrationAspectDescriptor;
import jetbrains.mps.lang.editor.migration.MigrationDescriptor;
import jetbrains.mps.lang.script.runtime.ScriptAspectDescriptor;
import jetbrains.mps.lang.editor.scripts.ScriptsDescriptor;
import jetbrains.mps.smodel.runtime.StructureAspectDescriptor;
import jetbrains.mps.smodel.runtime.ConceptPresentationAspect;
import jetbrains.mps.lang.editor.structure.ConceptPresentationAspectImpl;
import jetbrains.mps.lang.typesystem.runtime.IHelginsDescriptor;
import jetbrains.mps.lang.editor.typesystem.TypesystemDescriptor;
public class Language extends LanguageRuntime {
private final SLanguageId myId;
public Language() {
myId = SLanguageId.deserialize("18bc6592-03a6-4e29-a83a-7ff23bde13ba");
}
@Override
public String getNamespace() {
return "jetbrains.mps.lang.editor";
}
@Override
public int getVersion() {
return 8;
}
public SLanguageId getId() {
return myId;
}
@Override
protected void fillExtendedLanguages(Collection<SLanguage> extendedLanguages) {
extendedLanguages.add(MetaAdapterFactory.getLanguage(SLanguageId.deserialize("c72da2b9-7cce-4447-8389-f407dc1158b7"), "jetbrains.mps.lang.structure"));
extendedLanguages.add(MetaAdapterFactory.getLanguage(SLanguageId.deserialize("443f4c36-fcf5-4eb6-9500-8d06ed259e3e"), "jetbrains.mps.baseLanguage.classifiers"));
extendedLanguages.add(MetaAdapterFactory.getLanguage(SLanguageId.deserialize("7866978e-a0f0-4cc7-81bc-4d213d9375e1"), "jetbrains.mps.lang.smodel"));
extendedLanguages.add(MetaAdapterFactory.getLanguage(SLanguageId.deserialize("ceab5195-25ea-4f22-9b92-103b95ca8c0c"), "jetbrains.mps.lang.core"));
extendedLanguages.add(MetaAdapterFactory.getLanguage(SLanguageId.deserialize("f3061a53-9226-4cc5-a443-f952ceaf5816"), "jetbrains.mps.baseLanguage"));
}
@Override
public Collection<TemplateModule> getGenerators() {
return TemplateUtil.<TemplateModule>asCollection(TemplateUtil.createInterpretedGenerator(this, "0647eca7-da98-422a-8a8b-6ebc0bd014ea(jetbrains.mps.lang.editor#1129914002149)"));
}
@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.lang.editor.behavior.BehaviorAspectDescriptor());
}
if (aspectClass == ConstraintsAspectDescriptor.class) {
return aspectClass.cast(new jetbrains.mps.lang.editor.constraints.ConstraintsAspectDescriptor());
}
if (aspectClass == DataFlowAspectDescriptor.class) {
return aspectClass.cast(new DataFlowAspectDescriptorImpl());
}
if (aspectClass == EditorAspectDescriptor.class) {
return aspectClass.cast(new EditorAspectDescriptorImpl());
}
if (aspectClass == FindUsageAspectDescriptor.class) {
return aspectClass.cast(new FindUsagesDescriptor());
}
if (aspectClass == IntentionAspectDescriptor.class) {
return aspectClass.cast(new IntentionsDescriptor());
}
if (aspectClass == MigrationAspectDescriptor.class) {
return aspectClass.cast(new MigrationDescriptor());
}
if (aspectClass == ScriptAspectDescriptor.class) {
return aspectClass.cast(new ScriptsDescriptor());
}
if (aspectClass == StructureAspectDescriptor.class) {
return aspectClass.cast(new jetbrains.mps.lang.editor.structure.StructureAspectDescriptor());
}
if (aspectClass == ConceptPresentationAspect.class) {
return aspectClass.cast(new ConceptPresentationAspectImpl());
}
if (aspectClass == IHelginsDescriptor.class) {
return aspectClass.cast(new TypesystemDescriptor());
}
return null;
}
}