package jetbrains.mps.lang.behavior.generator.template.main;
/*Generated by MPS */
import jetbrains.mps.generator.runtime.Generated;
import jetbrains.mps.generator.runtime.TemplateModelBase;
import jetbrains.mps.generator.runtime.TemplateModel;
import java.util.Collection;
import jetbrains.mps.generator.runtime.TemplateMappingConfiguration;
import jetbrains.mps.generator.runtime.TemplateSwitchMapping;
import org.jetbrains.mps.openapi.model.SModelReference;
import jetbrains.mps.generator.runtime.TemplateModule;
import jetbrains.mps.generator.runtime.TemplateUtil;
import org.jetbrains.mps.openapi.persistence.PersistenceFacade;
import jetbrains.mps.generator.runtime.TemplateDeclaration;
import org.jetbrains.mps.openapi.model.SNodeReference;
import jetbrains.mps.smodel.SNodePointer;
import jetbrains.mps.generator.impl.query.GeneratorQueryProvider;
@Generated
public class TemplateModelImpl extends TemplateModelBase implements TemplateModel {
private final Collection<TemplateMappingConfiguration> mappings;
private final Collection<TemplateSwitchMapping> switches;
private final SModelReference model;
public TemplateModelImpl(TemplateModule module) {
super(module);
mappings = TemplateUtil.<TemplateMappingConfiguration>asCollection(new Mapping_mc_Behavior(this));
switches = TemplateUtil.<TemplateSwitchMapping>asCollection(new Switch_switch_ClassFromType(), new Switch_switch_Parameter(), new Switch_BehaviorDescriptor());
model = PersistenceFacade.getInstance().createModelReference("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)");
}
public String getLongName() {
return "jetbrains.mps.lang.behavior.generator.template.main";
}
public SModelReference getSModelReference() {
return model;
}
public Collection<TemplateMappingConfiguration> getConfigurations() {
return mappings;
}
public Collection<TemplateSwitchMapping> getSwitches() {
return switches;
}
public TemplateDeclaration loadTemplate(SNodeReference template, Object... arguments) {
if (!(model.equals(template.getModelReference()))) {
return null;
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "1225195370956"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_reduce_SuperNodeExpression();
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "1225195370966"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_reduce_ThisNodeExpression();
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "4731970554580093575"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_reduce_LocalBehaviorMethodCall();
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "4547736967710372412"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_reduce_MethodInvocation();
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "4598718932037121729"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_reduce_LocalBehaviorMethodCallWithCast();
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "1703835097132695306"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_reduce_ThisConceptExpression();
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "7613853987897918834"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_reduce_SuperConceptExpression();
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "2056529430201890935"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_BehaviorAspectDescriptor();
}
if (template.equals(new SNodePointer("r:229ce18d-2bb0-4d5b-a7cd-cec65841e459(jetbrains.mps.lang.behavior.generator.template.main@generator)", "7385785963572922999"))) {
TemplateUtil.assertTemplateParametersCount(template, 0, arguments.length);
return new Template_BehaviorDescriptor();
}
return null;
}
@Override
public GeneratorQueryProvider getQueryProvider() {
return reflectiveProvider(QueriesGenerated.class);
}
}