- A bare Lua call cannot reach a table's method (`function M.x`,
`function M:x`) without its table: kong's 118 `error(...)` calls went to
its response PDK's `_RESPONSE.error`, 111 to a mock's `error`, busted's
`setup`/`teardown` to perf helpers' and factories'.
- A bare call to a Lua global (`ipairs`, `error`, `require`, busted's
`describe`/`it`/`setup`...) is Lua's unless the file defines its own
function of that name: telescope's 120 `for _, v in ipairs(...)` went to a
linked list's `ipairs` method, apisix's 36 `require(...)` to a wasm
module's `_M.require`.
- A function's own locals are not nodes, so the alias reader now reads
`local x = ...` from source above the call within its function, and a
member of a host global table (`kong.request.get_query`) resolves to the
one method of a table named after its holder (`_REQUEST`). kong's
`local clear_header = kong.service.request.clear_header` had resolved to
the RESPONSE module's - now nothing, correctly.
telescope -129, kong -516 +58 (indexing 4.7s -> 3.5s), apisix -57 +18,
lua-resty-core -4, roact -3 +1.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>