Table of Contents

Class TypeAccessorEmitterBase

Namespace
Rinku.Querying.Parameters
Assembly
Rinku.dll

Provides the common conditional flow for an emitter attached to a whole type.

public abstract class TypeAccessorEmitterBase : ITypeAccessorEmitter
Inheritance
TypeAccessorEmitterBase
Implements
Inherited Members
Extension Methods

Methods

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

Emits the direct parameter binding path.

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

Parameters

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

EmitCondition(ILGenerator, Type)

Emits the condition that decides whether this key is usable.

protected abstract void EmitCondition(ILGenerator il, Type type)

Parameters

il ILGenerator
type Type

EmitParameterValue(ILGenerator, Type)

Emits the object value consumed by command binding and UseWith.

protected virtual void EmitParameterValue(ILGenerator il, Type type)

Parameters

il ILGenerator
type Type

EmitStackUsage(ILGenerator, Type)

Emits whether the type-level value is currently usable, leaving a bool on the IL stack.

public void EmitStackUsage(ILGenerator il, Type type)

Parameters

il ILGenerator
type Type

EmitStackValue(ILGenerator, Type)

Emits the raw typed type-level value directly onto the IL stack.

public void EmitStackValue(ILGenerator il, Type type)

Parameters

il ILGenerator
type Type

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

Emits the value-array path used by UseWith.

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

Parameters

il ILGenerator
index int
type Type
bindValue bool
context UseWithEmissionContext

EmitValue(ILGenerator, Type)

Emits the raw typed source value.

protected abstract void EmitValue(ILGenerator il, Type type)

Parameters

il ILGenerator
type Type

GetStackType(Type)

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

public Type GetStackType(Type type)

Parameters

type Type

Returns

Type

GetValueType(Type)

The raw type emitted by EmitValue(ILGenerator, Type).

protected virtual Type GetValueType(Type type)

Parameters

type Type

Returns

Type

Validate(Type)

Checks the emitter against the parameter type.

public virtual void Validate(Type type)

Parameters

type Type