BaseProxyGenerator
Base class that exposes the common functionalities
to proxy generation.
protected void AddMapping(Type interface, ITypeContributor implementer, IDictionary<Type, ITypeContributor> mapping)
protected void AddMappingNoCheck(Type interface, ITypeContributor implementer, IDictionary<Type, ITypeContributor> mapping)
It is safe to add mapping (no mapping for the interface exists)
protected virtual ClassEmitter BuildClassEmitter(string typeName, Type parentType, IEnumerable<Type> interfaces)
protected void GenerateConstructor(ClassEmitter emitter, ConstructorInfo baseConstructor, FieldReference[] fields)
protected void GenerateParameterlessConstructor(ClassEmitter emitter, Type baseClass, FieldReference interceptorField)
Generates a parameters constructor that initializes the proxy
state with StandardInterceptor just to make it non-null.
This constructor is important to allow proxies to be XML serializable
protected void HandleExplicitlyPassedProxyTargetAccessor(ICollection<Type> targetInterfaces, ICollection<Type> additionalInterfaces)