/// <summary> /// Resolves the class selectors. /// </summary> protected virtual IEnumerable <Regex> ResolveClassSelectors(TypeSelectorElement selector) { return(selector.ClassSelectors.Select <ClassSelectorElement, Regex>(classSelector => { var regularClassSelector = classSelector as RegularExpressionClassSelectorElement; if (regularClassSelector != null) { return regularClassSelector.Regex; } var rawClassSelector = classSelector as RawClassSelectorElement; if (rawClassSelector != null) { return new Regex(rawClassSelector.Name); } throw new NotSupportedException(String.Format("Not supported class selector element: {0}.", classSelector.GetType().FullName)); })); }
/// <summary> /// Initializes a new instance of the <see cref="UnarySelectorElement"/> class. /// </summary> public UnarySelectorElement(TypeSelectorElement typeSelectorElement) { TypeSelectorElement = typeSelectorElement; }
protected IEnumerable <SelectorAttribute> ResolverAttributes(TypeSelectorElement typeSelectorElement) { return(typeSelectorElement.Attributes .Select(attribute => new SelectorAttribute(attribute.Name, attribute.Value.Value))); }
protected IEnumerable <ModifierBase> ResolveModifiers(TypeSelectorElement typeSelectorElement) { return(typeSelectorElement.Modifiers .Select(resolveModifier)); }
protected SelectorDescriptor ResolveSelectorDescriptor(TypeSelectorElement typeSelectorElement) { return(DescriptorRepository.GetSelectorDescriptors() .SingleOrDefault(s => NameMatcher.Match(s.Value, typeSelectorElement.Name))); }