Skip to content

Commit 6ef1731

Browse files
committed
fix(native): add Object.defineProperty accessor dispatch post-pass to native orchestrator
The native orchestrator's fast path (tryNativeOrchestrator) skips runPipelineStages entirely on success, so buildDefinePropertyPostPass never ran for native full builds -- this.method() calls inside getter/setter functions registered via Object.defineProperty produced no edge at all when the accessor target was a typed class instance (the object-literal variant already worked via Rust's own composite-pts mechanism). Adds runPostNativeDefinePropertyDispatch, a hybrid WASM re-parse post-pass mirroring the existing runPostNativeThisDispatch for this/super dispatch: selects JS/TS candidate files (full build: all known files; incremental: changedFiles), narrows them with a cheap text pre-filter for the literal "defineProperty" substring to avoid a full-project WASM re-parse, then resolves targets via the same resolveDefinePropertyAccessorTarget already shared by the WASM engine and the incremental watch path. Wired into runPostNativePasses alongside this/super dispatch and CHA expansion. Extracts the caller-by-line lookup and the DB-backed CallNodeLookup construction (previously inlined only in runPostNativeThisDispatch) into shared helpers now used by both hybrid post-passes. Impact: 12 functions changed, 11 affected
1 parent fdedff8 commit 6ef1731

4 files changed

Lines changed: 405 additions & 39 deletions

File tree

0 commit comments

Comments
 (0)