Example #1
0
 public CallableField(FieldReference field, EasyCallable callable,
     MethodInfo callback, int sourceArgIndex)
 {
     _field = field;
     _callable = callable;
     _callback = callback;
     _sourceArgIndex = sourceArgIndex;
 }
Example #2
0
 protected virtual void GenerateFields()
 {
     _interceptorField = _typeBuilder.CreateField("__interceptor", Context.Interceptor);
     _cacheField = _typeBuilder.CreateField("__cache", typeof(HybridDictionary), false);
     _mixinField = _typeBuilder.CreateField("__mixin", typeof(object[]));
 }
Example #3
0
        protected void RegisterDelegateFieldToBeInitialized(
            MethodInfo method, FieldReference field,
            EasyCallable builder, MethodInfo callbackMethod)
        {
            int sourceArgIndex = CallableField.EmptyIndex;

            if (Context.HasMixins && _interface2mixinIndex.Contains(method.DeclaringType))
            {
                sourceArgIndex = ((int) _interface2mixinIndex[method.DeclaringType]);
            }

            _cachedFields.Add(new CallableField(field, builder, callbackMethod, sourceArgIndex));
        }
		protected override void GenerateFields()
		{
			base.GenerateFields();
			_targetField = MainTypeBuilder.CreateField("__target", typeof(object));
		}