2002-09-20 Martin Baulig <martin@gnome.org>
authorMartin Baulig <martin@novell.com>
Fri, 20 Sep 2002 13:36:05 +0000 (13:36 -0000)
committerMartin Baulig <martin@novell.com>
Fri, 20 Sep 2002 13:36:05 +0000 (13:36 -0000)
* icall.c ("System.Reflection.Assembly::MonoDebugger_GetMethod"):
New interncall.

* debug-mono-symfile.c (ves_icall_MonoDebugger_GetMethod): New
interncall to get a method from its metadata token.

svn path=/trunk/mono/; revision=7641

mono/metadata/ChangeLog
mono/metadata/debug-mono-symfile.c
mono/metadata/debug-mono-symfile.h
mono/metadata/icall.c

index 088d7e42eacbe0baba1daf2b3357fcfb4f7f883d..5753f198b90280c8e2de1816940561ea44ff63e9 100644 (file)
@@ -1,3 +1,11 @@
+2002-09-20  Martin Baulig  <martin@gnome.org>
+
+       * icall.c ("System.Reflection.Assembly::MonoDebugger_GetMethod"):
+       New interncall.
+
+       * debug-mono-symfile.c (ves_icall_MonoDebugger_GetMethod): New
+       interncall to get a method from its metadata token.
+
 2002-09-20  Martin Baulig  <martin@gnome.org>
 
        * debug-mono-symfile.c: Added a few checks for method->header
index 4893f572db1e8cdaeb8d981808e62bdf26ead18e..f8759bb69c142a2439e59a49fda2537cafdbad98 100644 (file)
@@ -747,3 +747,13 @@ write_string_table (MonoSymbolFile *symfile)
        g_hash_table_foreach (symfile->_priv->method_table, write_method_name, symfile);
        return TRUE;
 }
+
+MonoReflectionMethod *
+ves_icall_MonoDebugger_GetMethod (MonoReflectionAssembly *assembly, guint32 token)
+{
+       MonoMethod *method;
+
+       method = mono_get_method (assembly->assembly->image, token, NULL);
+
+       return mono_method_get_object (mono_domain_get (), method, NULL);
+}
index 8af2db22f99d3f875f669d9dce5039c9ee3a48eb..683212f2822edabff51fceb81ac8d75f100c72e6 100644 (file)
@@ -158,5 +158,9 @@ MonoDebugMethodInfo *
 mono_debug_find_method             (MonoSymbolFile           *symfile,
                                    MonoMethod               *method);
 
+MonoReflectionMethod *
+ves_icall_MonoDebugger_GetMethod   (MonoReflectionAssembly   *assembly,
+                                   guint32                   token);
+
 #endif /* __MONO_SYMFILE_H__ */
 
index c689a5cfefbe2c4c85fcb41d0a37305cd3843b70..25a2617d8893f483508e0b35803146271a70b3e1 100644 (file)
@@ -36,6 +36,7 @@
 #include <mono/metadata/rand.h>
 #include <mono/metadata/sysmath.h>
 #include <mono/metadata/string-icalls.h>
+#include <mono/metadata/debug-mono-symfile.h>
 #include <mono/metadata/process.h>
 #include <mono/io-layer/io-layer.h>
 #include <mono/utils/strtod.h>
@@ -3109,6 +3110,12 @@ static gconstpointer icall_map [] = {
         */
        "System.IO.Path::get_temp_path", ves_icall_System_IO_get_temp_path,
 
+       /*
+        * Private icalls for the Mono Debugger
+        */
+       "System.Reflection.Assembly::MonoDebugger_GetMethod",
+       ves_icall_MonoDebugger_GetMethod,
+
        /*
         * add other internal calls here
         */