354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
|
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
|
-
+
-
+
|
} else {
wide_value = new Array();
if (interp.int_obj_type.getWide(int_obj_ptr, wide_value) != interp.OK) {
return interp.ERROR;
}
}
if (!int_obj_ptr || int_obj_ptr.isShared()) {
int_obj_ptr = interp.int_obj_type.newIntObj(wide_value + increment);
int_obj_ptr = interp.int_obj_type.newIntObj(parseInt(wide_value, 10) + parseInt(increment, 10));
if (interp.variable_obj_type.setVariable(args[1], int_obj_ptr) != interp.OK) {
int_obj_ptr.freeNewObj();
return interp.ERROR;
}
} else {
/* Can do it the quick way */
int_obj_ptr.invalidateStringRep();
interp.default_obj_type.wideValue(int_obj_ptr) = wide_value + increment;
interp.default_obj_type.wideValue(int_obj_ptr) = parseInt(wide_value, 10) + parseInt(increment);
/* The following step is required in order to invalidate the
* string repr of "FOO" if the var name is on the form of "FOO(IDX)"
*/
if (args[1].obj_type != interp.variable_obj_type) {
/* Note that this can't fail since GetVariable already succeeded */
interp.variable_obj_type.setVariable(args[1], int_obj_ptr);
}
|