Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnome.org>2006-08-08 02:16:58 +0400
committerMiguel de Icaza <miguel@gnome.org>2006-08-08 02:16:58 +0400
commitdbe5a0257c713fbfdea697244d0df96f9b1d2ed8 (patch)
tree076f8697e566e577aa0b39677c8e08f5a557352d /samples
parent59a342dd6c64901f17bcba22f7f3d57ad81341cf (diff)
Add support for arrays
svn path=/trunk/mono/; revision=63458
Diffstat (limited to 'samples')
-rw-r--r--samples/size/sample.cs6
-rw-r--r--samples/size/size.c11
2 files changed, 16 insertions, 1 deletions
diff --git a/samples/size/sample.cs b/samples/size/sample.cs
index 5a874dec852..e5da814435b 100644
--- a/samples/size/sample.cs
+++ b/samples/size/sample.cs
@@ -20,4 +20,10 @@ class Demo {
class DD {
Demo d = new Demo ();
object [] o = new object [10];
+
+ public DD ()
+ {
+ o [0] = new Demo ();
+ o [5] = new Demo ();
+ }
}
diff --git a/samples/size/size.c b/samples/size/size.c
index a3d2253add1..94174ba0a65 100644
--- a/samples/size/size.c
+++ b/samples/size/size.c
@@ -41,7 +41,16 @@ memory_usage (MonoObject *this, GHashTable *visited)
break;
case MONO_TYPE_SZARRAY:
- printf ("implement me\n");
+ {
+ int len, i;
+ mono_field_get_value (this, field, &value);
+ len = mono_array_length ((MonoArray *)value);
+ for (i = 0; i < len; i++){
+ MonoObject *item = mono_array_get ((MonoArray *) value, gpointer, i);
+ if (item != NULL)
+ total += memory_usage (item, visited);
+ }
+ }
break;
case MONO_TYPE_I4: