public TagMarkupBase ParseTag(string markup, int lineNumber, int charPos) { VarTagMarkup tagMarkup = null; ExpressionMarkup expressionMarkup = null; Match m = VarTagParserRegex.Match(markup); if (m.Success) { string tag = m.Groups["Tag"].Success ? m.Groups["Tag"].Value.Trim(): null; if (string.IsNullOrEmpty(tag)) { throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); } string expression = m.Groups["Expression"].Success ? m.Groups["Expression"].Value.Trim() : null; if (!string.IsNullOrEmpty(expression)) { expressionMarkup = new ExpressionMarkup(reflector, filterRunner, expression, lineNumber, charPos); } tagMarkup = new VarTagMarkup( expressionMarkup, markup, lineNumber, charPos ); } if (tagMarkup == null) { throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); } return(tagMarkup); }
public TagMarkupBase ParseTag(string markup, int lineNumber, int charPos) { VarTagMarkup tagMarkup = null; ExpressionMarkup expressionMarkup = null; Match m = VarTagParserRegex.Match(markup); if (m.Success) { string tag = m.Groups["Tag"].Success ? m.Groups["Tag"].Value.Trim(): null; if (string.IsNullOrEmpty(tag)) throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); string expression = m.Groups["Expression"].Success ? m.Groups["Expression"].Value.Trim() : null; if (!string.IsNullOrEmpty(expression)) { expressionMarkup = new ExpressionMarkup(reflector, filterRunner, expression, lineNumber, charPos); } tagMarkup = new VarTagMarkup( expressionMarkup, markup, lineNumber, charPos ); } if (tagMarkup == null) throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); return tagMarkup; }