private void EvaluateBlockFunctionNode(BlockFunctionNode node, StringBuilder output) { var evaluatedAttributes = EvaluateAttributes(node.Id, node.Attributes); var result = node.BlockFunction.Evaluate(evaluatedAttributes, new FunctionEvaluator(this, node.Id, GetFunctionData(node.Id)), node.Content); if (!string.IsNullOrEmpty(result)) { output.Append(result); } }
private IParserNode BlockFunction(string functionName) { var attributes = Attributes(); Expect(TokenType.CloseBrace, true); var content = GetFunctionContent(functionName); var node = new BlockFunctionNode(currentNodeId++, functions.BlockFunctions[functionName], attributes, content); ReadNextToken(true); return(node); }