Files
nunuhara_xsystem4/include
Nunuhara Cabbage 74c5b91e0c aindump: enums, iterators, interface objects
Type 82
-------
I am assuming this is an iterator type because it always appears as a
local variable alongside "dummy" variables with "foreach" in their name,
and the naming of the variables suggests an iterator. Probably there is
a new syntax like:

    foreach (iter_var in array_var) { ... }

Type 89
-------
An instance of an interface. This is a 2-valued type (similar to ref
int, etc.) where the first value is the index of a struct page, and the
second value is an index into the struct's vtable.

Any struct that implements an interface gets an array<int> named
"<vtable>" as its first member. This array stores indices into the
global function table. CALLMETHOD now looks up methods in the vtable
rather than the global function table.

Types 92, 93
------------
These are enum types. Type 92 is the normal enum type, and type 93 is
the reference-to-enum type. The "struct type" for these types stores an
index into the enum table.

Types 86, 91
------------
Type 86 only seems to be used as the return value from EnumType::Parse
methods. In the ain file, it has an extra type descriptor, similar to an
array type. This extra type descriptor always has data type 91, and its
struct type is an index into the enum table. Type 91 is simlar to types
92 & 93: it stores an enum table index in its struct type.

Type 86 is a 2-valued type. The first value is the value of the enum (an
integer between 0 and n). The second value seems to be either 0 or -1,
depending on whether EnumType::Parse was able to produce a valid enum
value.

It is possible that type 86 is actually some kind of generic maybe-error
type that only happens to be used by the enum code. But that doesn't
explain why it is paired with type 91 and not type 92.
2020-01-15 12:59:41 -08:00
..
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2020-01-07 22:48:29 -08:00
2020-01-07 22:48:29 -08:00
2019-12-31 17:50:40 -08:00
2020-01-08 19:14:08 -08:00