/// <summary> /// Visit a parse tree produced by <see cref="CodeQueryParser.selectableElement" />. /// <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> /// <returns></returns> /// <return>The visitor result.</return> public override Object VisitSelectableElement(CodeQueryParser.SelectableElementContext context) { var isClassElement = context.DOT() != null; var name = context.ElementName.Text; if (isClassElement) { name = "." + name; } var attributes = context.selectorAttribute().AcceptAll(this).Cast <AttributeElement>(); var pseudoSelectors = context.pseudoSelector().AcceptAll(this).Cast <ModifierElement>(); var classSelectors = context.className().AcceptAll(this).Cast <ClassSelectorElement>(); return(SelectorFactory.CreateElementTypeSelector(name, attributes, pseudoSelectors, classSelectors)); }
/// <summary> /// Visit a parse tree produced by <see cref="CodeQueryParser.selectableElement"/>. /// <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 VisitSelectableElement([NotNull] CodeQueryParser.SelectableElementContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="CodeQueryParser.selectableElement"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitSelectableElement([NotNull] CodeQueryParser.SelectableElementContext context) { }