package NewLanguage2;
/*Generated by MPS */
import jetbrains.mps.smodel.language.LanguageRuntime;
import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;
import jetbrains.mps.smodel.adapter.ids.SLanguageId;
import java.util.UUID;
import java.util.Collection;
import jetbrains.mps.generator.runtime.TemplateModule;
import jetbrains.mps.generator.runtime.TemplateUtil;
import jetbrains.mps.smodel.runtime.ILanguageAspect;
import jetbrains.mps.smodel.runtime.BehaviorAspectDescriptor;
import jetbrains.mps.smodel.runtime.ConstraintsAspectDescriptor;
import jetbrains.mps.openapi.editor.descriptor.EditorAspectDescriptor;
import NewLanguage2.editor.EditorAspectDescriptorImpl;
import jetbrains.mps.lang.migration.runtime.base.MigrationAspectDescriptor;
import NewLanguage2.migration.MigrationDescriptor;
import jetbrains.mps.smodel.runtime.StructureAspectDescriptor;
import jetbrains.mps.smodel.runtime.ConceptPresentationAspect;
import NewLanguage2.structure.ConceptPresentationAspectImpl;
import jetbrains.mps.lang.typesystem.runtime.IHelginsDescriptor;
import NewLanguage2.typesystem.TypesystemDescriptor;
public class Language extends LanguageRuntime {
private static final Logger LOG = LogManager.getLogger(jetbrains.mps.smodel.Language.class);
public static final String MODULE_REF = "9d4153a9-a100-4911-9688-094a7ba99d12(NewLanguage2)";
public Language() {
}
@Override
public String getNamespace() {
return "NewLanguage2";
}
@Override
public int getVersion() {
return 2;
}
public SLanguageId getId() {
return new SLanguageId(UUID.fromString("9d4153a9-a100-4911-9688-094a7ba99d12"));
}
@Override
protected String[] getExtendedLanguageIDs() {
return new String[]{};
}
@Override
public Collection<TemplateModule> getGenerators() {
return TemplateUtil.<TemplateModule>asCollection(TemplateUtil.createInterpretedGenerator(this, "b85de3f8-4119-4244-86cf-a7759fa2a985(NewLanguage2#4706665036333155758)"));
}
@Override
protected <T extends ILanguageAspect> T createAspect(Class<T> aspectClass) {
try {
if (aspectClass.getName().equals("jetbrains.mps.smodel.runtime.BehaviorAspectDescriptor")) {
if (aspectClass == BehaviorAspectDescriptor.class) {
return (T) new NewLanguage2.behavior.BehaviorAspectDescriptor();
}
}
if (aspectClass.getName().equals("jetbrains.mps.smodel.runtime.ConstraintsAspectDescriptor")) {
if (aspectClass == ConstraintsAspectDescriptor.class) {
return (T) new NewLanguage2.constraints.ConstraintsAspectDescriptor();
}
}
if (aspectClass.getName().equals("jetbrains.mps.openapi.editor.descriptor.EditorAspectDescriptor")) {
if (aspectClass == EditorAspectDescriptor.class) {
return (T) new EditorAspectDescriptorImpl();
}
}
if (aspectClass.getName().equals("jetbrains.mps.lang.migration.runtime.base.MigrationAspectDescriptor")) {
if (aspectClass == MigrationAspectDescriptor.class) {
return (T) new MigrationDescriptor();
}
}
if (aspectClass.getName().equals("jetbrains.mps.smodel.runtime.StructureAspectDescriptor")) {
if (aspectClass == StructureAspectDescriptor.class) {
return (T) new NewLanguage2.structure.StructureAspectDescriptor();
}
}
if (aspectClass.getName().equals("jetbrains.mps.smodel.runtime.ConceptPresentationAspect")) {
if (aspectClass == ConceptPresentationAspect.class) {
return (T) new ConceptPresentationAspectImpl();
}
}
if (aspectClass.getName().equals("jetbrains.mps.lang.typesystem.runtime.IHelginsDescriptor")) {
if (aspectClass == IHelginsDescriptor.class) {
return (T) new TypesystemDescriptor();
}
}
return null;
} catch (Throwable t) {
LOG.error("Exception on descriptor instantiation", t);
return null;
}
}
}