/* checks syntax and translates such directives into */
/* specifications for the object-maker. */
/* */
-/* Part of Inform 6.40 */
+/* Part of Inform 6.41 */
/* copyright (c) Graham Nelson 1993 - 2022 */
/* */
/* Inform is free software: you can redistribute it and/or modify */
{ already_present = TRUE; break;
}
if (already_present == FALSE)
- { if (module_switch)
- backpatch_zmachine(IDENT_MV,
- INDIVIDUAL_PROP_ZA, i_m);
+ {
ensure_memory_list_available(&individuals_table_memlist, i_m+3+individuals_table[z+2]);
individuals_table[i_m++] = individuals_table[z];
individuals_table[i_m++] = individuals_table[z+1];
z = class_block_offset;
while ((individuals_table[z]!=0)||(individuals_table[z+1]!=0))
- { if (module_switch)
- backpatch_zmachine(IDENT_MV, INDIVIDUAL_PROP_ZA, i_m);
+ {
ensure_memory_list_available(&individuals_table_memlist, i_m+3+individuals_table[z+2]);
individuals_table[i_m++] = individuals_table[z];
individuals_table[i_m++] = individuals_table[z+1];
if (this_segment == PRIVATE_SEGMENT)
individuals_table[i_m] |= 0x80;
individuals_table[i_m+1] = this_identifier_number%256;
- if (module_switch)
- backpatch_zmachine(IDENT_MV, INDIVIDUAL_PROP_ZA, i_m);
individuals_table[i_m+2] = 0;
}
else
}
/* "Class" (object 1) has no parent, whereas all other classes are
- the children of "Class". Since "Class" is not present in a module,
- a special value is used which is corrected to 1 by the linker. */
+ the children of "Class". */
if (metaclass_flag) parent_of_this_obj = 0;
- else parent_of_this_obj = (module_switch)?MAXINTWORD:1;
+ else parent_of_this_obj = 1;
class_info[no_classes].object_number = class_number;
class_info[no_classes].symbol = current_classname_symbol;
{ int j = i, k = 0;
/* Metaclass or class objects cannot be '->' parents: */
- if ((!module_switch) && (i<4))
+ if (i<4)
continue;
if (!glulx_mode) {