@Nullable private Collection<SNode> apply( TemplateContext context, @NotNull TemplateExecutionEnvironment environment) throws DismissTopMappingRuleException, AbandonRuleInputException, GenerationFailureException, GenerationCanceledException { if (myRuleConsequence == null) { environment .getGenerator() .showErrorMessage( context.getInput(), null, ruleNode, "error processing reduction rule: no rule consequence"); return null; } RuleConsequenceProcessor rcp = new RuleConsequenceProcessor(environment); if (!rcp.prepare(myRuleConsequence, ruleNode, context)) { environment .getGenerator() .showErrorMessage( context.getInput(), null, myRuleConsequence, "error processing reduction rule consequence"); return null; } List<SNode> result = rcp.processRuleConsequence(ruleMappingName); return result; }
@Override public Collection<SNode> apply(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); Collection<SNode> result = new Template_map_RootConcept().apply(environment, context); environment.registerLabel(context.getInput(), result, "map_RootConcept"); return result; }
public Collection<SNode> weave( @NotNull TemplateExecutionEnvironment environment, @NotNull TemplateContext context, @NotNull SNode outputContextNode) throws GenerationException { TemplateContext contextWithParams = context.subContext(getParametersAsMap()); SNode tnodepart0 = applyPart0(environment, contextWithParams); SNodeReference weaveTf0 = weaveTfConst_nofsa1_a0c0g; environment.weaveNode( outputContextNode, "initializer", tnodepart0, weaveTf0, contextWithParams.getInput()); return TemplateUtil.singletonList(tnodepart0); }
@Override public Collection<SNode> apply(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); Collection<SNode> tlist1 = Collections.emptyList(); return tlist1; }
@Override public boolean apply( final TemplateExecutionEnvironment environment, final TemplateContext context, final SNode outputContextNode) throws GenerationException { final List<SNode> tlist1 = new ArrayList<SNode>(); Iterable<SNode> weaveEachList1 = QueriesGenerated.sourceNodesQuery_6186432342008533362( new SourceSubstituteMacroNodesContext( context, new SNodePointer( "r:592e27b6-d258-4bf2-9e32-25019862e1f1(jetbrains.mps.traceInfo.testWeavingGenerated.data.generator.template.main@generator)", "6186432342008533361"))); for (SNode itnode : weaveEachList1) { if (itnode == null) { continue; } TemplateContext innerContext = context.subContext(itnode); NodeWeaveFacility.WeaveContext weaveContext = new WeaveContextImpl(outputContextNode, innerContext, WeavingRule3.this); Collection<SNode> innerResult = environment .prepareWeave( weaveContext, new SNodePointer( "r:592e27b6-d258-4bf2-9e32-25019862e1f1(jetbrains.mps.traceInfo.testWeavingGenerated.data.generator.template.main@generator)", "6186432342008533361")) .weaveTemplate(new Template_weave_ChildConceptWeaveMany()); if (innerResult != null) { tlist1.addAll(innerResult); } } return tlist1 != null && !(tlist1.isEmpty()); }
@Override public Collection<SNode> apply( @NotNull TemplateExecutionEnvironment environment, @NotNull TemplateContext context) throws GenerationException { TemplateContext contextWithParams = context.subContext(getParametersAsMap()); return TemplateUtil.singletonList(applyPart0(contextWithParams)); }
@Override public Collection<SNode> tryToApply( TemplateExecutionEnvironment environment, TemplateContext context) throws GenerationException { if (!checkCondition(context, environment.getGenerator())) { return null; } environment.getTracer().pushRule(myNodePointer); try { if (environment.getGenerator().isIncremental()) { // turn off tracing NodeReadEventsCaster.setNodesReadListener(null); } return apply(context, environment.getEnvironment(context.getInput(), this)); } catch (AbandonRuleInputException e) { return Collections.emptyList(); } finally { if (environment.getGenerator().isIncremental()) { // restore tracing NodeReadEventsCaster.removeNodesReadListener(); } environment.getTracer().closeRule(myNodePointer); } }
@Override public Collection<SNode> apply(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); Collection<SNode> result = new Template_OutputRoot_by_MappingRule().apply(environment, context); return result; }
/** * @deprecated Use alternative with SNodeReference, without explicit input node and * ITemplateGenerator Kept in 3.3 as there might be generated code in MC.isApplicable methods * that call it. */ @Deprecated @ToRemove(version = 3.1) public TemplateQueryContext( SNode inputNode, SNode templateNode, TemplateContext context, ITemplateGenerator generator) { myTemplateNode = templateNode == null ? null : templateNode.getReference(); myContext = context == null ? null : context.subContext(inputNode); myGenerator = generator; }
@Override public Collection<SNode> apply(TemplateExecutionEnvironment environment, TemplateContext context) throws GenerationException { if (templateNode != null) { return new TemplateProcessor(environment.getGenerator(), environment.getReductionContext()) .apply(ruleMappingName, templateNode, context); } else { environment .getGenerator() .showErrorMessage( context.getInput(), null, ruleNode, "no template is defined for the rule"); } return null; }
protected SNode applyPart0(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); final SNode tnode1 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc37588bc8L, "jetbrains.mps.baseLanguage.structure.EnumConstantReference")); try { environment.nodeCopied( context, tnode1, "tpl/r:3ab3501c-2f4b-48e6-9b6c-e31ff8ef3185/3308300503039683834"); tnode1.setReference( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc37588bc8L, 0xfc37588bcaL, "enumConstantDeclaration"), SReference.create( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc37588bc8L, 0xfc37588bcaL, "enumConstantDeclaration"), tnode1, PersistenceFacade.getInstance() .createModelReference("r:f5e9b11f-5073-4786-8ed1-a9e42307c3f8(JavaKaja.runtime)"), PersistenceFacade.getInstance().createNodeId("3308300503039569144"))); tnode1.setReference( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc37588bc8L, 0x10a758428feL, "enumClass"), SReference.create( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc37588bc8L, 0x10a758428feL, "enumClass"), tnode1, PersistenceFacade.getInstance() .createModelReference("r:f5e9b11f-5073-4786-8ed1-a9e42307c3f8(JavaKaja.runtime)"), PersistenceFacade.getInstance().createNodeId("3308300503039569134"))); } finally { } return tnode1; }
@Override public void processNull( TemplateExecutionEnvironment environment, SNodeReference templateSwitch, TemplateContext context) { SNode generatorMessage = RuleUtil.getSwitch_NullInputMessage(mySwitch); if (generatorMessage != null) { GeneratorUtilEx.processGeneratorMessage( generatorMessage, context.getInput(), templateSwitch.resolve(MPSModuleRepository.getInstance()), null, environment.getGenerator()); } }
@Override public Collection<SNode> apply(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); Collection<SNode> tlist1 = null; if (QueriesGenerated.baseMappingRule_Condition_1195172400866( new BaseMappingRuleContext(context, rule_ief6mt_b0a0c0c11))) { final SNode tnode2 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0x157a9668bf58417bL, 0x893e53d86388dc56L, 0x1164564a526L, "jetbrains.mps.transformation.test.outputLang.structure.OutputNode")); try { SNodeAccessUtil.setProperty( tnode2, MetaAdapterFactory.getProperty( 0x157a9668bf58417bL, 0x893e53d86388dc56L, 0x1164564a526L, 0x11645b5a797L, "text"), "<input option : 1>"); } finally { } tlist1 = TemplateUtil.singletonList(tnode2); } else { final SNode tnode3 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0x157a9668bf58417bL, 0x893e53d86388dc56L, 0x1164564a526L, "jetbrains.mps.transformation.test.outputLang.structure.OutputNode")); try { SNodeAccessUtil.setProperty( tnode3, MetaAdapterFactory.getProperty( 0x157a9668bf58417bL, 0x893e53d86388dc56L, 0x1164564a526L, 0x11645b5a797L, "text"), "<input option : default>"); } finally { } tlist1 = TemplateUtil.singletonList(tnode3); } return tlist1; }
@Override public boolean isApplicable(TemplateExecutionEnvironment environment, TemplateContext context) throws GenerationFailureException { SNode condition = RuleUtil.getDropRuleCondition(ruleNode); if (condition == null) { // condition is not required return true; } String methodName = TemplateFunctionMethodName.dropRootRule_Condition(condition); try { return (Boolean) QueryMethodGenerated.invoke( methodName, environment.getGenerator().getGeneratorSessionContext(), new DropRootRuleContext(context.getInput(), ruleNode, environment.getGenerator()), ruleNode.getModel(), true); } catch (ClassNotFoundException e) { environment .getGenerator() .getLogger() .warning( condition, "cannot find condition method '" + methodName + "' : evaluate to TRUE"); } catch (NoSuchMethodException e) { environment .getGenerator() .getLogger() .warning( condition, "cannot find condition method '" + methodName + "' : evaluate to TRUE"); } catch (Throwable t) { environment.getGenerator().getLogger().handleException(t); environment .getGenerator() .getLogger() .error(condition, "error executing condition " + methodName + " (see exception)"); throw new GenerationFailureException(t); } // in this case 'true' is better default return true; }
@Override public boolean isApplicable(TemplateExecutionEnvironment environment, TemplateContext context) throws GenerationFailureException { try { if (conditionMethod == null) { return true; } return (Boolean) QueryMethodGenerated.invoke( conditionMethod, environment.getGenerator().getGeneratorSessionContext(), new BaseMappingRuleContext(context.getInput(), ruleNode, environment.getGenerator()), ruleNode.getModel(), true); } catch (ClassNotFoundException e) { environment .getGenerator() .getLogger() .warning( ruleNode, "cannot find condition method '" + conditionMethod + "' : evaluate to FALSE"); } catch (NoSuchMethodException e) { environment .getGenerator() .getLogger() .warning( ruleNode, "cannot find condition method '" + conditionMethod + "' : evaluate to FALSE"); } catch (Throwable t) { environment.getGenerator().getLogger().handleException(t); environment .getGenerator() .getLogger() .error(ruleNode, "error executing condition " + conditionMethod + " (see exception)"); throw new GenerationFailureException(t); } return false; }
@Override public Collection<SNode> applyRule(TemplateReductionRule rule, TemplateContext context) throws GenerationException { try { final DependenciesReadListener l; if (context.getEnvironment().getGenerator().isIncremental()) { // this code used to be in TemplateReductionRuleInterpreted, added to address MPS-16916 // Moved here for next reasons: (a) generated rules shall behave the same as interpreted; // (b) this class is the only place we install listeners via NodeReadEventsCaster, and there // shall be no way to get into TRRI with a // listener installed (for TRRI to uninstall one) other than through this method. // However, I don't understand why there's difference in change tracking in incremental vs // non-incremental mode, // and why only reduction rules are considered. l = null; // turn tracing off } else { l = listener; } NodeReadEventsCaster.setNodesReadListener(l); return wrapped.applyRule(rule, context); } finally { NodeReadEventsCaster.removeNodesReadListener(); } }
protected TemplateQueryContext( @NotNull SNodeReference templateNode, @NotNull TemplateContext context) { myContext = context; myTemplateNode = templateNode; myGenerator = context.getEnvironment().getGenerator(); }
public SNode getInputNode() { return myContext == null ? null : myContext.getInput(); }
protected SNode applyPart0(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); final SNode tnode1 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, "jetbrains.mps.baseLanguage.structure.ExpressionStatement")); try { environment.nodeCopied( context, tnode1, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992617074"); TemplateContext context1 = context.subContext(); { final SNode tnode2 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x617aa860be8616ecL, "jetbrains.mps.baseLanguage.structure.MulAssignmentExpression")); try { environment.nodeCopied( context1, tnode2, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992617076"); TemplateContext context2 = context1.subContext(); { Collection<SNode> tlist3 = null; final SNode copySrcInput3 = QueriesGenerated.sourceNodeQuery_4146564171992617089( new SourceSubstituteMacroNodeContext( context2, copySrcMacro_dv1upb_b0a0c0c0b0c0c0f)); tlist3 = environment.copyNodes( TemplateUtil.singletonList(copySrcInput3), copySrcMacro_dv1upb_b0a0c0c0b0c0c0f, "tpl/r:00000000-0000-4000-0000-011c89590606/4265636116363093718", context2); for (SNode child4 : TemplateUtil.asNotNull(tlist3)) { tnode2.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11b0d00332cL, 0xf8c77f1e97L, "lValue"), child4); } // TODO validate child } { Collection<SNode> tlist5 = null; final SNode copySrcInput5 = QueriesGenerated.sourceNodeQuery_4146564171992617085( new SourceSubstituteMacroNodeContext( context2, copySrcMacro_dv1upb_b0a0c0d0b0c0c0f)); tlist5 = environment.copyNodes( TemplateUtil.singletonList(copySrcInput5), copySrcMacro_dv1upb_b0a0c0d0b0c0c0f, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992617079", context2); for (SNode child6 : TemplateUtil.asNotNull(tlist5)) { tnode2.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11b0d00332cL, 0xf8c77f1e99L, "rValue"), child6); } // TODO validate child } } finally { } if (tnode2 != null) { tnode1.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, 0xf8cc56b214L, "expression"), tnode2); } // TODO validate child } } finally { } return tnode1; }
@Override public Collection<SNode> applyDefault( TemplateExecutionEnvironment environment, SNodeReference templateSwitch, String mappingName, TemplateContext context) throws GenerationException { SNode defaultConsequence = RuleUtil.getSwitchDefaultConsequence(mySwitch); if (defaultConsequence == null) { SNodeReference modifies = getModifiesSwitch(); if (modifies == null) { return null; } TemplateSwitchMapping switchMapping = environment.getGenerator().getSwitch(modifies); if (switchMapping == null) { return null; } return switchMapping.applyDefault(environment, templateSwitch, mappingName, context); } List<SNode> collection = new ArrayList<SNode>(); try { List<Pair<SNode, String>> nodeAndMappingNamePairs = GeneratorUtilEx.getTemplateNodesFromRuleConsequence( defaultConsequence, context.getInput(), templateSwitch.resolve(MPSModuleRepository.getInstance()), environment.getReductionContext(), environment.getGenerator()); if (nodeAndMappingNamePairs == null) { environment .getGenerator() .showErrorMessage( context.getInput(), templateSwitch.resolve(MPSModuleRepository.getInstance()), defaultConsequence, "error processing $SWITCH$/default"); return null; } for (Pair<SNode, String> nodeAndMappingNamePair : nodeAndMappingNamePairs) { SNode altTemplateNode = nodeAndMappingNamePair.o1; String innerMappingName = nodeAndMappingNamePair.o2 != null ? nodeAndMappingNamePair.o2 : mappingName; try { TemplateProcessor templateProcessor = new TemplateProcessor(environment.getGenerator(), environment.getReductionContext()); collection.addAll(templateProcessor.apply(innerMappingName, altTemplateNode, context)); } catch (TemplateProcessingFailureException e) { environment .getGenerator() .showErrorMessage( context.getInput(), templateSwitch.resolve(MPSModuleRepository.getInstance()), "error processing template fragment"); } } } catch (AbandonRuleInputException e) { // it's ok. just ignore } return collection; }
protected SNode applyPart0(@NotNull final TemplateContext context) throws GenerationException { final TemplateExecutionEnvironment environment = context.getEnvironment(); final SNode tnode1 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc092b6b77L, "jetbrains.mps.baseLanguage.structure.BlockStatement")); try { environment.nodeCopied( context, tnode1, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273608203"); { final SNode tnode2 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L, "jetbrains.mps.baseLanguage.structure.StatementList")); try { environment.nodeCopied( context, tnode2, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273608204"); { final SNode tnode3 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b217L, "jetbrains.mps.baseLanguage.structure.IfStatement")); try { environment.nodeCopied( context, tnode3, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648370"); { final SNode tnode4 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L, "jetbrains.mps.baseLanguage.structure.StatementList")); try { environment.nodeCopied( context, tnode4, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648371"); { final SNode tnode5 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, "jetbrains.mps.baseLanguage.structure.ExpressionStatement")); try { environment.nodeCopied( context, tnode5, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273608230"); { final SNode tnode6 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x6c6b6a1e379f9404L, "jetbrains.mps.baseLanguage.structure.LocalMethodCall")); try { environment.nodeCopied( context, tnode6, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/4923130412073220681"); tnode6.setReference( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), SReference.create( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), tnode6, PersistenceFacade.getInstance() .createModelReference( "r:f5e9b11f-5073-4786-8ed1-a9e42307c3f8(JavaKaja.runtime)"), PersistenceFacade.getInstance() .createNodeId("3210697320273550783"))); { final SNode tnode7 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc59b314L, "jetbrains.mps.baseLanguage.structure.IntegerConstant")); try { environment.nodeCopied( context, tnode7, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273608232"); SNodeAccessUtil.setProperty( tnode7, MetaAdapterFactory.getProperty( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc59b314L, 0xf8cc59b315L, "value"), TemplateUtil.asString( QueriesGenerated .propertyMacro_GetPropertyValue_3210697320273608239( new PropertyMacroContext( context, "0", propertyMacro_bs9h6a_c0a0c0b0b0c0b0b0b0b0b0b0b0b0b0b0c0c)))); } finally { } if (tnode7 != null) { tnode6.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301aeL, "actualArgument"), tnode7); } // TODO validate child } { final SNode tnode8 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc59b314L, "jetbrains.mps.baseLanguage.structure.IntegerConstant")); try { environment.nodeCopied( context, tnode8, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273608234"); SNodeAccessUtil.setProperty( tnode8, MetaAdapterFactory.getProperty( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc59b314L, 0xf8cc59b315L, "value"), TemplateUtil.asString( QueriesGenerated .propertyMacro_GetPropertyValue_3210697320273608248( new PropertyMacroContext( context, "0", propertyMacro_bs9h6a_c0a0c0b0b0d0b0b0b0b0b0b0b0b0b0b0c0c)))); } finally { } if (tnode8 != null) { tnode6.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301aeL, "actualArgument"), tnode8); } // TODO validate child } } finally { } if (tnode6 != null) { tnode5.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, 0xf8cc56b214L, "expression"), tnode6); } // TODO validate child } } finally { } if (tnode5 != null) { tnode4.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L, 0xf8cc6bf961L, "statement"), tnode5); } // TODO validate child } { final SNode tnode9 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, "jetbrains.mps.baseLanguage.structure.ExpressionStatement")); try { environment.nodeCopied( context, tnode9, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648390"); { final SNode tnode10 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x6c6b6a1e379f9404L, "jetbrains.mps.baseLanguage.structure.LocalMethodCall")); try { environment.nodeCopied( context, tnode10, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/4923130412073300953"); tnode10.setReference( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), SReference.create( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), tnode10, PersistenceFacade.getInstance() .createModelReference( "r:f5e9b11f-5073-4786-8ed1-a9e42307c3f8(JavaKaja.runtime)"), PersistenceFacade.getInstance() .createNodeId("3210697320273550615"))); } finally { } if (tnode10 != null) { tnode9.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, 0xf8cc56b214L, "expression"), tnode10); } // TODO validate child } } finally { } if (tnode9 != null) { tnode4.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L, 0xf8cc6bf961L, "statement"), tnode9); } // TODO validate child } } finally { } if (tnode4 != null) { tnode3.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b217L, 0xf8cc56b219L, "ifTrue"), tnode4); } // TODO validate child } { final SNode tnode11 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfb7c3070eeL, "jetbrains.mps.baseLanguage.structure.AndExpression")); try { environment.nodeCopied( context, tnode11, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648393"); { final SNode tnode12 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x6c6b6a1e379f9404L, "jetbrains.mps.baseLanguage.structure.LocalMethodCall")); try { environment.nodeCopied( context, tnode12, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/4923130412073282762"); tnode12.setReference( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), SReference.create( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), tnode12, PersistenceFacade.getInstance() .createModelReference( "r:f5e9b11f-5073-4786-8ed1-a9e42307c3f8(JavaKaja.runtime)"), PersistenceFacade.getInstance().createNodeId("3210697320273648281"))); { final SNode tnode13 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc59b314L, "jetbrains.mps.baseLanguage.structure.IntegerConstant")); try { environment.nodeCopied( context, tnode13, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648395"); SNodeAccessUtil.setProperty( tnode13, MetaAdapterFactory.getProperty( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc59b314L, 0xf8cc59b315L, "value"), TemplateUtil.asString( QueriesGenerated .propertyMacro_GetPropertyValue_3210697320273648397( new PropertyMacroContext( context, "0", propertyMacro_bs9h6a_c0a0c0b0b0c0b0b0b0c0b0b0b0b0c0c)))); } finally { } if (tnode13 != null) { tnode12.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301aeL, "actualArgument"), tnode13); } // TODO validate child } } finally { } if (tnode12 != null) { tnode11.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfbdeb6fecfL, 0xfbdeb7a11bL, "rightExpression"), tnode12); } // TODO validate child } { final SNode tnode14 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x6c6b6a1e379f9404L, "jetbrains.mps.baseLanguage.structure.LocalMethodCall")); try { environment.nodeCopied( context, tnode14, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/4923130412073256581"); tnode14.setReference( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), SReference.create( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), tnode14, PersistenceFacade.getInstance() .createModelReference( "r:f5e9b11f-5073-4786-8ed1-a9e42307c3f8(JavaKaja.runtime)"), PersistenceFacade.getInstance().createNodeId("3210697320273648203"))); { final SNode tnode15 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc59b314L, "jetbrains.mps.baseLanguage.structure.IntegerConstant")); try { environment.nodeCopied( context, tnode15, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648404"); SNodeAccessUtil.setProperty( tnode15, MetaAdapterFactory.getProperty( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc59b314L, 0xf8cc59b315L, "value"), TemplateUtil.asString( QueriesGenerated .propertyMacro_GetPropertyValue_3210697320273648406( new PropertyMacroContext( context, "0", propertyMacro_bs9h6a_c0a0c0b0b0c0b0c0b0c0b0b0b0b0c0c)))); } finally { } if (tnode15 != null) { tnode14.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301aeL, "actualArgument"), tnode15); } // TODO validate child } } finally { } if (tnode14 != null) { tnode11.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfbdeb6fecfL, 0xfbdeb7a11cL, "leftExpression"), tnode14); } // TODO validate child } } finally { } if (tnode11 != null) { tnode3.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b217L, 0xf8cc56b218L, "condition"), tnode11); } // TODO validate child } { final SNode tnode16 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc092b6b77L, "jetbrains.mps.baseLanguage.structure.BlockStatement")); try { environment.nodeCopied( context, tnode16, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648412"); { final SNode tnode17 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L, "jetbrains.mps.baseLanguage.structure.StatementList")); try { environment.nodeCopied( context, tnode17, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648413"); { final SNode tnode18 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, "jetbrains.mps.baseLanguage.structure.ExpressionStatement")); try { environment.nodeCopied( context, tnode18, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648414"); { final SNode tnode19 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x6c6b6a1e379f9404L, "jetbrains.mps.baseLanguage.structure.LocalMethodCall")); try { environment.nodeCopied( context, tnode19, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/4923130412073283103"); tnode19.setReference( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), SReference.create( MetaAdapterFactory.getReferenceLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL, "baseMethodDeclaration"), tnode19, PersistenceFacade.getInstance() .createModelReference( "r:f5e9b11f-5073-4786-8ed1-a9e42307c3f8(JavaKaja.runtime)"), PersistenceFacade.getInstance() .createNodeId("3308300503039580739"))); { final SNode tnode20 = environment.createOutputNode( MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf93d565d10L, "jetbrains.mps.baseLanguage.structure.StringLiteral")); try { environment.nodeCopied( context, tnode20, "tpl/r:262b93f0-fe86-497c-93c5-efd684d05bc6/3210697320273648416"); SNodeAccessUtil.setProperty( tnode20, MetaAdapterFactory.getProperty( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf93d565d10L, 0xf93d565d11L, "value"), "Attempted to destroy wall outside of the playground!"); } finally { } if (tnode20 != null) { tnode19.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301aeL, "actualArgument"), tnode20); } // TODO validate child } } finally { } if (tnode19 != null) { tnode18.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, 0xf8cc56b214L, "expression"), tnode19); } // TODO validate child } } finally { } if (tnode18 != null) { tnode17.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L, 0xf8cc6bf961L, "statement"), tnode18); } // TODO validate child } } finally { } if (tnode17 != null) { tnode16.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc092b6b77L, 0xfc092b6b78L, "statements"), tnode17); } // TODO validate child } } finally { } if (tnode16 != null) { tnode3.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b217L, 0xfc092b6b76L, "ifFalseStatement"), tnode16); } // TODO validate child } } finally { } if (tnode3 != null) { tnode2.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L, 0xf8cc6bf961L, "statement"), tnode3); } // TODO validate child } } finally { } if (tnode2 != null) { tnode1.addChild( MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc092b6b77L, 0xfc092b6b78L, "statements"), tnode2); } // TODO validate child } } finally { } return tnode1; }
public Object getPatternVariable(String name) { return myContext == null ? null : myContext.getPatternVariable(name); }
public Collection<SNode> apply( @NotNull final TemplateExecutionEnvironment environment, @NotNull final TemplateContext context) throws GenerationException { final SNode tnode1 = new SNode("jetbrains.mps.baseLanguage.structure.ClassConcept"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a1); environment.nodeCopied( context, tnode1, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412775"); tnode1.setProperty("name", "RootCustom"); { final SNode tnode2 = new SNode("jetbrains.mps.baseLanguage.structure.FieldDeclaration"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a4a1a1); environment.nodeCopied( context, tnode2, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761135"); tnode2.setProperty("name", "q"); { final SNode tnode3 = new SNode("jetbrains.mps.baseLanguage.structure.PrivateVisibility"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a4a1a4a1a1); environment.nodeCopied( context, tnode3, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761136"); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode3)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a4a1a4a1a1); } if (tnode3 != null) { tnode2.addChild("visibility", tnode3); } // TODO validate child } { final SNode tnode4 = new SNode("jetbrains.mps.baseLanguage.structure.IntegerType"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a5a1a4a1a1); environment.nodeCopied( context, tnode4, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761138"); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode4)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a5a1a4a1a1); } if (tnode4 != null) { tnode2.addChild("type", tnode4); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode2)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a4a1a1); } if (tnode2 != null) { tnode1.addChild("field", tnode2); } // TODO validate child } { final SNode tnode5 = new SNode("jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a5a1a1); environment.nodeCopied( context, tnode5, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412782"); tnode5.setProperty("name", "main"); { final SNode tnode6 = new SNode("jetbrains.mps.baseLanguage.structure.VoidType"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a4a1a5a1a1); environment.nodeCopied( context, tnode6, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412783"); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode6)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a4a1a5a1a1); } if (tnode6 != null) { tnode5.addChild("returnType", tnode6); } // TODO validate child } { final SNode tnode7 = new SNode("jetbrains.mps.baseLanguage.structure.PublicVisibility"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a5a1a5a1a1); environment.nodeCopied( context, tnode7, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412784"); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode7)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a5a1a5a1a1); } if (tnode7 != null) { tnode5.addChild("visibility", tnode7); } // TODO validate child } { Collection<SNode> tlist8 = null; try { environment.getTracer().pushMacro(copySrcMacro_kyghau_a0a0a1a6a1a5a1a1); final SNode copySrcInput8 = QueriesGenerated.sourceNodeQuery_4146564171992412788( environment.getOperationContext(), new SourceSubstituteMacroNodeContext( context.getInput(), copySrcMacro_kyghau_a0a0a1a6a1a5a1a1, context, environment.getGenerator())); tlist8 = environment.copyNodes( TemplateUtil.singletonList(copySrcInput8), copySrcMacro_kyghau_a0a0a1a6a1a5a1a1, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412785", null, context); } finally { environment.getTracer().closeMacro(copySrcMacro_kyghau_a0a0a1a6a1a5a1a1); } for (SNode child9 : TemplateUtil.asNotNull(tlist8)) { tnode5.addChild("body", child9); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode5)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a5a1a1); } if (tnode5 != null) { tnode1.addChild("method", tnode5); } // TODO validate child } { final SNode tnode10 = new SNode("jetbrains.mps.baseLanguage.structure.PublicVisibility"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a6a1a1); environment.nodeCopied( context, tnode10, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412776"); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode10)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a6a1a1); } if (tnode10 != null) { tnode1.addChild("visibility", tnode10); } // TODO validate child } { final SNode tnode11 = new SNode("jetbrains.mps.baseLanguage.structure.ConstructorDeclaration"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a7a1a1); environment.nodeCopied( context, tnode11, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412777"); { final SNode tnode12 = new SNode("jetbrains.mps.baseLanguage.structure.VoidType"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a3a1a7a1a1); environment.nodeCopied( context, tnode12, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412778"); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode12)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a3a1a7a1a1); } if (tnode12 != null) { tnode11.addChild("returnType", tnode12); } // TODO validate child } { final SNode tnode13 = new SNode("jetbrains.mps.baseLanguage.structure.PublicVisibility"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a4a1a7a1a1); environment.nodeCopied( context, tnode13, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412779"); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode13)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a4a1a7a1a1); } if (tnode13 != null) { tnode11.addChild("visibility", tnode13); } // TODO validate child } { final SNode tnode14 = new SNode("jetbrains.mps.baseLanguage.structure.StatementList"); try { environment.getTracer().pushTemplateNode(templateNode_kyghau_a0a0a1a5a1a7a1a1); environment.nodeCopied( context, tnode14, "tpl/r:00000000-0000-4000-0000-011c89590606/4146564171992412780"); { final SNode tnode15 = new SNode( "jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement"); try { environment .getTracer() .pushTemplateNode(templateNode_kyghau_a0a0a1a3a1a5a1a7a1a1); environment.nodeCopied( context, tnode15, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761102"); { Collection<SNode> tlist16 = null; try { environment .getTracer() .pushMacro(varMacroRef_kyghau_a0a0a1a3a1a3a1a5a1a7a1a1); final Object varValue16 = QueriesGenerated.insertMacro_varValue_5015072279636761109( environment.getOperationContext(), new TemplateVarContext( context.getInput(), varMacroRef_kyghau_a0a0a1a3a1a3a1a5a1a7a1a1, context, environment.getGenerator())); TemplateContext context16 = context.subContext( Collections.<String, Object>singletonMap("var:var1", varValue16)); final SNode tnode17 = new SNode( "jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration"); try { environment .getTracer() .pushTemplateNode(templateNode_kyghau_a0a0a4a1a3a1a3a1a5a1a7a1a1); environment.nodeCopied( context16, tnode17, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761103"); tnode17.setProperty("name", "i"); { final SNode tnode18 = new SNode("jetbrains.mps.baseLanguage.structure.IntegerType"); try { environment .getTracer() .pushTemplateNode( templateNode_kyghau_a0a0a1a4a4a1a3a1a3a1a5a1a7a1a1); environment.nodeCopied( context16, tnode18, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761104"); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer( environment.getOutputModel(), tnode18)); environment .getTracer() .closeTemplateNode( templateNode_kyghau_a0a0a1a4a4a1a3a1a3a1a5a1a7a1a1); } if (tnode18 != null) { tnode17.addChild("type", tnode18); } // TODO validate child } { final SNode tnode19 = new SNode("jetbrains.mps.baseLanguage.structure.IntegerConstant"); try { environment .getTracer() .pushTemplateNode( templateNode_kyghau_a0a0a1a5a4a1a3a1a3a1a5a1a7a1a1); environment.nodeCopied( context16, tnode19, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761106"); tnode19.setProperty( "value", TemplateUtil.asString( QueriesGenerated .propertyMacro_GetPropertyValue_2721957369897795324( environment.getOperationContext(), new PropertyMacroContext( context16.getInput(), "0", propertyMacro_kyghau_c0b0b0a2a1a5a4a1a3a1a3a1a5a1a7a1a1, context16, environment.getGenerator())))); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer( environment.getOutputModel(), tnode19)); environment .getTracer() .closeTemplateNode( templateNode_kyghau_a0a0a1a5a4a1a3a1a3a1a5a1a7a1a1); } if (tnode19 != null) { tnode17.addChild("initializer", tnode19); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer( environment.getOutputModel(), tnode17)); environment .getTracer() .closeTemplateNode(templateNode_kyghau_a0a0a4a1a3a1a3a1a5a1a7a1a1); } tlist16 = TemplateUtil.singletonList(tnode17); } finally { environment .getTracer() .closeMacro(varMacroRef_kyghau_a0a0a1a3a1a3a1a5a1a7a1a1); } for (SNode child20 : TemplateUtil.asNotNull(tlist16)) { tnode15.addChild("localVariableDeclaration", child20); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer( environment.getOutputModel(), tnode15)); environment .getTracer() .closeTemplateNode(templateNode_kyghau_a0a0a1a3a1a5a1a7a1a1); } if (tnode15 != null) { tnode14.addChild("statement", tnode15); } // TODO validate child } { final SNode tnode21 = new SNode("jetbrains.mps.baseLanguage.structure.ExpressionStatement"); try { environment .getTracer() .pushTemplateNode(templateNode_kyghau_a0a0a1a4a1a5a1a7a1a1); environment.nodeCopied( context, tnode21, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761140"); { final SNode tnode22 = new SNode("jetbrains.mps.baseLanguage.structure.AssignmentExpression"); try { environment .getTracer() .pushTemplateNode(templateNode_kyghau_a0a0a1a3a1a4a1a5a1a7a1a1); environment.nodeCopied( context, tnode22, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761142"); { final SNode tnode23 = new SNode( "jetbrains.mps.baseLanguage.structure.LocalInstanceFieldReference"); try { environment .getTracer() .pushTemplateNode(templateNode_kyghau_a0a0a1a3a1a3a1a4a1a5a1a7a1a1); environment.nodeCopied( context, tnode23, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761141"); environment.resolveInTemplateLater( tnode23, "variableDeclaration", new SNodePointer( "r:00000000-0000-4000-0000-011c89590606(jetbrains.mps.transformation.test.outputLang.generator.baseLanguage.template.main@generator)", "5015072279636761141"), "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761135", "q", context); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer( environment.getOutputModel(), tnode23)); environment .getTracer() .closeTemplateNode(templateNode_kyghau_a0a0a1a3a1a3a1a4a1a5a1a7a1a1); } if (tnode23 != null) { tnode22.addChild("lValue", tnode23); } // TODO validate child } { final SNode tnode24 = new SNode( "jetbrains.mps.baseLanguage.structure.LocalVariableReference"); try { environment .getTracer() .pushTemplateNode(templateNode_kyghau_a0a0a1a4a1a3a1a4a1a5a1a7a1a1); environment.nodeCopied( context, tnode24, "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761145"); environment.resolveInTemplateLater( tnode24, "variableDeclaration", new SNodePointer( "r:00000000-0000-4000-0000-011c89590606(jetbrains.mps.transformation.test.outputLang.generator.baseLanguage.template.main@generator)", "5015072279636761145"), "tpl/r:00000000-0000-4000-0000-011c89590606/5015072279636761103", "i", context); } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer( environment.getOutputModel(), tnode24)); environment .getTracer() .closeTemplateNode(templateNode_kyghau_a0a0a1a4a1a3a1a4a1a5a1a7a1a1); } if (tnode24 != null) { tnode22.addChild("rValue", tnode24); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer( environment.getOutputModel(), tnode22)); environment .getTracer() .closeTemplateNode(templateNode_kyghau_a0a0a1a3a1a4a1a5a1a7a1a1); } if (tnode22 != null) { tnode21.addChild("expression", tnode22); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer( environment.getOutputModel(), tnode21)); environment .getTracer() .closeTemplateNode(templateNode_kyghau_a0a0a1a4a1a5a1a7a1a1); } if (tnode21 != null) { tnode14.addChild("statement", tnode21); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode14)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a5a1a7a1a1); } if (tnode14 != null) { tnode11.addChild("body", tnode14); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode11)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a7a1a1); } if (tnode11 != null) { tnode1.addChild("constructor", tnode11); } // TODO validate child } } finally { environment .getTracer() .pushOutputNode( GenerationTracerUtil.getSNodePointer(environment.getOutputModel(), tnode1)); environment.getTracer().closeTemplateNode(templateNode_kyghau_a0a0a1a1); } return TemplateUtil.singletonList(tnode1); }
public SNode getPreviousInputNodeByMappingLabel(String label) { return myContext == null ? null : myContext.getNamedInput(label); }