Beispiel #1
0
 public static unsafe void \u003CMarshalCopy\u003E(basic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E *A_0, basic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E *A_1)
 {
     // ISSUE: fault handler
     try
     {
         *(int *)((IntPtr)A_0 + 16) = 0;
         *(int *)((IntPtr)A_0 + 20) = 0;
     }
     __fault
     {
         // ISSUE: method pointer
         // ISSUE: cast to a function pointer type
         \u003CModule\u003E.___CxxCallUnwindDtor((__FnPtr <void (void *)>)__methodptr(std\u002E_String_val\u003Cstd\u003A\u003A_Simple_types\u003Cchar\u003E\u0020\u003E\u002E_Bxty\u002E\u007Bdtor\u007D), (void *)A_0);
     }
     // ISSUE: fault handler
     try
     {
         \u003CModule\u003E.std\u002Ebasic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E\u002E_Tidy(A_0, false, 0U);
         \u003CModule\u003E.std\u002Ebasic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E\u002Eassign(A_0, A_1, 0U, uint.MaxValue);
     }
     __fault
     {
         // ISSUE: method pointer
         // ISSUE: cast to a function pointer type
         \u003CModule\u003E.___CxxCallUnwindDtor((__FnPtr <void (void *)>)__methodptr(std\u002E_String_alloc\u003Cstd\u003A\u003A_String_base_types\u003Cchar\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E\u0020\u003E\u002E\u007Bdtor\u007D), (void *)A_0);
     }
 }
Beispiel #2
0
 public static unsafe void \u003CMarshalDestroy\u003E(basic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E *A_0)
 {
     // ISSUE: fault handler
     try
     {
         \u003CModule\u003E.std\u002Ebasic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E\u002E_Tidy(A_0, true, 0U);
     }
     __fault
     {
         // ISSUE: method pointer
         // ISSUE: cast to a function pointer type
         \u003CModule\u003E.___CxxCallUnwindDtor((__FnPtr <void (void *)>)__methodptr(std\u002E_String_alloc\u003Cstd\u003A\u003A_String_base_types\u003Cchar\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E\u0020\u003E\u002E\u007Bdtor\u007D), (void *)A_0);
     }
 }
        public static unsafe basic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E *ManagedToUnmanagedString([In] basic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E *obj0, string managedString)
        {
            uint num1 = 0U;
            uint num2;

            if (string.IsNullOrEmpty(managedString))
            {
                *(long *)((IntPtr)obj0 + 24L) = 15L;
                *(long *)((IntPtr)obj0 + 16L) = 0L;
                *(sbyte *)obj0 = (sbyte)0;
                // ISSUE: fault handler
                try
                {
                    num1 = 1U;
                    return(obj0);
                }
                __fault
                {
                    if (((int)num1 & 1) != 0)
                    {
                        num2 = num1 & 4294967294U;
                        // ISSUE: method pointer
                        // ISSUE: cast to a function pointer type
                        \u003CModule\u003E.___CxxCallUnwindDtor((__FnPtr <void (void *)>)__methodptr(std\u002Ebasic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E\u002E\u007Bdtor\u007D), (void *)obj0);
                    }
                }
            }
            else
            {
                fixed(byte *numPtr1 = &EncodingExtensions.Iso88591.GetBytes(managedString)[0])
                {
                    basic_string\u003Cchar\u002Cstd\u003A\u003Achar_traits\u003Cchar\u003E\u002Cstd\u003A\u003Aallocator\u003Cchar\u003E\u0020\u003E stdAllocatorChar;