void ast_array_index_delete(ast_array_index *self)
{
- ast_unref(self->array);
- ast_unref(self->index);
+ if (self->array)
+ ast_unref(self->array);
+ if (self->index)
+ ast_unref(self->index);
ast_expression_delete((ast_expression*)self);
mem_d(self);
}
return true;
cmpinstr = type_eq_instr[irop->vtype];
- if (cmpinstr >= AINSTR_END) {
+ if (cmpinstr >= VINSTR_END) {
ast_type_to_string(self->operand, typestr, sizeof(typestr));
compile_error(ast_ctx(self), "invalid type to perform a switch on: %s", typestr);
return false;