public override Statement Parse(ParseTreeNode node, ParserContext context) { var tag = context.CurrentBlock.Tag; var statements = context.CurrentBlock.Statements; var arguments = NamedHelperTag.BuildArguments(tag); return(new HelperStatement(new ArgumentsExpression(arguments), tag.Term.Name, statements)); }
public override Statement Parse(ParseTreeNode node, ParserContext context) { var tag = context.CurrentBlock.Tag; var statements = context.CurrentBlock.Statements; var arguments = NamedHelperTag.BuildArguments(tag); var helper = tag.Term.Name; if (helper.EndsWith("block", StringComparison.Ordinal) && helper.Length > "block".Length) { helper = helper.Substring(0, helper.Length - "block".Length); } return(new HelperStatement(new ArgumentsExpression(arguments), helper, statements)); }