/// <summary> /// Visit a parse tree produced by <see cref="CodeQueryParser.className"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public override Object VisitClassName(CodeQueryParser.ClassNameContext context) { var id = context.ID(); if (id != null) { return(SelectorFactory.CreateClassSelectorElement(id.GetText(), false)); } var stringId = context.STRING(); if (stringId != null) { var regularExpression = stringId.GetText() .Replace("?", ".") .Replace("*", ".?"); return(SelectorFactory.CreateClassSelectorElement(regularExpression, true)); } var regularExpressionId = context.REGULAR_EXPRESSION(); if (regularExpressionId != null) { var regularExpression = regularExpressionId.GetText(); regularExpression = regularExpression.Substring(1, regularExpression.Length - 2); return(SelectorFactory.CreateClassSelectorElement(regularExpression, true)); } throw new NotSupportedException("Not supported class name format."); }
/// <summary> /// Visit a parse tree produced by <see cref="CodeQueryParser.className"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitClassName([NotNull] CodeQueryParser.ClassNameContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="CodeQueryParser.className"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitClassName([NotNull] CodeQueryParser.ClassNameContext context) { }