public subroutine aot_table_open(L, parent, thandle, key, pos)
This subroutine tries to open a table, and returns a handle for it.
If parent is present, the table is tried to open within that table.
Return its position in the stack as a handle for this
table. If it does not exist or the table entry is not
a table itself, the handle will be set to 0.
The table can be looked up either by position or name.
If a key is present but no parent, a global table is opened.
If neither key nor parent is present, a new table is created.
Only passing pos, without a thandle is erroneous and always
results in a thandle = 0.
After the table is opened, the returned handle can be used to access its
components.
Arguments
Type
Intent
Optional
Attributes
Name
type(flu_state)
::
L
Handle for the Lua script.
integer,
intent(in),
optional
::
parent
Handle of the table containing the requested table.
integer,
intent(out)
::
thandle
A handle for the table to access it, 0 if no table available.
character(len=*),
intent(in),
optional
::
key
Name of the entry in the parent table to access.
The key takes precedence over the position, if both are provided.
In this case the positional address is only tried, if the access to the
key failed.
integer,
intent(in),
optional
::
pos
Position of the entry in the parent table to access.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.