]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - parser.cpp
Use std::vector for break and continue ast blocks
[xonotic/gmqcc.git] / parser.cpp
index 0d71b54b82d7f6c3df4e2d0d7de77e112d270aa4..86535fbf0f5d15179eca79fec9b06d06538a0598 100644 (file)
@@ -3142,7 +3142,7 @@ static bool parse_switch_go(parser_t *parser, ast_block *block, ast_expression *
             return false;
         }
         swcase.code = (ast_expression*)caseblock;
-        vec_push(switchnode->cases, swcase);
+        switchnode->cases.push_back(swcase);
         while (true) {
             ast_expression *expr;
             if (parser->tok == '}')
@@ -4096,7 +4096,7 @@ static bool parse_function_body(parser_t *parser, ast_value *var)
         goto enderrfn;
     }
 
-    vec_push(func->blocks, block);
+    func->blocks.push_back(block);
 
     parser->function = old;
     if (!parser_leaveblock(parser))
@@ -4356,7 +4356,7 @@ static bool parser_create_array_accessor(parser_t *parser, ast_value *array, con
         return false;
     }
 
-    vec_push(func->blocks, body);
+    func->blocks.push_back(body);
     *out = fval;
 
     parser->accessors.push_back(fval);
@@ -5005,7 +5005,7 @@ static bool create_array_accessors(parser_t *parser, ast_value *var)
 static bool parse_array(parser_t *parser, ast_value *array)
 {
     size_t i;
-    if (array->initlist) {
+    if (array->initlist.size()) {
         parseerror(parser, "array already initialized elsewhere");
         return false;
     }
@@ -5023,7 +5023,7 @@ static bool parse_array(parser_t *parser, ast_value *array)
             parseerror(parser, "initializing element must be a compile time constant");
             return false;
         }
-        vec_push(array->initlist, v->constval);
+        array->initlist.push_back(v->constval);
         if (v->expression.vtype == TYPE_STRING) {
             array->initlist[i].vstring = util_strdupe(array->initlist[i].vstring);
             ++i;
@@ -5052,7 +5052,7 @@ static bool parse_array(parser_t *parser, ast_value *array)
             parseerror(parser, "array `%s' has already been initialized with %u elements",
                        array->name, (unsigned)array->expression.count);
         }
-        array->expression.count = vec_size(array->initlist);
+        array->expression.count = array->initlist.size();
         if (!create_array_accessors(parser, array))
             return false;
     }