package jetbrains.mps.traceInfo.tracemacro.testlang;
/*Generated by MPS */
import jetbrains.mps.generator.runtime.TemplateModuleBase;
import jetbrains.mps.smodel.language.LanguageRuntime;
import java.util.Collection;
import jetbrains.mps.generator.runtime.TemplateMappingPriorityRule;
import jetbrains.mps.generator.runtime.TemplateModel;
import jetbrains.mps.smodel.language.LanguageRegistry;
import jetbrains.mps.generator.runtime.TemplateUtil;
import jetbrains.mps.traceInfo.tracemacro.testlang.generator.template.main.TemplateModelImpl;
import java.util.Arrays;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.openapi.module.SModuleReference;
import org.jetbrains.mps.openapi.persistence.PersistenceFacade;
import org.jetbrains.mps.openapi.language.SLanguage;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
public class Generator extends TemplateModuleBase {
private final LanguageRuntime sourceLanguage;
private final Collection<TemplateMappingPriorityRule> priorities;
private TemplateModel[] models;
public Generator(LanguageRegistry languageRegistry, LanguageRuntime sourceLanguage) {
super(languageRegistry);
this.sourceLanguage = sourceLanguage;
priorities = TemplateUtil.asCollection(TemplateUtil.createStrictlyBeforeRule(TemplateUtil.createRefExternal("791a790e-6d6d-4aa8-8917-3b269a164450(jetbrains.mps.traceInfo.tracemacro.testlang#7980748436587788163)", TemplateUtil.createRefNormal("r:75f95d80-1d60-4222-8b1e-a09f089fee3e(jetbrains.mps.traceInfo.tracemacro.testlang.generator.template.main@generator)", "*", "*")), TemplateUtil.createRefExternal("5f9babc9-8d5d-4825-8e61-17b241ee6272(jetbrains.mps.baseLanguage.collections#1151699677197)", TemplateUtil.createRefLocal())));
}
@Override
public String getAlias() {
return "jetbrains.mps.traceInfo.tracemacro.testlang/<no name>";
}
@Override
public Collection<TemplateModel> getModels() {
if (models == null) {
models = new TemplateModel[1];
models[0] = new TemplateModelImpl(this);
}
return Arrays.asList(models);
}
@Override
public Collection<TemplateMappingPriorityRule> getPriorities() {
return priorities;
}
@NotNull
@Override
public SModuleReference getModuleReference() {
return PersistenceFacade.getInstance().createModuleReference("791a790e-6d6d-4aa8-8917-3b269a164450(jetbrains.mps.traceInfo.tracemacro.testlang#7980748436587788163)");
}
@Override
public Collection<SLanguage> getTargetLanguages() {
SLanguage[] rv = new SLanguage[2];
rv[0] = MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage");
rv[1] = MetaAdapterFactory.getLanguage(0x8388864671ce4f1cL, 0x9c53c54016f6ad4fL, "jetbrains.mps.baseLanguage.collections");
return Arrays.asList(rv);
}
@Override
@NotNull
public LanguageRuntime getSourceLanguage() {
return sourceLanguage;
}
@Override
protected void fillReferencedGenerators(TemplateModuleBase.ReferencedGenerators referencedGenerators) {
referencedGenerators.extended("5f9babc9-8d5d-4825-8e61-17b241ee6272(jetbrains.mps.baseLanguage.collections#1151699677197)");
}
}