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); }
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)); }
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); }
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)); }
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); }
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); }
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 InterceptTargetSubjectCoder(mc as IRealSubjectMixinCoder, Type)); }