readField method
If this lua object is a table,
then reads _fields by key and returns the value.
Otherwise null is returned.
Implementation
Object? readField(Object key) {
uses++;
final k = _keyFrom(key);
_onRead?.call(k);
if (skipSemanitcs) return LuaObjectNoSemantics(k.toString());
if (isRef) {
return deref().readField(k);
} else if (isTable) {
return switch (_fields?[k]) {
final LuaObject obj => obj.deref(),
null => null,
};
} else {
// Not allowed except on tables.
return null;
}
}