static public int GetLength(IntPtr l) { try { ProtoBuf.IExtension self = (ProtoBuf.IExtension)checkSelf(l); var ret = self.GetLength(); pushValue(l, true); pushValue(l, ret); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int EndQuery(IntPtr l) { try { ProtoBuf.IExtension self = (ProtoBuf.IExtension)checkSelf(l); System.IO.Stream a1; checkType(l, 2, out a1); self.EndQuery(a1); pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static StackObject *GetExtensionObject_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj) { ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain; StackObject *ptr_of_this_method; StackObject *__ret = ILIntepreter.Minus(__esp, 2); ptr_of_this_method = ILIntepreter.Minus(__esp, 1); System.Boolean @createIfMissing = ptr_of_this_method->Value == 1; ptr_of_this_method = ILIntepreter.Minus(__esp, 2); ProtoBuf.IExtension @extensionObject = (ProtoBuf.IExtension) typeof(ProtoBuf.IExtension).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack)); var result_of_this_method = ProtoBuf.Extensible.GetExtensionObject(ref @extensionObject, @createIfMissing); ptr_of_this_method = ILIntepreter.Minus(__esp, 1); __intp.Free(ptr_of_this_method); ptr_of_this_method = ILIntepreter.Minus(__esp, 2); switch (ptr_of_this_method->ObjectType) { case ObjectTypes.StackObjectReference: { var ___dst = ILIntepreter.ResolveReference(ptr_of_this_method); object ___obj = @extensionObject; if (___dst->ObjectType >= ObjectTypes.Object) { if (___obj is CrossBindingAdaptorType) { ___obj = ((CrossBindingAdaptorType)___obj).ILInstance; } __mStack[___dst->Value] = ___obj; } else { ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain); } } break; case ObjectTypes.FieldReference: { var ___obj = __mStack[ptr_of_this_method->Value]; if (___obj is ILTypeInstance) { ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @extensionObject; } else { var ___type = __domain.GetType(___obj.GetType()) as CLRType; ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @extensionObject); } } break; case ObjectTypes.StaticFieldReference: { var ___type = __domain.GetType(ptr_of_this_method->Value); if (___type is ILType) { ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @extensionObject; } else { ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @extensionObject); } } break; case ObjectTypes.ArrayReference: { var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as ProtoBuf.IExtension[]; instance_of_arrayReference[ptr_of_this_method->ValueLow] = @extensionObject; } break; } __intp.Free(ptr_of_this_method); return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method)); }