示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }