C# Class Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator

Inheritance: BaseCodeGenerator
显示文件 Open project: nats/castle-1.0.3-mono Class Usage Examples

Protected Properties

Property Type Description
_targetField Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FieldReference
_targetType System.Type

Public Methods

Method Description
GenerateCode ( Type interfaces, Type targetType ) : Type
InterfaceProxyGenerator ( ModuleScope scope ) : System
InterfaceProxyGenerator ( ModuleScope scope, GeneratorContext context ) : System

Protected Methods

Method Description
CreateProperty ( PropertyInfo property ) : EasyProperty
CustomizeGetObjectData ( Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder codebuilder, ArgumentReference arg1, ArgumentReference arg2 ) : void
GenerateCallbackMethodIfNecessary ( MethodInfo method, Reference invocationTarget ) : MethodInfo
GenerateConstructor ( ) : EasyConstructor

Generates one public constructor receiving the IInterceptor instance and instantiating a HybridCollection

GenerateFields ( ) : void
GenerateTypeName ( Type type, Type interfaces ) : String
GetCorrectMethod ( MethodInfo method ) : MethodInfo

From an interface method (abstract) look up for a matching method on the target

GetPseudoInvocationTarget ( MethodInfo method ) : Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Expression
Join ( Type interfaces, Type mixinInterfaces ) : System.Type[]

Private Methods

Method Description
CreateInterceptorProperty ( PropertyInfo propertyInfo ) : EasyProperty

Method Details

CreateProperty() protected method

protected CreateProperty ( PropertyInfo property ) : EasyProperty
property System.Reflection.PropertyInfo
return Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty

CustomizeGetObjectData() protected method

protected CustomizeGetObjectData ( Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder codebuilder, ArgumentReference arg1, ArgumentReference arg2 ) : void
codebuilder Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder
arg1 Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ArgumentReference
arg2 Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ArgumentReference
return void

GenerateCallbackMethodIfNecessary() protected method

protected GenerateCallbackMethodIfNecessary ( MethodInfo method, Reference invocationTarget ) : MethodInfo
method System.Reflection.MethodInfo
invocationTarget Reference
return System.Reflection.MethodInfo

GenerateCode() public method

public GenerateCode ( Type interfaces, Type targetType ) : Type
interfaces System.Type
targetType System.Type
return System.Type

GenerateConstructor() protected method

Generates one public constructor receiving the IInterceptor instance and instantiating a HybridCollection
protected GenerateConstructor ( ) : EasyConstructor
return Castle.DynamicProxy.Builder.CodeBuilder.EasyConstructor

GenerateFields() protected method

protected GenerateFields ( ) : void
return void

GenerateTypeName() protected method

protected GenerateTypeName ( Type type, Type interfaces ) : String
type System.Type
interfaces System.Type
return String

GetCorrectMethod() protected method

From an interface method (abstract) look up for a matching method on the target
protected GetCorrectMethod ( MethodInfo method ) : MethodInfo
method System.Reflection.MethodInfo
return System.Reflection.MethodInfo

GetPseudoInvocationTarget() protected method

protected GetPseudoInvocationTarget ( MethodInfo method ) : Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Expression
method System.Reflection.MethodInfo
return Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Expression

InterfaceProxyGenerator() public method

public InterfaceProxyGenerator ( ModuleScope scope ) : System
scope ModuleScope
return System

InterfaceProxyGenerator() public method

public InterfaceProxyGenerator ( ModuleScope scope, GeneratorContext context ) : System
scope ModuleScope
context GeneratorContext
return System

Join() protected method

protected Join ( Type interfaces, Type mixinInterfaces ) : System.Type[]
interfaces System.Type
mixinInterfaces System.Type
return System.Type[]

Property Details

_targetField protected_oe property

protected FieldReference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST _targetField
return Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FieldReference

_targetType protected_oe property

protected Type,System _targetType
return System.Type