1.1 --- a/src/ObjectVisitor.h Wed Aug 01 22:32:59 2012 -0700
1.2 +++ b/src/ObjectVisitor.h Sat Aug 04 17:51:43 2012 -0700
1.3 @@ -29,6 +29,7 @@
1.4 #include "Array.h"
1.5 #include "Strings.h"
1.6 #include "Environments.h"
1.7 +#include "Structures.h"
1.8
1.9 namespace ke {
1.10
1.11 @@ -48,6 +49,7 @@
1.12 visitField(obj, Type::offsetOfReturnType());
1.13 visitField(obj, Type::offsetOfParameters());
1.14 visitField(obj, Type::offsetOfName());
1.15 + visitField(obj, Type::offsetOfFields());
1.16 return sizeof(Type);
1.17 }
1.18
1.19 @@ -95,6 +97,12 @@
1.20 return sizeof(Function);
1.21 }
1.22
1.23 + size_t iterateDescriptor(Object *obj) {
1.24 + visitField(obj, Descriptor::offsetOfName());
1.25 + visitField(obj, Descriptor::offsetOfType());
1.26 + return sizeof(Descriptor);
1.27 + }
1.28 +
1.29 size_t iterateNative(Object *obj) {
1.30 visitField(obj, Native::offsetOfType());
1.31 visitField(obj, Native::offsetOfName());
1.32 @@ -173,6 +181,9 @@
1.33 case MapKind_Function:
1.34 return iterateFunction(obj);
1.35
1.36 + case MapKind_Descriptor:
1.37 + return iterateDescriptor(obj);
1.38 +
1.39 case MapKind_String:
1.40 return iterateString(obj);
1.41
1.42 @@ -223,6 +234,9 @@
1.43 case MapKind_Module:
1.44 return sizeof(Module);
1.45
1.46 + case MapKind_Descriptor:
1.47 + return sizeof(Descriptor);
1.48 +
1.49 case MapKind_Function:
1.50 return sizeof(Function);
1.51