2005-02-10 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Thu, 10 Feb 2005 22:03:20 +0000 (22:03 -0000)
committerMartin Baulig <martin@novell.com>
Thu, 10 Feb 2005 22:03:20 +0000 (22:03 -0000)
* icall.c (ves_icall_MonoDebugger_MakeArrayType): New interncall.
(ves_icall_MonoDebugger_GetTypeToken): New interncall.

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

mono/metadata/ChangeLog
mono/metadata/icall.c

index b0c0cc5b2b8de24d3fd09aafa4c3f12423d716c4..1a292fd64a509ca94aa971853125dd246e398d8b 100644 (file)
        * security-manager.c|h: Added new method fields for the special cases
        of LinkDemand.
 
+2005-02-10  Martin Baulig  <martin@ximian.com>
+
+       * icall.c (ves_icall_MonoDebugger_MakeArrayType): New interncall.
+       (ves_icall_MonoDebugger_GetTypeToken): New interncall.
+
 2005-02-10  Martin Baulig  <martin@ximian.com>
 
        * mono-debug.c, mono-debug-debugger.c: Completely reworked the
index b6d4311c4b2c8dee971867e12eab6be3221ac5ca..d3a2af2a1e5e4e185a7509ac7118b4dc30ce4e40 100644 (file)
@@ -5686,6 +5686,27 @@ ves_icall_MonoDebugger_GetMethodIndex (MonoReflectionMethod *rmethod)
        return index - rmethod->method->klass->method.first;
 }
 
+static MonoReflectionType*
+ves_icall_MonoDebugger_MakeArrayType (MonoReflectionType *type, int rank)
+{
+       MonoClass *klass, *aklass;
+
+       MONO_ARCH_SAVE_REGS;
+
+       klass = mono_class_from_mono_type (type->type);
+       aklass = mono_array_class_get (klass, rank);
+
+       return mono_type_get_object (mono_object_domain (type), &aklass->byval_arg);
+}
+
+static int
+ves_icall_MonoDebugger_GetTypeToken (MonoObject *obj)
+{
+       MONO_ARCH_SAVE_REGS;
+
+       return mono_reflection_get_token (obj);
+}
+
 static MonoBoolean
 custom_attrs_defined_internal (MonoObject *obj, MonoReflectionType *attr_type)
 {
@@ -6067,6 +6088,8 @@ static const IcallEntry assembly_icalls [] = {
        {"MonoDebugger_GetMethodIndex", ves_icall_MonoDebugger_GetMethodIndex},
        {"MonoDebugger_GetMethodToken", ves_icall_MonoDebugger_GetMethodToken},
        {"MonoDebugger_GetType", ves_icall_MonoDebugger_GetType},
+       {"MonoDebugger_GetTypeToken", ves_icall_MonoDebugger_GetTypeToken},
+       {"MonoDebugger_MakeArrayType", ves_icall_MonoDebugger_MakeArrayType},
 
        /* normal icalls again */
        {"get_EntryPoint", ves_icall_System_Reflection_Assembly_get_EntryPoint},