diff -r c0e27b4f0672 -r 8c8bf75114f7 jitcraft/SemanticAnalysis.cpp --- a/jitcraft/SemanticAnalysis.cpp Tue Jul 03 00:21:37 2012 -0700 +++ b/jitcraft/SemanticAnalysis.cpp Tue Jul 03 00:25:29 2012 -0700 @@ -1,4 +1,5 @@ -/* +/* vim: set ts=4 sw=4 tw=99 et: + * * Copyright (C) 2012 David Anderson * * This file is part of JITCraft. @@ -94,8 +95,9 @@ } } -SemanticAnalysis::SemanticAnalysis(CompileContext &cc, ParseTree *tree) - : cc_(cc), +SemanticAnalysis::SemanticAnalysis(Zone *zone, CompileContext &cc, ParseTree *tree) + : zone_(zone), + cc_(cc), tree_(tree), loopDepth_(0), scope_(NULL) @@ -390,7 +392,7 @@ SemanticAnalysis::visit(VariableDeclaration *node) { // :TODO: use locals - Type *type = ZONE()->types()->getPrimitiveForTag(node->tag()); + Type *type = zone_->types()->getPrimitiveForTag(node->tag()); if (!type) return; @@ -478,7 +480,7 @@ size = init->elements(); } - type = ZONE()->types()->unsafeArray(type, size); + type = zone_->types()->unsafeArray(type, size); if (!type) return; @@ -510,7 +512,7 @@ void SemanticAnalysis::visit(IntegerLiteral *node) { - node->setType(ZONE()->types()->getPrimitive(PrimitiveType_Int32)); + node->setType(zone_->types()->getPrimitive(PrimitiveType_Int32)); } void @@ -524,7 +526,7 @@ { // :TODO: use Local - FixedArray *args = FixedArray::New(ZONE(), node->parameters()->size(), Heap::Tenure_Old); + FixedArray *args = FixedArray::New(zone_, node->parameters()->size(), Heap::Tenure_Old); if (!args) return false; @@ -532,7 +534,7 @@ for (size_t i = 0; i < node->parameters()->size(); i++) { Parameter *parameter = node->parameters()->at(i); - Type *type = ZONE()->types()->getPrimitiveForTag(parameter->tag()); + Type *type = zone_->types()->getPrimitiveForTag(parameter->tag()); if (!type) return false; @@ -542,20 +544,20 @@ } if (parameter->reference()) { - type = ZONE()->types()->getReference(type); + type = zone_->types()->getReference(type); if (!type) return false; } - args->set(ZONE(), i, type); + args->set(zone_, i, type); parameter->variable()->setType(type); } - Type *returnType = ZONE()->types()->getPrimitive(PrimitiveType_Int32); + Type *returnType = zone_->types()->getPrimitive(PrimitiveType_Int32); if (!returnType) return false; - Type *funtype = ZONE()->types()->newFunction(returnType, args); + Type *funtype = zone_->types()->newFunction(returnType, args); if (!funtype) return false; @@ -755,7 +757,7 @@ return; } - Type *type = ZONE()->types()->getPrimitiveForTag(tag); + Type *type = zone_->types()->getPrimitiveForTag(tag); if (!type) return; @@ -783,11 +785,11 @@ void SemanticAnalysis::visit(StringLiteral *node) { - Type *type = ZONE()->types()->getPrimitive(PrimitiveType_Char); + Type *type = zone_->types()->getPrimitive(PrimitiveType_Char); if (!type) return; - type = Type::NewArray(ZONE(), type, node->string()->length() + 1, true); + type = Type::NewArray(zone_, type, node->string()->length() + 1, true); if (!type) return; @@ -797,7 +799,7 @@ void SemanticAnalysis::visit(FloatLiteral *node) { - Type *type = ZONE()->types()->getPrimitive(PrimitiveType_Float); + Type *type = zone_->types()->getPrimitive(PrimitiveType_Float); if (!type) return;