Table of Contents

Namespace CilFi.Patterns

Classes

AndPattern<T>

Defines a pattern that requires a collection of sub-patterns to be satisfied.

AnyPattern<T>

Defines the pattern that accepts any instance of the provided type.

ArrayTypePattern

Defines the pattern that matches on array type signatures.

ArrayTypePattern.MatchNode

Represents a match node produced by a ArrayTypePattern.

AssemblyScopePattern

Defines the pattern that matches on assembly resolution scopes in a type.

AssemblyScopePattern.MatchNode

Represents a match node produced by a AssemblyScopePattern.

BlockAndExpression

Represents an expression that computes the logical AND between two expressions.

BlockExpression

Represents a boolean expression comprising blocks

BlockExpressionContext

Describes a context in which a BlockExpression can be evaluated in.

BlockIdExpression

Represents an expression that references a block by its name.

BlockOrExpression

Represents an expression that computes the logical OR between two expressions.

BlocksBodyPattern

Defines the pattern matching CIL method bodies based on blocks of CIL instruction sequences.

BlocksBodyPattern.MatchNode

Represents the match node corresponding to a BlocksBodyPattern

ByReferenceTypePattern

Defines the pattern that matches on by-reference type signature.

CilBlockPattern

Defines the pattern that matches on a single basic block in a control flow graph of a CIL method body.

CilInstructionPattern

Defines a pattern matching on individual CIL instructions.

CilInstructionPattern.MatchNode

Represents a match node produced by a CilInstructionPattern.

CorLibScopePattern

Defines the pattern matching on CorLib assembly resolution scopes (e.g., mscorlib, netstandard or System.Runtime).

FieldDescriptorPattern

Defines the pattern matching on field descriptors.

FieldDescriptorPattern.MatchNode

Represents a match node produced by a FieldDescriptorPattern.

FlagsPattern<T>

Defines the pattern for bitmasks.

FlatBodyPattern

Defines the pattern matching CIL method bodies as flat CIL instruction sequences.

FlatBodyPattern.MatchNode

Represents a match node produced by a FlatBodyPattern.

GenericInstanceTypeSignaturePattern

Defines the pattern matching on generic instance type signatures.

GenericInstanceTypeSignaturePattern.MatchNode

Represents a match node produced by a GenericInstanceTypeSignaturePattern.

GenericParameterPattern

Defines the pattern matching on generic parameters.

GenericParameterPattern.MatchNode

Represents a match node produced by a GenericParameterPattern.

GenericParameterSignaturePattern

Defines the pattern matching on generic parameter signatures.

GenericParameterSignaturePattern.MatchNode

Represents a match node produced by a GenericParameterSignaturePattern.

IntegerPattern

Defines the pattern matching on integer-like values.

ListPattern<T>

Defines the pattern matching on a sequence of elements.

LiteralPattern<T>

Defines the pattern matching on exact instances of a type.

LocalPattern

Defines the pattern matching on a local variable in a CIL method body.

LocalPattern.MatchNode

Represents a match node produced by a LocalPattern.

LocalsPattern

Defines the pattern matching the locals within a CIL method body.

LocalsPattern.MatchNode

Represents a match node produced by a LocalsPattern.

MatchingContext

Provides a context for a signature scanning process.

MethodDefinitionPattern

Defines the pattern matching on methods defined in a .NET module.

MethodDefinitionPattern.MatchNode

Represents a match node produced by a MethodDefinitionPattern.

MethodReferencePattern

Defines the pattern matching on method descriptors.

MethodReferencePattern.MatchNode

Represents a match node produced by a MethodReferencePattern.

ModuleTypePattern

Defines the pattern matching on module or global types in a .NET module.

NestedTypeIdentifierPattern

Defines the pattern matching on nested type references.

NestedTypeIdentifierPattern.MatchNode

Represents a match node produced by a NestedTypeIdentifierPattern.

NotNullPattern<T>

Defines the pattern matching on any non-null instance of the provided type.

NullPattern<T>

Defines the pattern matching on null instances of the provided type.

OrPattern<T>

Defines the pattern that combines multiple sub-patterns for which at least one needs to be satisfied.

ParameterPattern

Defines the pattern matching on parameters defined by a .NET method.

ParameterPattern.MatchNode

Represents a match node produced by a ParameterPattern.

Pattern

Defines a pattern for a specific object.

PatternExtensions

Provides extensions to Pattern<T>.

Pattern<T>

Defines a pattern for a specific type of value.

PointerTypePattern

Defines the pattern matching on pointer type signatures.

PredicatePattern<T>

Wraps a predicate into a pattern.

ReadOnlyListPattern<T>

Defines the pattern matching on a sequence of elements.

RegexPattern

Defines the pattern matching on strings that follow a regular expression.

SetPattern<T>

Defines the pattern that matches on (sub)-sets of elements.

TypeDefOrRefPattern

Defines a pattern matching on type signatures.

TypeDefOrRefPattern.MatchNode

Represents a match node produced by a TypeDefOrRefPattern.

TypeIdentifierPattern

Defines the pattern matching on top-level type identifiers.

TypeIdentifierPattern.MatchNode

Represents a match node produced by a TypeIdentifierPattern.

TypeSpecificationPattern

Defines the pattern matching type specifications.

TypeSpecificationPattern.MatchNode

Represents a match node produced by a TypeSpecificationPattern.

Enums

CilBlockPatternAttributes

Defines all CIL basic block matching flags.

SetPatternAttributes

Defines allp ossible set pattern matching rules.