Commit Graph
3 Commits
Author SHA1 Message Date
Eugene Smirnov 5b7d7fc2a6 ScriptableModuleInstanceImpl: reworked .get/put/has() to be fully consistent:
Now get/put/has and ScriptableObject.get/put/hasProperty on the ScriptableModuleInstanceImpl object will be equivalent to each other

1. has() will return true for bound methods, fields and extra fields, added in prototype
2. get() will return methods or fields from prototype, but if they are overridden in this object, will prioritize those
3. put() will
- write into java field bindings directly via new ScriptableObject.getRawSetter
- override java method bindings for this object only (if VALIDATE_INVALID_WRITES = false)
- add/override extra fields (if VALIDATE_INVALID_WRITES = false)
2026-06-22 20:05:36 +03:00
Eugene Smirnov 7b3cfef9b9 ScriptableModuleInstanceImpl: support direct .put calls
also implement getIds()
2026-06-22 19:30:35 +03:00
Eugene Smirnov b846ee7ca1 codegen rewritten on java and wired into gradle build (vibe-coded slop) 2026-06-22 00:45:38 +03:00