Namespace Utils.Expressions
Classes
- BlockExpressionBuilder
A helper class that builds expression blocks while minimizing the number of declared variables.
- CompileException
Represents the base class for compile-time exceptions that occur during expression compilation in the
Utils.Expressionsnamespace.
- ConstantNumericAttribute
A specialized attribute that indicates the expected parameter is a ConstantExpression holding a numeric value, optionally restricted to a specific set of allowed numeric values.
- ExpressionCallSignatureAttribute
Marks a method as matching only method-call expressions that invoke a specific function name on a specific type. This is a specialized ExpressionSignatureAttribute for calls.
- ExpressionCompilerContext
Represents a dynamic symbol context shared by expression compilers.
- ExpressionEx
Provides helper methods for building and manipulating expression trees.
- ExpressionOptimiser
Provides a standard optimization pass over expression trees.
- ExpressionSignatureAttribute
Marks a method or parameter as having a signature requirement for a certain ExpressionType. When used on a method, the method is considered for transformation if its attribute matches the current node type. When used on a parameter, it further restricts which sub-expressions are permissible.
- ExpressionTransformer
Provides an abstract base class to transform or rewrite LINQ expression trees. Subclasses may override the transformation logic for specific expression signatures.
- ExpressionUtils
Provides utility helpers for analysing and comparing expression trees.
- FindTypeException
Thrown when a type cannot be found during a type resolution process.
- FormattedPart
Represents a formatted part of an interpolated string, containing an expression and optional format/alignment specifications.
- InterpolatedStringParser
Parses an interpolated string into its constituent parts, which can be either literals or formatted expressions.
- LiteralPart
Represents a literal (non-interpolated) part of a string.
- Parenthesis
Describes a set of parenthesis tokens used by the expression parser.
- ParseDuplicateParameterNameException
Thrown when the parser encounters a parameter name that is already in use.
- ParseException
Represents the base class for all parsing exceptions that occur during expression parsing in the
Utils.Expressionsnamespace.
- ParseNoEndException
Thrown when an expected closing symbol is not found in the parsed expression.
- ParseUnfindTypeException
Thrown when a type name cannot be resolved or found by the parser.
- ParseUnknownException
Thrown when an unknown symbol is encountered by the parser.
- ParseUnmatchException
Thrown when a pair of opening and closing symbols do not match in the parsed expression.
- ParseWrongSymbolException
Thrown when the parser encounters a symbol that is incorrect for the current context.
- ParserOptions
Provides configuration settings and default mappings for parsing expressions, including operator priorities, numeric type levels, default type keywords, and numeric suffix mappings.
- ReturnTypeAttribute
A specialized attribute that indicates the matched expression's return type must be assignable to a specified type. Useful for restricting the type of an operand beyond its ExpressionType.
Interfaces
- IDistanceValue<T>
Represents a pairing of a distance measure and a value, typically used for scoring or ranking operations in method or constructor selection.
- IExpressionCompiler
Defines a lightweight contract for expression compilers that turn source text into LINQ expression trees.
- IInterpolatedStringPart
Represents a part of an interpolated string, which can be either literal text or a formatted expression.
- IResolver
Provides functionality to resolve types, constructors, methods, and members at runtime, as well as to manage constants in expressions.
- ITypeFinder
Provides methods for finding types and extension methods at runtime.