public bool IsMatch <TItem>([NotNull] AbstractDependency <TItem> d) where TItem : AbstractItem <TItem> { MatchResult matchLeft = UsingMatch == null ? new MatchResult(true, null) : UsingMatch.Matches(d.UsingItem, NO_STRINGS); return(matchLeft.Success && (DependencyPattern == null || DependencyPattern.IsMatch(d)) && (UsedMatch == null || UsedMatch.Matches(d.UsedItem, matchLeft.Groups).Success)); }
public DependencyMatch([CanBeNull] ItemMatch usingMatch, [CanBeNull] DependencyPattern dependencyPattern, [CanBeNull] ItemMatch usedMatch, string representation) { UsingMatch = usingMatch; DependencyPattern = dependencyPattern; UsedMatch = usedMatch; Representation = representation; }