@@ -113,7 +113,7 @@ namespace Pome {
113113 emit (Chunk::makeABC (uv.isLocal ? OpCode::MOVE : OpCode::GETUPVAL, 0 , uv.index , 0 ), stmt.getLine ());
114114 }
115115
116- PomeString* nameStr = gc.allocate <PomeString> (stmt.getName ()); RootGuard nameStrGuard (gc, nameStr);
116+ PomeString* nameStr = gc.allocateString (stmt.getName ()); RootGuard nameStrGuard (gc, nameStr);
117117 int nameIdx = addConstant (PomeValue (nameStr));
118118 emit (Chunk::makeABx (OpCode::SETGLOBAL, reg, nameIdx), stmt.getLine ());
119119 lastResultReg = reg;
@@ -217,7 +217,7 @@ namespace Pome {
217217
218218 void Compiler::visit (StringExpr &expr) {
219219 int reg = allocReg ();
220- PomeString* s = gc.allocate <PomeString> (expr.getValue ()); RootGuard sGuard (gc, s);
220+ PomeString* s = gc.allocateString (expr.getValue ()); RootGuard sGuard (gc, s);
221221 int constIdx = addConstant (PomeValue (s));
222222 emit (Chunk::makeABx (OpCode::LOADK, reg, constIdx), expr.getLine ());
223223 lastResultReg = reg;
@@ -256,7 +256,7 @@ namespace Pome {
256256 // Global Read
257257 int dest = allocReg ();
258258
259- PomeString* nameStr = gc.allocate <PomeString> (expr.getName ()); RootGuard nameStrGuard (gc, nameStr);
259+ PomeString* nameStr = gc.allocateString (expr.getName ()); RootGuard nameStrGuard (gc, nameStr);
260260 int nameIdx = addConstant (PomeValue (nameStr));
261261
262262 emit (Chunk::makeABx (OpCode::GETGLOBAL, dest, nameIdx), expr.getLine ());
@@ -331,7 +331,7 @@ namespace Pome {
331331 exit (1 );
332332 }
333333 // Global assignment
334- PomeString* nameStr = gc.allocate <PomeString> (ident->getName ()); RootGuard nameStrGuard (gc, nameStr);
334+ PomeString* nameStr = gc.allocateString (ident->getName ()); RootGuard nameStrGuard (gc, nameStr);
335335 int nameIdx = addConstant (PomeValue (nameStr));
336336 emit (Chunk::makeABx (OpCode::SETGLOBAL, valReg, nameIdx), expr.getLine ());
337337 lastResultReg = valReg;
@@ -341,7 +341,7 @@ namespace Pome {
341341 member->getObject ()->accept (*this );
342342 int objReg = lastResultReg;
343343
344- PomeString* keyStr = gc.allocate <PomeString> (member->getMember ()); RootGuard keyStrGuard (gc, keyStr);
344+ PomeString* keyStr = gc.allocateString (member->getMember ()); RootGuard keyStrGuard (gc, keyStr);
345345 int keyIdx = addConstant (PomeValue (keyStr));
346346
347347 expr.getRight ()->accept (*this );
@@ -535,7 +535,7 @@ namespace Pome {
535535 exit (1 );
536536 }
537537 // Global
538- PomeString* nameStr = gc.allocate <PomeString> (ident->getName ()); RootGuard nameStrGuard (gc, nameStr);
538+ PomeString* nameStr = gc.allocateString (ident->getName ()); RootGuard nameStrGuard (gc, nameStr);
539539 int nameIdx = addConstant (PomeValue (nameStr));
540540 if (!op.empty ()) {
541541 int currentValReg = allocReg ();
@@ -561,7 +561,7 @@ namespace Pome {
561561 int objSafe = allocReg ();
562562 emit (Chunk::makeABC (OpCode::MOVE, objSafe, objReg, 0 ), stmt.getLine ());
563563
564- PomeString* keyStr = gc.allocate <PomeString> (member->getMember ()); RootGuard keyStrGuard (gc, keyStr);
564+ PomeString* keyStr = gc.allocateString (member->getMember ()); RootGuard keyStrGuard (gc, keyStr);
565565 int keyIdx = addConstant (PomeValue (keyStr));
566566
567567 // Evaluate RHS
@@ -630,7 +630,7 @@ namespace Pome {
630630 expr.getObject ()->accept (*this );
631631 int objReg = lastResultReg;
632632
633- PomeString* memberStr = gc.allocate <PomeString> (expr.getMember ()); RootGuard memberStrGuard (gc, memberStr);
633+ PomeString* memberStr = gc.allocateString (expr.getMember ()); RootGuard memberStrGuard (gc, memberStr);
634634 int memberIdx = addConstant (PomeValue (memberStr));
635635
636636 int dest = allocReg ();
@@ -672,7 +672,7 @@ namespace Pome {
672672 // Reserve: R(A+1) for 'this', R(A+2...) for args
673673 for (int i = 0 ; i < argCount + 1 ; ++i) allocReg ();
674674
675- PomeString* memberStr = gc.allocate <PomeString> (super->getMember ()); RootGuard memberStrGuard (gc, memberStr);
675+ PomeString* memberStr = gc.allocateString (super->getMember ()); RootGuard memberStrGuard (gc, memberStr);
676676 int memberIdx = addConstant (PomeValue (memberStr));
677677 emit (Chunk::makeABC (OpCode::GETSUPER, calleeReg, thisReg, memberIdx), expr.getLine ());
678678
@@ -700,7 +700,7 @@ namespace Pome {
700700 // Reserve: R(A+1) for 'this', R(A+2...) for args
701701 for (int i = 0 ; i < argCount + 1 ; ++i) allocReg ();
702702
703- PomeString* keyStr = gc.allocate <PomeString> (member->getMember ()); RootGuard keyStrGuard (gc, keyStr);
703+ PomeString* keyStr = gc.allocateString (member->getMember ()); RootGuard keyStrGuard (gc, keyStr);
704704 int keyIdx = addConstant (PomeValue (keyStr));
705705
706706 emit (Chunk::makeABC (OpCode::GETFIELD, calleeReg, objReg, keyIdx), expr.getLine ());
@@ -823,15 +823,15 @@ namespace Pome {
823823 if (superReg == -1 ) {
824824 // Try as global
825825 superReg = allocReg ();
826- PomeString* superNameStr = gc.allocate <PomeString> (stmt.getSuperclassName ()); RootGuard superNameStrGuard (gc, superNameStr);
826+ PomeString* superNameStr = gc.allocateString (stmt.getSuperclassName ()); RootGuard superNameStrGuard (gc, superNameStr);
827827 int superNameIdx = addConstant (PomeValue (superNameStr));
828828 emit (Chunk::makeABx (OpCode::GETGLOBAL, superReg, superNameIdx), stmt.getLine ());
829829 }
830830 // Emit INHERIT R(class) R(super)
831831 emit (Chunk::makeABC (OpCode::INHERIT, classReg, superReg, 0 ), stmt.getLine ());
832832 }
833833
834- PomeString* nameStr = gc.allocate <PomeString> (stmt.getName ()); RootGuard nameStrGuard (gc, nameStr);
834+ PomeString* nameStr = gc.allocateString (stmt.getName ()); RootGuard nameStrGuard (gc, nameStr);
835835 int nameIdx = addConstant (PomeValue (nameStr));
836836 emit (Chunk::makeABx (OpCode::SETGLOBAL, classReg, nameIdx), stmt.getLine ());
837837 lastResultReg = classReg;
@@ -1077,7 +1077,7 @@ namespace Pome {
10771077 }
10781078
10791079 void Compiler::visit (ImportStmt &stmt) {
1080- PomeString* nameStr = gc.allocate <PomeString> (stmt.getModuleName ()); RootGuard nameStrGuard (gc, nameStr);
1080+ PomeString* nameStr = gc.allocateString (stmt.getModuleName ()); RootGuard nameStrGuard (gc, nameStr);
10811081 int nameIdx = addConstant (PomeValue (nameStr));
10821082 int reg = allocReg ();
10831083 emit (Chunk::makeABx (OpCode::IMPORT, reg, nameIdx), stmt.getLine ());
@@ -1101,13 +1101,13 @@ namespace Pome {
11011101 }
11021102
11031103 void Compiler::visit (FromImportStmt &stmt) {
1104- PomeString* nameStr = gc.allocate <PomeString> (stmt.getModuleName ()); RootGuard nameStrGuard (gc, nameStr);
1104+ PomeString* nameStr = gc.allocateString (stmt.getModuleName ()); RootGuard nameStrGuard (gc, nameStr);
11051105 int nameIdx = addConstant (PomeValue (nameStr));
11061106 int modReg = allocReg ();
11071107 emit (Chunk::makeABx (OpCode::IMPORT, modReg, nameIdx), stmt.getLine ());
11081108
11091109 for (const auto & symbol : stmt.getSymbols ()) {
1110- PomeString* symStr = gc.allocate <PomeString> (symbol); RootGuard symStrGuard (gc, symStr);
1110+ PomeString* symStr = gc.allocateString (symbol); RootGuard symStrGuard (gc, symStr);
11111111 int symIdx = addConstant (PomeValue (symStr));
11121112 int symKeyReg = allocReg ();
11131113 emit (Chunk::makeABx (OpCode::LOADK, symKeyReg, symIdx), stmt.getLine ());
@@ -1134,7 +1134,7 @@ namespace Pome {
11341134 }
11351135
11361136 if (!name.empty ()) {
1137- PomeString* nameStr = gc.allocate <PomeString> (name); RootGuard nameStrGuard (gc, nameStr);
1137+ PomeString* nameStr = gc.allocateString (name); RootGuard nameStrGuard (gc, nameStr);
11381138 int nameIdx = addConstant (PomeValue (nameStr));
11391139 emit (Chunk::makeABx (OpCode::EXPORT, valReg, nameIdx), stmt.getLine ());
11401140 }
@@ -1152,7 +1152,7 @@ namespace Pome {
11521152 }
11531153
11541154 if (!name.empty ()) {
1155- PomeString* nameStr = gc.allocate <PomeString> (name); RootGuard nameStrGuard (gc, nameStr);
1155+ PomeString* nameStr = gc.allocateString (name); RootGuard nameStrGuard (gc, nameStr);
11561156 int nameIdx = addConstant (PomeValue (nameStr));
11571157 emit (Chunk::makeABx (OpCode::EXPORT, valReg, nameIdx), stmt.getLine ());
11581158 }
@@ -1314,7 +1314,7 @@ namespace Pome {
13141314 }
13151315
13161316 int dest = allocReg ();
1317- PomeString* memberStr = gc.allocate <PomeString> (expr.getMember ()); RootGuard memberStrGuard (gc, memberStr);
1317+ PomeString* memberStr = gc.allocateString (expr.getMember ()); RootGuard memberStrGuard (gc, memberStr);
13181318 int memberIdx = addConstant (PomeValue (memberStr));
13191319
13201320 // GETSUPER R(A) R(this) C(index)
0 commit comments