Table of Contents

Interface IAccessorEmitter

Namespace
Rinku.Querying.Parameters
Assembly
Rinku.dll

Emits custom access rules for individual parameter members.

public interface IAccessorEmitter
Extension Methods

Methods

Emit(ILGenerator, int, string, Type, MemberInfo, LocalBuilder?, int, bool, bool)

Emits the direct parameter binding path.

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

Parameters

il ILGenerator
index int
key string
type Type
member MemberInfo
handlerValues LocalBuilder
handlerIndex int
handlerValue bool
bindValue bool

EmitStackUsage(ILGenerator, Type, MemberInfo)

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

void EmitStackUsage(ILGenerator il, Type type, MemberInfo member)

Parameters

il ILGenerator
type Type
member MemberInfo

EmitStackValue(ILGenerator, Type, MemberInfo)

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

void EmitStackValue(ILGenerator il, Type type, MemberInfo member)

Parameters

il ILGenerator
type Type
member MemberInfo

EmitUseWith(ILGenerator, int, Type, MemberInfo, bool, UseWithEmissionContext)

Emits the value-array path used by UseWith.

void EmitUseWith(ILGenerator il, int index, Type type, MemberInfo member, bool bindValue, UseWithEmissionContext context)

Parameters

il ILGenerator
index int
type Type
member MemberInfo
bindValue bool
context UseWithEmissionContext

GetStackType(Type, MemberInfo)

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

Type GetStackType(Type type, MemberInfo member)

Parameters

type Type
member MemberInfo

Returns

Type

Validate(Type, MemberInfo)

Checks the emitter against the member it will read.

void Validate(Type type, MemberInfo member)

Parameters

type Type
member MemberInfo