// throws JadeCompilerException public override void execute(IndentWriter writer, JadeModel model, JadeTemplate template) { MixinNode mixin = model.getMixin(getName()); if (mixin == null) { throw new JadeCompilerException(this, template.getTemplateLoader(), "mixin " + getName() + " is not defined"); } // Clone mixin try { mixin = (MixinNode)mixin.Clone(); } catch (Exception e) { // Can't happen throw; } if (hasBlock()) { List<BlockNode> injectionPoints = getInjectionPoints(mixin.getBlock()); foreach (BlockNode point in injectionPoints) { point.getNodes().AddLast(block); } } model.pushScope(); model.put("block", hasBlock()); writeVariables(model, mixin, template); writeAttributes(model, mixin, template); mixin.getBlock().execute(writer, model, template); model.popScope(); }
public override void execute(IndentWriter writer, JadeModel model, JadeTemplate template)// throws JadeCompilerException { MixinNode mixin = model.getMixin(getName()); if (mixin == null) { throw new JadeCompilerException(this, template.getTemplateLoader(), "mixin " + getName() + " is not defined"); } // Clone mixin try { mixin = (MixinNode)mixin.Clone(); } catch (Exception e) { // Can't happen throw; } if (hasBlock()) { List <BlockNode> injectionPoints = getInjectionPoints(mixin.getBlock()); foreach (BlockNode point in injectionPoints) { point.getNodes().AddLast(block); } } model.pushScope(); model.put("block", hasBlock()); writeVariables(model, mixin, template); writeAttributes(model, mixin, template); mixin.getBlock().execute(writer, model, template); model.popScope(); }