Table of Contents

Interface IPathAccessorEmitter

Namespace
Rinku.Querying.Parameters
Assembly
Rinku.dll

Optional path-aware form of IAccessorEmitter. Implement this when the same custom parameter rule should also work on members reached through NestedParametersAttribute.

public interface IPathAccessorEmitter
Extension Methods

Methods

Emit(ILGenerator, int, string, ParameterMemberAccess, LocalBuilder?, int, bool, bool)

Emits the direct parameter binding path.

void Emit(ILGenerator il, int index, string key, ParameterMemberAccess member, LocalBuilder? handlerValues, int handlerIndex, bool handlerValue, bool bindValue)

Parameters

il ILGenerator
index int
key string
member ParameterMemberAccess
handlerValues LocalBuilder
handlerIndex int
handlerValue bool
bindValue bool

EmitStackUsage(ILGenerator, ParameterMemberAccess)

Emits whether the resolved value is currently usable, leaving a bool on the IL stack.

void EmitStackUsage(ILGenerator il, ParameterMemberAccess member)

Parameters

il ILGenerator
member ParameterMemberAccess

EmitStackValue(ILGenerator, ParameterMemberAccess)

Emits the raw typed resolved value directly onto the IL stack.

void EmitStackValue(ILGenerator il, ParameterMemberAccess member)

Parameters

il ILGenerator
member ParameterMemberAccess

EmitUseWith(ILGenerator, int, ParameterMemberAccess, bool, UseWithEmissionContext)

Emits the value-array path used by UseWith.

void EmitUseWith(ILGenerator il, int index, ParameterMemberAccess member, bool bindValue, UseWithEmissionContext context)

Parameters

il ILGenerator
index int
member ParameterMemberAccess
bindValue bool
context UseWithEmissionContext

GetStackType(ParameterMemberAccess)

The raw type left on the IL stack by EmitStackValue(ILGenerator, ParameterMemberAccess).

Type GetStackType(ParameterMemberAccess member)

Parameters

member ParameterMemberAccess

Returns

Type

Validate(ParameterMemberAccess)

Checks the emitter against the resolved member path.

void Validate(ParameterMemberAccess member)

Parameters

member ParameterMemberAccess