]> git.llucax.com Git - software/druntime.git/blobdiff - src/core/exception.d
fix support for file/line
[software/druntime.git] / src / core / exception.d
index 1dd603d78a81686360b9a49fdb89ef30bdc8c73f..e44392a3e3c50b0f3d77d3acf74df0ce724c26c0 100644 (file)
@@ -29,6 +29,18 @@ class ArrayBoundsException : Exception
 }
 
 
+/**
+ * Thrown on hidden function error.
+ */
+class HiddenFuncException : Exception
+{
+    this(ClassInfo ci)
+    {
+        super("hidden method called for " ~ ci.name);
+    }
+}
+
+
 /**
  * Thrown on an assert error.
  */
@@ -249,3 +261,20 @@ extern (C) void onUnicodeError( string msg, size_t idx )
 {
     throw new UnicodeException( msg, idx );
 }
+
+/********************************************
+ * Called by the compiler generated code.
+ */
+
+extern (C) void _d_hidden_func()
+{   Object o;
+    asm
+    {
+        mov o, EAX;
+    }
+
+    //printf("_d_hidden_func()\n");
+    auto a = new HiddenFuncException(o.classinfo);
+    //printf("assertion %p created\n", a);
+    throw a;
+}