Re-allow arrays to nest.
Re-allow arrays to nest.
1.1 --- a/src/BytecodeCompiler.cpp Sun Aug 05 00:45:06 2012 -0700
1.2 +++ b/src/BytecodeCompiler.cpp Sun Aug 05 00:49:31 2012 -0700
1.3 @@ -744,6 +744,13 @@
1.4 if (!map)
1.5 return NULL;
1.6
1.7 + // Ensure the inner type has an array map if needed.
1.8 + if (type->contained()->isArray()) {
1.9 + Local<Type> contained(zone, type->contained());
1.10 + if (!BuildArrayMap(zone, contained))
1.11 + return NULL;
1.12 + }
1.13 +
1.14 type->setNewMap(map);
1.15 return map;
1.16 }
2.1 --- a/src/Interpreter.cpp Sun Aug 05 00:45:06 2012 -0700
2.2 +++ b/src/Interpreter.cpp Sun Aug 05 00:49:31 2012 -0700
2.3 @@ -109,8 +109,8 @@
2.4 return false;
2.5 }
2.6 } else {
2.7 - assert(source->type()->pod() == dest->type()->pod());
2.8 - assert(source->type()->pod() == PrimitiveType_Char
2.9 + assert(source->type()->contained()->pod() == dest->type()->contained()->pod());
2.10 + assert(source->type()->contained()->pod() == PrimitiveType_Char
2.11 ? source->length() >= dest->length()
2.12 : source->length() == dest->length());
2.13