luci-base: luci.js: properly handle nested Class.super() calls
authorJo-Philipp Wich <jo@mein.io>
Tue, 26 Nov 2019 08:37:27 +0000 (09:37 +0100)
committerJo-Philipp Wich <jo@mein.io>
Tue, 26 Nov 2019 08:42:28 +0000 (09:42 +0100)
commit3ad8ef4edae119df27a57c09d7003f170d20737f
tree70095404566eb5e9d9dae255ae4e406a43ef538c
parent819e67f6bf8c290fe3fe96ffa9f1e1753ff64edb
luci-base: luci.js: properly handle nested Class.super() calls

Introduce a unique __id__ attribute per class and use that, together with
the symbol name being looked up to, to form a unique key which is used to
store the prototype scope pointer.

This fixes cases where a call to super() invokes a procedure which is
calling super() as well on a different class or symbol.

Fixes: #3316
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 374c23cdab53c5681acafb561977d927c361408a)
modules/luci-base/htdocs/luci-static/resources/luci.js