Files
codegraph/__tests__
Colby MchenryandClaude Opus 5.5 b55836daa3 fix(lua): a bare call is never a table method; Lua's globals are Lua's (#2202)
- 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>
2026-09-30 20:46:25 +00:00
..