package jetbrains.mps.transformation.test.inputLang.generator.outputLang.template.test_reduceOneToMany; /*Generated by MPS */ import jetbrains.mps.generator.runtime.Generated; import jetbrains.mps.generator.runtime.MapConfigBase; import jetbrains.mps.generator.runtime.TemplateMappingConfiguration; import java.util.Collection; import jetbrains.mps.generator.runtime.TemplateReductionRule; import jetbrains.mps.generator.runtime.TemplateRootMappingRule; import org.jetbrains.annotations.NotNull; import jetbrains.mps.generator.runtime.TemplateModel; import jetbrains.mps.smodel.SNodePointer; import jetbrains.mps.generator.runtime.TemplateUtil; import jetbrains.mps.generator.runtime.ReductionRuleBase; import jetbrains.mps.generator.runtime.TemplateRuleWithCondition; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import jetbrains.mps.generator.runtime.TemplateContext; import jetbrains.mps.generator.runtime.GenerationException; import jetbrains.mps.generator.template.ReductionRuleQueryContext; import org.jetbrains.mps.openapi.model.SNode; import jetbrains.mps.generator.runtime.TemplateExecutionEnvironment; import jetbrains.mps.generator.runtime.MapRootRuleBase; import jetbrains.mps.generator.template.MapRootRuleContext; @Generated public class Mapping_main extends MapConfigBase implements TemplateMappingConfiguration { private final Collection<TemplateReductionRule> rules; private final Collection<TemplateRootMappingRule> rootRules; public Mapping_main(@NotNull TemplateModel model) { super(new SNodePointer("r:eca8e1c7-93fd-4ddf-9db6-91f9c2320691(jetbrains.mps.transformation.test.inputLang.generator.outputLang.template.test_reduceOneToMany@generator)", "3893401255414084744"), "main", model, false); rules = TemplateUtil.<TemplateReductionRule>asCollection(new Mapping_main.ReductionRule0()); rootRules = TemplateUtil.<TemplateRootMappingRule>asCollection(new Mapping_main.RootMappingRule0()); } @Override public Collection<TemplateReductionRule> getReductionRules() { return rules; } @Override public Collection<TemplateRootMappingRule> getRootRules() { return rootRules; } public final class ReductionRule0 extends ReductionRuleBase implements TemplateRuleWithCondition { public ReductionRule0() { super(new SNodePointer("r:eca8e1c7-93fd-4ddf-9db6-91f9c2320691(jetbrains.mps.transformation.test.inputLang.generator.outputLang.template.test_reduceOneToMany@generator)", "3893401255414086883"), MetaAdapterFactory.getConcept(0xab0ae915e3b54f35L, 0xb55ac655d649a03cL, 0x11645be5a7aL, "jetbrains.mps.transformation.test.inputLang.structure.InputNode_A"), false); } @Override public boolean isApplicable(@NotNull TemplateContext context) throws GenerationException { return QueriesGenerated.baseMappingRule_Condition_3893401255414132234(new ReductionRuleQueryContext(context, getRuleNode())); } @Override public Collection<SNode> apply(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); Collection<SNode> tlist1 = new Template_reduce_InputNode_A().apply(environment, context); return tlist1; } } public class RootMappingRule0 extends MapRootRuleBase implements TemplateRootMappingRule { public RootMappingRule0() { super(new SNodePointer("r:eca8e1c7-93fd-4ddf-9db6-91f9c2320691(jetbrains.mps.transformation.test.inputLang.generator.outputLang.template.test_reduceOneToMany@generator)", "3893401255414086885"), MetaAdapterFactory.getConcept(0xab0ae915e3b54f35L, 0xb55ac655d649a03cL, 0x11645953ab3L, "jetbrains.mps.transformation.test.inputLang.structure.InputRoot"), false, false); } @Override public boolean isApplicable(@NotNull TemplateContext context) throws GenerationException { return QueriesGenerated.baseMappingRule_Condition_3893401255414129777(new MapRootRuleContext(context, getRuleNode())); } @Override public Collection<SNode> apply(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); Collection<SNode> result = new Template_OutputRoot().apply(environment, context); return result; } } }