Open sandboxFocus

Interface IValidatorReceiver<TDeclaration, TTag>

Namespace: Metalama.Framework.Validation
Assembly: Metalama.Framework.dll
Syntax
public interface IValidatorReceiver<out TDeclaration, out TTag> : IValidatorReceiver<TDeclaration>, IValidatorReceiver where TDeclaration : class, IDeclaration
Type Parameters
Name Description
TDeclaration
TTag

Methods

Name Description
AfterAllAspects()

Gets an interface that allows to validate the final compilation, after all aspects have been applied.

BeforeAnyAspect()

Gets an interface that allows to validate the initial compilation, after before any aspect has been applied.

OfType<TOut>()
ReportDiagnostic(Func<TDeclaration, TTag, IDiagnostic>)

Reports a diagnostic for each declaration selected by the the current object.

SelectMany<TMember>(Func<TDeclaration, IEnumerable<TMember>>)

Projects each declaration of the current set to an IEnumerable<T> (typically a list of child declarations) and flattens the resulting sequences into one set.

SelectMany<TMember>(Func<TDeclaration, TTag, IEnumerable<TMember>>)

Projects each declaration of the current set to an IEnumerable<T> (typically a list of child declarations) and flattens the resulting sequences into one set. This overload does supplies the tag to the selector delegate.

SelectTypes(bool)

Selects all types enclosed in declarations of the current set.

SelectTypesDerivedFrom(INamedType, DerivedTypesOptions)

Selects all types, among those enclosed in declarations of the current set, that derive from or implement a given INamedType.

SelectTypesDerivedFrom(Type, DerivedTypesOptions)

Selects all types, among those enclosed in declarations of the current set, that derive from or implement a given Type.

Select<TMember>(Func<TDeclaration, TTag, TMember>)

Projects each declaration of the current set into a new declaration. This overload does supplies the tag to the selector delegate.

Select<TMember>(Func<TDeclaration, TMember>)

Projects each declaration of the current set into a new declaration.

SuggestCodeFix(Func<TDeclaration, TTag, CodeFix>)

Suggests a code fix for each declaration selected by the current object.

SuppressDiagnostic(Func<TDeclaration, TTag, SuppressionDefinition>)

Suppresses a diagnostic for each declaration selected by the current object.

Tag<TNewTag>(Func<TDeclaration, TTag, TNewTag>)

Projects the declarations in the current set by replacing the tag of each declaration. This overload does supplies the old tag to the getTag delegate.

Tag<TNewTag>(Func<TDeclaration, TNewTag>)

Projects the declarations in the current set by replacing the tag of each declaration.

ValidateInboundReferences<TValidator>(Func<TDeclaration, TTag, TValidator>)

Registers a reference validator, provided by a delegate that provides an instance of the ReferenceValidator abstract class. The reference validator will be invoked to validate references to any declaration in the current set. Only source code references are validated. References added by aspects are ignored by design.

Where(Func<TDeclaration, bool>)

Filters the set of declarations based on a predicate.

Where(Func<TDeclaration, TTag, bool>)

Filters the set of declarations based on a predicate. This overload does supplies the tag to the predicate delegate.