private CefV8StackFrame(cef_v8stack_frame_t* ptr)
 {
     if (ptr == null) throw new ArgumentNullException("ptr");
     _self = ptr;
 }
 internal static CefV8StackFrame FromNative(cef_v8stack_frame_t* ptr)
 {
     return new CefV8StackFrame(ptr);
 }
 internal static CefV8StackFrame FromNativeOrNull(cef_v8stack_frame_t* ptr)
 {
     if (ptr == null) return null;
     return new CefV8StackFrame(ptr);
 }
 public static int is_constructor(cef_v8stack_frame_t* self)
 {
     is_constructor_delegate d;
     var p = self->_is_constructor;
     if (p == _pa) { d = _da; }
     else
     {
         d = (is_constructor_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(is_constructor_delegate));
         if (_pa == IntPtr.Zero) { _da = d; _pa = p; }
     }
     return d(self);
 }
 public static int add_ref(cef_v8stack_frame_t* self)
 {
     add_ref_delegate d;
     var p = self->_base._add_ref;
     if (p == _p0) { d = _d0; }
     else
     {
         d = (add_ref_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(add_ref_delegate));
         if (_p0 == IntPtr.Zero) { _d0 = d; _p0 = p; }
     }
     return d(self);
 }
 public static int get_column(cef_v8stack_frame_t* self)
 {
     get_column_delegate d;
     var p = self->_get_column;
     if (p == _p8) { d = _d8; }
     else
     {
         d = (get_column_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_column_delegate));
         if (_p8 == IntPtr.Zero) { _d8 = d; _p8 = p; }
     }
     return d(self);
 }
 public static int is_eval(cef_v8stack_frame_t* self)
 {
     is_eval_delegate d;
     var p = self->_is_eval;
     if (p == _p9) { d = _d9; }
     else
     {
         d = (is_eval_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(is_eval_delegate));
         if (_p9 == IntPtr.Zero) { _d9 = d; _p9 = p; }
     }
     return d(self);
 }
 public static int get_line_number(cef_v8stack_frame_t* self)
 {
     get_line_number_delegate d;
     var p = self->_get_line_number;
     if (p == _p7) { d = _d7; }
     else
     {
         d = (get_line_number_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_line_number_delegate));
         if (_p7 == IntPtr.Zero) { _d7 = d; _p7 = p; }
     }
     return d(self);
 }
 public static cef_string_userfree* get_function_name(cef_v8stack_frame_t* self)
 {
     get_function_name_delegate d;
     var p = self->_get_function_name;
     if (p == _p6) { d = _d6; }
     else
     {
         d = (get_function_name_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_function_name_delegate));
         if (_p6 == IntPtr.Zero) { _d6 = d; _p6 = p; }
     }
     return d(self);
 }
 public static cef_string_userfree* get_script_name_or_source_url(cef_v8stack_frame_t* self)
 {
     get_script_name_or_source_url_delegate d;
     var p = self->_get_script_name_or_source_url;
     if (p == _p5) { d = _d5; }
     else
     {
         d = (get_script_name_or_source_url_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_script_name_or_source_url_delegate));
         if (_p5 == IntPtr.Zero) { _d5 = d; _p5 = p; }
     }
     return d(self);
 }
 public static int get_refct(cef_v8stack_frame_t* self)
 {
     get_refct_delegate d;
     var p = self->_base._get_refct;
     if (p == _p2) { d = _d2; }
     else
     {
         d = (get_refct_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_refct_delegate));
         if (_p2 == IntPtr.Zero) { _d2 = d; _p2 = p; }
     }
     return d(self);
 }
 public static int release(cef_v8stack_frame_t* self)
 {
     release_delegate d;
     var p = self->_base._release;
     if (p == _p1) { d = _d1; }
     else
     {
         d = (release_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(release_delegate));
         if (_p1 == IntPtr.Zero) { _d1 = d; _p1 = p; }
     }
     return d(self);
 }