コード例 #1
0
ファイル: VarTagParser.cs プロジェクト: codesoda/Impression
        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);
        }
コード例 #2
0
ファイル: VarTagParser.cs プロジェクト: codesoda/Impression
        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;
        }