public MixinCoderContext(ProxyClassCoder proxyCoder, int index, IMixinDescriptor mixin)
 {
     _proxyCoder = proxyCoder;
     _mixin      = mixin;
     _index      = index;
     _mixinCoder = mixin.CreateCoder();
 }
 public SubjectCoderContext(ProxyCodeBuilder pcb, IMixinCoder mixinCoder, ISubjectDescriptor subject)
 {
     _pcb          = pcb;
     _subject      = subject;
     _subjectCoder = subject.CreateCoder(mixinCoder, pcb);
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new InterceptorSubjectCoder(mc as IInterceptMixinCoder));
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return new MethodExistsProxyMetaSubjectCoder(pcb);
 }
Beispiel #5
0
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new SafeDirectProxySubjectCoder(mc as IRealSubjectMixinCoder, pcb.ProxyCoderContext.ProxyModule, Type));
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new DirectProxySubjectCoder(mc as IRealSubjectMixinCoder));
 }
Beispiel #7
0
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new SafeNullProxySubjectCoder(pcb.ProxyCoderContext.ProxyModule));
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new ComputeMethodIndexResultSubjectCoder((ComputeMethodIndexMixinCoder)mc));
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return new SafeProxyMetaSubjectCoder(mc as IRealSubjectMixinCoder);
 }
Beispiel #10
0
 public abstract ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb);
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new DynamicPropertySourceSubjectCoder(mc as IDynamicPropertySourceMixinCoder, pcb.ProxyCoderContext.ModuleBuilder));
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new PropertyStoreSubjectCoder(pcb));
 }
Beispiel #13
0
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new DuckProxySubjectCoder(mc as IRealSubjectMixinCoder, pcb.ProxyCoderContext.ProxyModule, this));
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return new SubjectMethodExistsForDuckProxySubjectCoder(pcb, _methodExistsSubjectType, _realSubjectType);
 }
Beispiel #15
0
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new MethodExistsProxyMetaSubjectCoder(pcb));
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new SubjectMethodExistsForDuckProxySubjectCoder(pcb, _methodExistsSubjectType, _realSubjectType));
 }
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return new ComputeMethodIndexForSubjectCoder((ComputeMethodIndexMixinCoder)mc);
 }
Beispiel #18
0
 public abstract ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb);
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return new DynamicPropertySourceSubjectCoder(mc as IDynamicPropertySourceMixinCoder, pcb.ProxyCoderContext.ModuleBuilder);
 }
Beispiel #20
0
 public override ISubjectCoder CreateCoder(IMixinCoder mc, IProxyCodeBuilder pcb)
 {
     return(new InterceptTargetSubjectCoder(mc as IRealSubjectMixinCoder, Type));
 }