diff -r 3ac2a36a7a0c -r cf82769eb136 src/Types.cpp --- a/src/Types.cpp Sun Aug 05 14:19:19 2012 -0700 +++ b/src/Types.cpp Sun Aug 05 15:38:52 2012 -0700 @@ -42,6 +42,22 @@ } Type * +Type::NewUnchecked(Zone *zone) +{ + Local type(zone, Type::cast(zone->allocate(MapKind_Type, sizeof(Type), Heap::Tenure_Old))); + if (!type) + return NULL; + + type->kind_ = UNCHECKED; + type->contained_ = NULL; + type->returnType_ = NULL; + type->parameters_ = NULL; + type->fields_ = NULL; + type->newMap_ = NULL; + return type; +} + +Type * Type::NewPrimitive(Zone *zone, PrimitiveType prim) { Local type(zone, Type::cast(zone->allocate(MapKind_Type, sizeof(Type), Heap::Tenure_Old)));