예제 #1
0
파일: csml_iface.cs 프로젝트: rleonid/csml
 public static void csml_push_exception(Exception e)
 {
     if (e is MLException)
     {
         // Unwrap
         csml_push(Marshal.ReadIntPtr(((MLException)e).handle));
     }
     else
     {
         if (debug_stacktrace)
         {
             Csml.WriteLine("STACKTRACE:\n" + e.StackTrace + "\n=====================\n");
             Csml.WriteLine("MESSAGE:\n" + e.Message + "\n=====================\n");
         }
         // Wrap
         csml_push_string(e.Message);
         csml_push_string(e.GetType().FullName);
         csml_push_exn(GCHandle.ToIntPtr(GCHandle.Alloc(e)));
     }
 }
예제 #2
0
파일: csml_iface.cs 프로젝트: rleonid/csml
 public void cs2ml()
 {
     Csml.csml_push(Csml.csml_get_mlval(handle));
 }
예제 #3
0
파일: csml_iface.cs 프로젝트: rleonid/csml
 public MLException(IntPtr v, string c) : base(c)
 {
     handle = Csml.wrap_ocaml_value(v);
 }
예제 #4
0
파일: csml_iface.cs 프로젝트: rleonid/csml
 public Callback(IntPtr v)
 {
     handle = Csml.wrap_ocaml_value(v);
 }