[INFO] cloning repository https://github.com/Vannevelj/type-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Vannevelj/type-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVannevelj%2Ftype-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVannevelj%2Ftype-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a595ff3e4554b9c75c8659fcfbdac9494f1f0175
[INFO] testing Vannevelj/type-rs against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVannevelj%2Ftype-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Vannevelj/type-rs
[INFO] finished tweaking git repo https://github.com/Vannevelj/type-rs
[INFO] tweaked toml for git repo https://github.com/Vannevelj/type-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Vannevelj/type-rs on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Vannevelj/type-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ee5555c0af4ba411cbcf8ef1a2bdf6352947b75c30dced6bf53d9edd966cc5e8
[INFO] running `Command { std: "docker" "start" "-a" "ee5555c0af4ba411cbcf8ef1a2bdf6352947b75c30dced6bf53d9edd966cc5e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ee5555c0af4ba411cbcf8ef1a2bdf6352947b75c30dced6bf53d9edd966cc5e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee5555c0af4ba411cbcf8ef1a2bdf6352947b75c30dced6bf53d9edd966cc5e8", kill_on_drop: false }`
[INFO] [stdout] ee5555c0af4ba411cbcf8ef1a2bdf6352947b75c30dced6bf53d9edd966cc5e8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 2055be42dc29f9650986df41720c74e427f9150b701bd465774de0cc3eac5a65
[INFO] running `Command { std: "docker" "start" "-a" "2055be42dc29f9650986df41720c74e427f9150b701bd465774de0cc3eac5a65", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling syn v1.0.89
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling libc v0.2.119
[INFO] [stderr]    Compiling text-size v1.1.0
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling erasable v1.2.1
[INFO] [stderr]    Compiling slice-dst v1.5.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling num-bigint v0.3.3
[INFO] [stderr]    Compiling erased-serde v0.3.20
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling unicode-segmentation v1.9.0
[INFO] [stderr]    Compiling rslint_syntax v0.1.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling unindent v0.1.8
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling indoc v1.0.4
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling dyn-clone v1.0.5
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling pretty_assertions v1.2.1
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling regex v1.5.5
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling env_logger v0.9.0
[INFO] [stderr]    Compiling lexical v5.2.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling ghost v0.1.2
[INFO] [stderr]    Compiling ctor v0.1.22
[INFO] [stderr]    Compiling typetag-impl v0.1.8
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling rslint_macros v0.1.0
[INFO] [stderr]    Compiling inventory v0.2.2
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling smol_str v0.1.21
[INFO] [stderr]    Compiling triomphe v0.1.5
[INFO] [stderr]    Compiling rslint_rowan v0.10.0
[INFO] [stderr]    Compiling rowan v0.10.6
[INFO] [stderr]    Compiling rslint_text_edit v0.1.0
[INFO] [stderr]    Compiling rslint_errors v0.2.0
[INFO] [stderr]    Compiling typetag v0.1.8
[INFO] [stderr]    Compiling rslint_lexer v0.2.0
[INFO] [stderr]    Compiling rslint_regex v0.3.0
[INFO] [stderr]    Compiling rslint_parser v0.3.1
[INFO] [stderr]    Compiling rslint_core v0.3.0
[INFO] [stderr]    Compiling type-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.84s
[INFO] running `Command { std: "docker" "inspect" "2055be42dc29f9650986df41720c74e427f9150b701bd465774de0cc3eac5a65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2055be42dc29f9650986df41720c74e427f9150b701bd465774de0cc3eac5a65", kill_on_drop: false }`
[INFO] [stdout] 2055be42dc29f9650986df41720c74e427f9150b701bd465774de0cc3eac5a65
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 3ccbac74409054b4235d961197f1f4ec3bb875ac573362de6832fcc292e3dd41
[INFO] running `Command { std: "docker" "start" "-a" "3ccbac74409054b4235d961197f1f4ec3bb875ac573362de6832fcc292e3dd41", kill_on_drop: false }`
[INFO] [stderr]    Compiling type-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.23s
[INFO] running `Command { std: "docker" "inspect" "3ccbac74409054b4235d961197f1f4ec3bb875ac573362de6832fcc292e3dd41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ccbac74409054b4235d961197f1f4ec3bb875ac573362de6832fcc292e3dd41", kill_on_drop: false }`
[INFO] [stdout] 3ccbac74409054b4235d961197f1f4ec3bb875ac573362de6832fcc292e3dd41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 39cb9cc932c07234b8b24f25d880fcce1ef6cff81589659c7c3ddc42b37be044
[INFO] running `Command { std: "docker" "start" "-a" "39cb9cc932c07234b8b24f25d880fcce1ef6cff81589659c7c3ddc42b37be044", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/type-rs/f4969cb3e32eb4ad/deps/type_rs-f4969cb3e32eb4ad)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/type-rs/29f7b274209c8540/deps/type_rs-29f7b274209c8540)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parser_tests.rs (/opt/rustwide/target/debug/build/type-rs/eeaf5d0ae6e03450/deps/parser_tests-eeaf5d0ae6e03450)
[INFO] [stdout] 
[INFO] [stdout] running 68 tests
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends PureComponent { } [0-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends PureComponent { } [0-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [6-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) PureComponent [26-39]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { } [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 39 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends Component { } [0-39]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { } [0-39]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [6-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [26-35]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { } [36-39]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 35 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends Component<{}> { } [0-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component<{}> { } [0-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [6-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [26-35]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Ts type args (TS_TYPE_ARGS) <{}> [35-39]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Ts object type (TS_OBJECT_TYPE) {} [36-38]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { } [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends React.Component { } [0-45]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends React.Component { } [0-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [6-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Dot expr (DOT_EXPR) React.Component [26-41]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name ref (NAME_REF) React [26-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) Component [32-41]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { } [42-45]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 41 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends OtherType { } [0-39]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends OtherType { } [0-39]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [6-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) OtherType [26-35]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { } [36-39]
[INFO] [stdout] test tests::add_types_adds_purecomponent_props ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stdout] test tests::add_types_adds_component_props ... ok
[INFO] [stderr]     class ColorPicker {
[INFO] [stdout] test tests::add_types_callback_arg ... ignored, rslint does not support parsing JSX
[INFO] [stderr]       componentDidUpdate(prevProps, prevState) { }
[INFO] [stderr]     } [0-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class ColorPicker {
[INFO] [stderr]       componentDidUpdate(prevProps, prevState) { }
[INFO] [stderr]     } [1-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) ColorPicker [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) {
[INFO] [stderr]       componentDidUpdate(prevProps, prevState) { }
[INFO] [stderr]     } [19-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) componentDidUpdate(prevProps, prevState) { } [23-67]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) componentDidUpdate [23-41]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) (prevProps, prevState) [41-63]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Single pattern (SINGLE_PATTERN) prevProps [42-51]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) prevProps [42-51]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Single pattern (SINGLE_PATTERN) prevState [53-62]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) prevState [53-62]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) { } [64-67]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "prevProps", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (prevProps)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@42..51
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@42..51 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 42..51
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 42, end: 51 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "prevState", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (prevState)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@53..62
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@53..62 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 53..62
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 53, end: 62 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) const mapStateToProps = (state, props) => { } [0-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) const mapStateToProps = (state, props) => { } [0-45]
[INFO] [stdout] test tests::add_types_adds_component_props_pre_existing ... ok
[INFO] [stdout] test tests::add_types_adds_component_props_namespace ... ok
[INFO] [stdout] test tests::add_types_different_class ... ok
[INFO] [stdout] test tests::add_types_class_function ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function getRole({ permissions, user }) { } [0-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a) {} [0-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = []) {} [0-23]
[INFO] [stdout] test tests::add_types_function ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a) {} [0-18]
[INFO] [stdout] test tests::add_types_function_default_value_array ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function test(a) {
[INFO] [stderr]         a.nest.more.field = 5;    
[INFO] [stderr]     } [0-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a) [12-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = []) {} [0-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [16-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function test(a) {
[INFO] [stderr]         a.nest.more.field = 5;    
[INFO] [stderr]     } [1-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) test [10-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = []) [12-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a) [14-17]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [15-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = [] [13-19]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [15-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@13..14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Array expr (ARRAY_EXPR) [] [17-19]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [21-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         a.nest.more.field = 5;    
[INFO] [stderr]     } [18-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) a.nest.more.field = 5; [24-46]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = []", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = [])
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Assign expr (ASSIGN_EXPR) a.nest.more.field = 5 [24-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: ARRAY_EXPR@17..19
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) a.nest.more.field [24-41]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..19 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) a.nest.more [24-35]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) a.nest [24-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) a [24-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) nest [26-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) more [31-35]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) field [36-41]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) 5 [44-45]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@24..25 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..30 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@26..30 } (nest)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@24..25 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..35 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@31..35 } (more)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..30 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..41 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@36..41 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..35 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = true) {} [0-25]
[INFO] [stdout] test tests::add_types_export_default_function ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = true) {} [0-25]
[INFO] [stdout] test tests::add_types_function_default_value_bigint_suffix ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stdout] test tests::add_types_function_default_value_date ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = true) [12-22]
[INFO] [stdout] test tests::add_types_destructured_parameter ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = true [13-21]
[INFO] [stdout] test tests::add_types_const_arrow_function_with_usage ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stdout] test tests::add_types_for_in ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Literal (LITERAL) true [17-21]
[INFO] [stdout] test tests::add_types_function_default_value_null ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [23-25]
[INFO] [stdout] test tests::add_types_function_default_value_object ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = true", ts_type: SimpleType(None) }
[INFO] [stdout] test tests::add_types_const_arrow_function ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = true)
[INFO] [stdout] test tests::add_types_function_default_value_array_number ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stdout] test tests::add_types_function_default_value_array_mixed ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: LITERAL@17..21
[INFO] [stdout] test tests::add_types_function_default_value_array_mixed_null ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) export default function foo(route) { } [0-38]
[INFO] [stdout] test tests::add_types_function_default_value_bool ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = 9007199254740991n) {} [0-38]
[INFO] [stdout] test tests::add_types_function_default_value_array_string ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Export default expr (EXPORT_DEFAULT_EXPR) export default function foo(route) { } [0-38]
[INFO] [stdout] test tests::add_types_function_default_value_string ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = 9007199254740991n) {} [0-38]
[INFO] [stdout] test tests::add_types_function_default_value_undefined ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Fn expr (FN_EXPR) function foo(route) { } [15-38]
[INFO] [stdout] test tests::add_types_function_default_value_bigint_ctor ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stdout] test tests::add_types_function_object_params_nested_reduced ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) foo [24-27]
[INFO] [stdout] test tests::add_types_function_default_value_regex ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = 9007199254740991n) [12-35]
[INFO] [stdout] test tests::add_types_function_multi_param ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Parameter list (PARAMETER_LIST) (route) [27-34]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Single pattern (SINGLE_PATTERN) route [28-33]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = 9007199254740991n [13-34]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Name (NAME) route [28-33]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Literal (LITERAL) 9007199254740991n [17-34]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Block statement (BLOCK_STMT) { } [35-38]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [36-38]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     const mapStateToProps = (state) => {
[INFO] [stderr]         const { player } = state;   
[INFO] [stderr]     } [0-72]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "route", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (route)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@28..33
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@28..33 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = 9007199254740991n", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 28..33
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = 9007199254740991n)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) const mapStateToProps = (state) => {
[INFO] [stderr]         const { player } = state;   
[INFO] [stderr]     } [1-72]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 28, end: 33 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = new Date()) {} [0-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: LITERAL@17..34
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..34 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = new Date()) {} [0-31]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) mapStateToProps = (state) => {
[INFO] [stderr]         const { player } = state;   
[INFO] [stderr]     } [7-72]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) mapStateToProps [7-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) mapStateToProps [7-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = new Date()) [12-28]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = new Date() [13-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Arrow expr (ARROW_EXPR) (state) => {
[INFO] [stderr]         const { player } = state;   
[INFO] [stderr]     } [25-72]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     New expr (NEW_EXPR) new Date() [17-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Name ref (NAME_REF) Date [21-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) (state) [25-32]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) () [25-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Single pattern (SINGLE_PATTERN) state [26-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [29-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) state [26-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]         const { player } = state;   
[INFO] [stderr]     } [36-72]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function getRole({ permissions, user }) { } [0-43]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = new Date()", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = new Date())
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { player } = state; [42-67]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) getRole [9-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NEW_EXPR@17..27
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NewExpr(NewExpr { syntax: NEW_EXPR@17..27 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) ({ permissions, user }) [16-39]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { player } = state [48-66]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { player } [48-58]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Object pattern (OBJECT_PATTERN) { permissions, user } [17-38]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Single pattern (SINGLE_PATTERN) permissions [19-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) player [50-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) player [50-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Name (NAME) permissions [19-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = ["s1", 1]) {} [0-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) state [61-66]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Single pattern (SINGLE_PATTERN) user [32-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Name (NAME) user [32-36]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(ArrowExpr(ArrowExpr { syntax: ARROW_EXPR@25..72 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) { } [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@7..22 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo() {          
[INFO] [stderr]         for (const key in {}) {
[INFO] [stderr]     
[INFO] [stderr]         }
[INFO] [stderr]     } [0-64]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@48..66 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "{ permissions, user }", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@48..58 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None ({ permissions, user })
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: SINGLE_PATTERN@19..30
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "player"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: SINGLE_PATTERN@32..36
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo() {          
[INFO] [stderr]         for (const key in {}) {
[INFO] [stderr]     
[INFO] [stderr]         }
[INFO] [stderr]     } [1-64]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: player (None)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) () [13-15]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 17..38
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "player", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "player", ts_type: SimpleType(None) }]) }) (state)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 38 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "player", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {          
[INFO] [stderr]         for (const key in {}) {
[INFO] [stderr]     
[INFO] [stderr]         }
[INFO] [stderr]     } [16-64]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 72 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@26..31
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@26..31 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 26..31
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 31 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    For in statement (FOR_IN_STMT) for (const key in {}) {
[INFO] [stderr]     
[INFO] [stderr]         } [32-62]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) mapStateToProps = (state, props) => { } [6-45]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(NameRef(NameRef { syntax: NAME_REF@61..66 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     For stmt init (FOR_STMT_INIT) const key [37-46]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@48..58 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) mapStateToProps [6-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const key [37-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = null) {} [0-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) mapStateToProps [6-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) key [43-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Single pattern (SINGLE_PATTERN) key [43-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = null) {} [0-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Arrow expr (ARROW_EXPR) (state, props) => { } [24-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) key [43-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = {}) {} [0-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Object expr (OBJECT_EXPR) {} [50-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = null) [12-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) (state, props) [24-38]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]     
[INFO] [stderr]         } [54-62]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = null [13-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Single pattern (SINGLE_PATTERN) state [25-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = {}) {} [0-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) state [25-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Literal (LITERAL) null [17-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Single pattern (SINGLE_PATTERN) props [32-37]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [23-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) props [32-37]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = {}) [12-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) { } [42-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = {} [13-19]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = null", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(ArrowExpr(ArrowExpr { syntax: ARROW_EXPR@24..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = null)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Object expr (OBJECT_EXPR) {} [17-19]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@6..21 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: LITERAL@17..21
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [21-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..21 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (state)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = {}", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@25..30
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = {})
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@25..30 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: OBJECT_EXPR@17..19
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 25..30
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(ObjectExpr(ObjectExpr { syntax: OBJECT_EXPR@17..19 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 25, end: 30 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = [1]) {} [0-24]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (props)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@32..37
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@32..37 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = [1]) {} [0-24]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 32..37
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = ["s1", 1]) {} [0-30]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 32, end: 37 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = [1]) [12-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = [1, null]) {} [0-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = ["s1", 1]) [12-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = [1] [13-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Array expr (ARRAY_EXPR) [1] [17-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = [1, null]) {} [0-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = ["s1", 1] [13-26]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) 1 [18-19]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [22-24]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Array expr (ARRAY_EXPR) ["s1", 1] [17-26]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) "s1" [18-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = [1, null]) [12-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) 1 [24-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [28-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = [1, null] [13-26]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = [1]", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = [1])
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Array expr (ARRAY_EXPR) [1, null] [17-26]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: ARRAY_EXPR@17..20
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) 1 [18-19]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..20 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) null [21-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@18..19 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = [\"s1\", 1]", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [28-30]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = ["s1", 1])
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: ARRAY_EXPR@17..26
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..26 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@18..22 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@24..25 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = [1, null]", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = [1, null])
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: ARRAY_EXPR@17..26
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..26 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@18..19 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@21..25 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = ["s1"]) {} [0-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = ["s1"]) {} [0-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..21 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = ["s1"]) [12-24]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = ["s1"] [13-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Array expr (ARRAY_EXPR) ["s1"] [17-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) "s1" [18-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = "hey") {} [0-26]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [25-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = "hey") {} [0-26]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = "hey") [12-23]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = [\"s1\"]", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = ["s1"])
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = "hey" [13-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: ARRAY_EXPR@17..23
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..23 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Literal (LITERAL) "hey" [17-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@18..22 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [24-26]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo(a) {
[INFO] [stderr]         a.sa.nestedlongname();
[INFO] [stderr]     } [0-47]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = undefined) {} [0-30]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = \"hey\"", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = "hey")
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: LITERAL@17..22
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = undefined) {} [0-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a) {
[INFO] [stderr]         a.sa.nestedlongname();
[INFO] [stderr]     } [1-47]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..22 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a) [13-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = undefined) [12-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = undefined [13-26]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name ref (NAME_REF) undefined [17-26]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         a.sa.nestedlongname();
[INFO] [stderr]     } [17-47]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [28-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) a.sa.nestedlongname(); [23-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) a.sa.nestedlongname() [23-44]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) a.sa.nestedlongname [23-42]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = undefined", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = undefined)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) a.sa [23-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME_REF@17..26
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) a [23-24]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) sa [25-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@17..26 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) nestedlongname [28-42]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) () [42-44]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = BigInt(9007199254740991)) {} [0-45]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@23..24 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = BigInt(9007199254740991)) {} [0-45]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@23..27 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@25..27 } (sa)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: sa (Some(NameRef(NameRef { syntax: NAME_REF@23..24 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = BigInt(9007199254740991)) [12-42]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["sa"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@23..42 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = BigInt(9007199254740991) [13-41]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@28..42 } (nestedlongname)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nestedlongname (Some(DotExpr(DotExpr { syntax: DOT_EXPR@23..27 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) BigInt(9007199254740991) [17-41]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Name ref (NAME_REF) BigInt [17-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nestedlongname (Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (9007199254740991) [23-41]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Literal (LITERAL) 9007199254740991 [24-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [43-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         console.log(b.field);
[INFO] [stderr]         console.log(b.otherfield);
[INFO] [stderr]     } [0-103]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@23..24 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = BigInt(9007199254740991)", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@23..27 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = BigInt(9007199254740991))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@25..27 } (sa)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: CALL_EXPR@17..41
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: sa (Some(NameRef(NameRef { syntax: NAME_REF@23..24 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@17..41 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["sa"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@23..42 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@28..42 } (nestedlongname)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nestedlongname (Some(DotExpr(DotExpr { syntax: DOT_EXPR@23..27 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         console.log(b.field);
[INFO] [stderr]         console.log(b.otherfield);
[INFO] [stderr]     } [1-103]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = /.*/) {} [0-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nestedlongname (Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a, b, c) [13-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = /.*/) {} [0-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "sa", ts_type: NestedType([TypeDefinition { name: "nestedlongname", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 }))) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = /.*/) [12-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "sa", ts_type: NestedType([TypeDefinition { name: "nestedlongname", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 }))) }]) }]) }) (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = /.*/ [13-21]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "sa", ts_type: NestedType([TypeDefinition { name: "nestedlongname", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 }))) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Literal (LITERAL) /.*/ [17-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [23-25]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 47 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = /.*/", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = /.*/)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         console.log(b.field);
[INFO] [stderr]         console.log(b.otherfield);
[INFO] [stderr]     } [23-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: LITERAL@17..21
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..21 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(a); [29-44]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(a) [29-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [29-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [29-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [37-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (a) [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) a [41-42]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(b.field); [49-70]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(b.field) [49-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [49-60]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [49-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [57-60]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (b.field) [60-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) b.field [61-68]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) b [61-62]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) field [63-68]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(b.otherfield); [75-101]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(b.otherfield) [75-100]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [75-86]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [75-82]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         console.log(b.field);
[INFO] [stderr]     } [0-72]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a, b, c) {} [0-24]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a, b, c) {} [0-24]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         console.log(b.field);
[INFO] [stderr]     } [1-72]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a, b, c) [12-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a, b, c) [13-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) b [16-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) b [16-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) c [19-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) c [19-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [22-24]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@13..14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         console.log(b.field);
[INFO] [stderr]     } [23-72]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(a); [29-44]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (b)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(a) [29-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@16..17
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@16..17 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [29-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 16..17
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [29-36]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 16, end: 17 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [37-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (a) [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo() {
[INFO] [stderr]       return {
[INFO] [stderr]         bar: (a, b) => {},
[INFO] [stderr]       };
[INFO] [stderr]     }; [0-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) a [41-42]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [83-86]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@19..20
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(b.field); [49-70]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@19..20 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [0-143]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 19..20
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 19, end: 20 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo() {
[INFO] [stderr]       return {
[INFO] [stderr]         bar: (a, b) => {},
[INFO] [stderr]       };
[INFO] [stderr]     } [1-58]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(b.field) [49-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [49-60]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [49-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) () [13-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [57-60]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (b.field) [60-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [1-143]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) b.field [61-68]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) b [61-62]
[INFO] [stdout] test tests::add_types_functions_as_object_keys ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]       return {
[INFO] [stderr]         bar: (a, b) => {},
[INFO] [stderr]       };
[INFO] [stderr]     } [16-58]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Return statement (RETURN_STMT) return {
[INFO] [stderr]         bar: (a, b) => {},
[INFO] [stderr]       }; [20-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Object expr (OBJECT_EXPR) {
[INFO] [stderr]         bar: (a, b) => {},
[INFO] [stderr]       } [27-55]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal prop (LITERAL_PROP) bar: (a, b) => {} [33-50]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) bar [33-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Arrow expr (ARROW_EXPR) (a, b) => {} [38-50]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Parameter list (PARAMETER_LIST) (a, b) [38-44]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) a [39-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) a [39-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) b [42-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) b [42-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Block statement (BLOCK_STMT) {} [48-50]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Empty statement (EMPTY_STMT) ; [58-59]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@39..40
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@39..40 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 39..40
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 39, end: 40 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (b)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@42..43
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@42..43 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 42..43
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 42, end: 43 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (b.otherfield) [86-100]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) b.otherfield [87-99]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@24..25 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..30 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@26..30 } (nest)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@24..25 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..35 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@31..35 } (more)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield, otherField } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [0-155]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield, otherField } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [1-155]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) b [87-88]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component {
[INFO] [stderr]         constructor() {
[INFO] [stderr]             this.state = {};
[INFO] [stderr]         }
[INFO] [stderr]     
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.state.testNumber = 5;
[INFO] [stderr]         }
[INFO] [stderr]     
[INFO] [stderr]         render() {
[INFO] [stderr]             if (this.props.otherone === 5) {
[INFO] [stderr]                 return null;
[INFO] [stderr]             }
[INFO] [stderr]         }
[INFO] [stderr]     } [0-354]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component {
[INFO] [stderr]         constructor() {
[INFO] [stderr]             this.state = {};
[INFO] [stderr]         }
[INFO] [stderr]     
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.state.testNumber = 5;
[INFO] [stderr]         }
[INFO] [stderr]     
[INFO] [stderr]         render() {
[INFO] [stderr]             if (this.props.otherone === 5) {
[INFO] [stderr]                 return null;
[INFO] [stderr]             }
[INFO] [stderr]         }
[INFO] [stderr]     } [1-354]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) otherfield [89-99]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 14..15
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@61..62 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@61..68 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@63..68 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@61..62 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@87..88 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@87..99 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@89..99 } (otherfield)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: otherfield (Some(NameRef(NameRef { syntax: NAME_REF@87..88 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))) }, TypeDefinition { name: "otherfield", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@87..88 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))) }, TypeDefinition { name: "otherfield", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@87..88 }))) }]) }) (b)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))) }, TypeDefinition { name: "otherfield", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@87..88 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@87..88 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@87..88 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 103 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@17..18
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 17..18
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@20..21
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 20..21
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [37-143]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         } [53-141]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         } [60-141]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { somefield } = this.props; [70-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { somefield } = this.props [76-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { somefield } [76-89]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props [92-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         This expr (THIS_EXPR) this [92-96]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) props [97-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) console.log(somefield); [112-135]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) console.log(somefield) [112-134]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) console.log [112-123]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) console [112-119]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) log [120-123]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (somefield) [123-134]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) somefield [124-133]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..102 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 143 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) {
[INFO] [stderr]         constructor() {
[INFO] [stderr]             this.state = {};
[INFO] [stderr]         }
[INFO] [stderr]     
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.state.testNumber = 5;
[INFO] [stderr]         }
[INFO] [stderr]     
[INFO] [stderr]         render() {
[INFO] [stderr]             if (this.props.otherone === 5) {
[INFO] [stderr]                 return null;
[INFO] [stderr]             }
[INFO] [stderr]         }
[INFO] [stderr]     } [37-354]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Constructor (CONSTRUCTOR) constructor() {
[INFO] [stderr]             this.state = {};
[INFO] [stderr]         } [43-89]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) constructor [43-54]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [54-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             this.state = {};
[INFO] [stderr]         } [57-89]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) this.state = {}; [67-83]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Assign expr (ASSIGN_EXPR) this.state = {} [67-82]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.state [67-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         This expr (THIS_EXPR) this [67-71]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) state [72-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object expr (OBJECT_EXPR) {} [80-82]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [95-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.state.testNumber = 5;
[INFO] [stderr]         } [104-254]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [104-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [108-110]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.props.callback();
[INFO] [stderr]             this.state.testNumber = 5;
[INFO] [stderr]         } [111-254]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) console.log(this.props.wowee); [121-151]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) console.log(this.props.wowee) [121-150]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) console.log [121-132]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) console [121-128]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) log [129-132]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (this.props.wowee) [132-150]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.props.wowee [133-149]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Dot expr (DOT_EXPR) this.props [133-143]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           This expr (THIS_EXPR) this [133-137]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Name (NAME) props [138-143]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) wowee [144-149]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) this.props.callback(); [160-182]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) this.props.callback() [160-181]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props.callback [160-179]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.props [160-170]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          This expr (THIS_EXPR) this [160-164]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) props [165-170]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) callback [171-179]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) () [179-181]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) this.props.callback(); [191-213]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) this.props.callback() [191-212]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props.callback [191-210]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.props [191-201]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          This expr (THIS_EXPR) this [191-195]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) props [196-201]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) callback [202-210]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) () [210-212]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) this.state.testNumber = 5; [222-248]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Assign expr (ASSIGN_EXPR) this.state.testNumber = 5 [222-247]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.state.testNumber [222-243]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.state [222-232]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          This expr (THIS_EXPR) this [222-226]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) state [227-232]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) testNumber [233-243]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Literal (LITERAL) 5 [246-247]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends React.PureComponent { } [0-49]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends React.PureComponent { } [0-49]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) render() {
[INFO] [stderr]             if (this.props.otherone === 5) {
[INFO] [stderr]                 return null;
[INFO] [stderr]             }
[INFO] [stderr]         } [260-352]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [6-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) render [260-266]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Dot expr (DOT_EXPR) React.PureComponent [26-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [266-268]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name ref (NAME_REF) React [26-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) PureComponent [32-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { } [46-49]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             if (this.props.otherone === 5) {
[INFO] [stderr]                 return null;
[INFO] [stderr]             }
[INFO] [stderr]         } [269-352]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      If statement (IF_STMT) if (this.props.otherone === 5) {
[INFO] [stderr]                 return null;
[INFO] [stderr]             } [279-346]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Condition (CONDITION) (this.props.otherone === 5) [282-309]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 45 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Bin expr (BIN_EXPR) this.props.otherone === 5 [283-308]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.props.otherone [283-302]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Dot expr (DOT_EXPR) this.props [283-293]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           This expr (THIS_EXPR) this [283-287]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Name (NAME) props [288-293]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) otherone [294-302]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Literal (LITERAL) 5 [307-308]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Block statement (BLOCK_STMT) {
[INFO] [stderr]                 return null;
[INFO] [stderr]             } [310-346]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Return statement (RETURN_STMT) return null; [324-336]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Literal (LITERAL) null [331-335]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function Welcome(props) {
[INFO] [stderr]         console.log(props.name);
[INFO] [stderr]         return undefined;
[INFO] [stderr]     } [0-79]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function Welcome(props) {
[INFO] [stderr]         console.log(props.name);
[INFO] [stderr]         return undefined;
[INFO] [stderr]     } [1-79]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) Welcome [10-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (props) [17-24]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) props [18-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) props [18-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(props.name);
[INFO] [stderr]         return undefined;
[INFO] [stderr]     } [25-79]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(props.name); [31-55]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function test(a) {
[INFO] [stderr]         a.field = { test: 5 };
[INFO] [stderr]     } [0-48]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(props.name) [31-54]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [31-42]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [31-38]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [39-42]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function test(a) {
[INFO] [stderr]         a.field = { test: 5 };
[INFO] [stderr]     } [1-48]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (props.name) [42-54]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) test [10-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) props.name [43-53]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a) [14-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) props [43-48]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [15-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) name [49-53]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [15-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Return statement (RETURN_STMT) return undefined; [60-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name ref (NAME_REF) undefined [67-76]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         a.field = { test: 5 };
[INFO] [stderr]     } [18-48]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) a.field = { test: 5 }; [24-46]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@43..48 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@43..53 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@49..53 } (name)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Assign expr (ASSIGN_EXPR) a.field = { test: 5 } [24-45]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: name (Some(NameRef(NameRef { syntax: NAME_REF@43..48 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) a.field [24-31]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) a [24-25]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) field [26-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Object expr (OBJECT_EXPR) { test: 5 } [34-45]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "name", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@43..48 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Literal prop (LITERAL_PROP) test: 5 [36-43]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "name", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@43..48 }))) }]) }) (props)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) test [36-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Literal (LITERAL) 5 [42-43]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "name", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@43..48 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@43..48 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@43..48 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 79 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@24..25 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@18..23
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@18..23 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stdout] test tests::add_types_function_object_params_with_usage_multi ... ok
[INFO] [stdout] test tests::add_types_generate_props_destructured ... ok
[INFO] [stdout] test tests::add_types_adds_purecomponent_props_namespace ... ok
[INFO] [stdout] test tests::add_types_generate_props_functional_component ... ok
[INFO] [stdout] test tests::add_types_function_default_value_number ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 18..23
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 18, end: 23 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a = 5) {} [0-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a = 5) {} [0-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a = 5) [12-19]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a = 5 [13-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Literal (LITERAL) 5 [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [20-22]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = 5", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a = 5)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: LITERAL@17..18
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..18 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 13..14
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.state.wowee);
[INFO] [stderr]         }
[INFO] [stderr]     } [0-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.state.wowee);
[INFO] [stderr]         }
[INFO] [stderr]     } [1-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.state.wowee);
[INFO] [stderr]         }
[INFO] [stderr]     } [37-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             console.log(this.state.wowee);
[INFO] [stderr]         } [53-106]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.callableField();
[INFO] [stderr]     } [0-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             console.log(this.state.wowee);
[INFO] [stderr]         } [60-106]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) console.log(this.state.wowee); [70-100]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.callableField();
[INFO] [stderr]     } [1-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) console.log(this.state.wowee) [70-99]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo() { sources.filter((v, k) => true; } [0-49]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) console.log [70-81]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a, b, c) [13-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) console [70-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) log [78-81]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (this.state.wowee) [81-99]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo() { sources.filter((v, k) => true; } [0-49]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.state.wowee [82-98]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) () [12-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Dot expr (DOT_EXPR) this.state [82-92]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           This expr (THIS_EXPR) this [82-86]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Name (NAME) state [87-92]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) wowee [93-98]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) { sources.filter((v, k) => true; } [15-49]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.callableField();
[INFO] [stderr]     } [23-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) sources.filter((v, k) => true; [17-47]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(a); [29-44]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(a) [29-43]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) sources.filter((v, k) => true [17-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [29-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) sources.filter [17-31]
[INFO] [stdout] test tests::add_types_lambda ... ok
[INFO] [stdout] test tests::add_types_generate_props_destructured_combined ... ok
[INFO] [stdout] test tests::add_types_function_object_params_with_usage ... ok
[INFO] [stdout] test tests::add_types_generate_props_class_this_dot_props_multi ... ok
[INFO] [stdout] test tests::add_types_generate_props_destructured_multiple ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) sources [17-24]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) filter [25-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) ((v, k) => true [31-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Arrow expr (ARROW_EXPR) (v, k) => true [32-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Parameter list (PARAMETER_LIST) (v, k) [32-38]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) v [33-34]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) v [33-34]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) k [36-37]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) k [36-37]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Literal (LITERAL) true [42-46]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "v", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (v)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@33..34
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@33..34 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 33..34
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 33, end: 34 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "k", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (k)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@36..37
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@36..37 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 36..37
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 36, end: 37 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props.a.b.c;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [0-149]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props.a.b.c;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [1-149]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props.a.b.c;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [37-149]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             const { somefield } = this.props.a.b.c;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         } [53-147]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             const { somefield } = this.props.a.b.c;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         } [60-147]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]         }
[INFO] [stderr]     } [0-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { somefield } = this.props.a.b.c; [70-109]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { somefield } = this.props.a.b.c [76-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]         }
[INFO] [stderr]     } [1-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { somefield } [76-89]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props.a.b.c [92-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]         }
[INFO] [stderr]     } [37-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.props.a.b [92-106]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Dot expr (DOT_EXPR) this.props.a [92-104]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]         } [53-106]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Dot expr (DOT_EXPR) this.props [92-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]            This expr (THIS_EXPR) this [92-96]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]            Name (NAME) props [97-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Name (NAME) a [103-104]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) b [105-106]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) c [107-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             console.log(this.props.wowee);
[INFO] [stderr]         } [60-106]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) console.log(somefield); [118-141]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) console.log(this.props.wowee); [70-100]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) console.log(somefield) [118-140]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) console.log(this.props.wowee) [70-99]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) console.log [118-129]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) console [118-125]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) console.log [70-81]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) log [126-129]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) console [70-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) log [78-81]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (somefield) [129-140]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) somefield [130-139]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (this.props.wowee) [81-99]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.props.wowee [82-98]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Dot expr (DOT_EXPR) this.props [82-92]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           This expr (THIS_EXPR) this [82-86]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Name (NAME) props [87-92]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..104 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) wowee [93-98]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@103..104 } (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: a (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@82..86 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["a"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..106 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@105..106 } (b)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: b (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..104 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["a", "b"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@107..108 } (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: c (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..106 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..104 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@103..104 } (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) field [63-68]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 14..15
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield: alias } = this.props;
[INFO] [stderr]             console.log(alias);
[INFO] [stderr]         }
[INFO] [stderr]     } [0-146]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@61..62 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@61..68 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@63..68 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield: alias } = this.props;
[INFO] [stderr]             console.log(alias);
[INFO] [stderr]         }
[INFO] [stderr]     } [1-146]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@61..62 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))) }]) }) (b)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield: alias } = this.props;
[INFO] [stderr]             console.log(alias);
[INFO] [stderr]         }
[INFO] [stderr]     } [37-146]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 72 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@17..18
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 17..18
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             const { somefield: alias } = this.props;
[INFO] [stderr]             console.log(alias);
[INFO] [stderr]         } [53-144]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@20..21
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             const { somefield: alias } = this.props;
[INFO] [stderr]             console.log(alias);
[INFO] [stderr]         } [60-144]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 20..21
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { somefield: alias } = this.props; [70-110]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { somefield: alias } = this.props [76-109]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { somefield: alias } [76-96]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Key value pattern (KEY_VALUE_PATTERN) somefield: alias [78-94]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Single pattern (SINGLE_PATTERN) alias [89-94]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield, otherField } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         }
[INFO] [stderr]     } [37-155]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             const { somefield, otherField } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         } [53-153]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             const { somefield, otherField } = this.props;
[INFO] [stderr]             console.log(somefield);
[INFO] [stderr]         } [60-153]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { somefield, otherField } = this.props; [70-115]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { somefield, otherField } = this.props [76-114]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { somefield, otherField } [76-101]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props.deep;
[INFO] [stderr]         }
[INFO] [stderr]     } [0-152]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) otherField [89-99]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) otherField [89-99]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props [104-114]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         This expr (THIS_EXPR) this [104-108]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) props [109-114]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(this.props.somefield.wowee)
[INFO] [stderr]         }
[INFO] [stderr]     } [0-159]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props.deep;
[INFO] [stderr]         }
[INFO] [stderr]     } [1-152]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(this.props.somefield.wowee)
[INFO] [stderr]         }
[INFO] [stderr]     } [1-159]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props.deep;
[INFO] [stderr]         }
[INFO] [stderr]     } [37-152]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.callableField(doThing(c));
[INFO] [stderr]     }
[INFO] [stderr]     
[INFO] [stderr]     function doThing(x) {
[INFO] [stderr]         return x;
[INFO] [stderr]     } [0-118]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props.deep;
[INFO] [stderr]         } [53-150]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.callableField(doThing(c));
[INFO] [stderr]     } [1-79]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(this.props.somefield.wowee)
[INFO] [stderr]         }
[INFO] [stderr]     } [37-159]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a, b, c) [13-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props.deep;
[INFO] [stderr]         } [60-150]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(this.props.somefield.wowee)
[INFO] [stderr]         } [53-157]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { somefield } = this.props; [70-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { somefield } = this.props [76-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { somefield } [76-89]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.callableField(doThing(c));
[INFO] [stderr]     } [23-79]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             console.log(this.props.somefield.wowee)
[INFO] [stderr]         } [60-157]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props [92-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         This expr (THIS_EXPR) this [92-96]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(a); [29-44]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) props [97-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { somefield } = this.props; [70-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(a) [29-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { abc } = this.props.deep; [112-144]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { somefield } = this.props [76-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [29-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [29-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { somefield } [76-89]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [37-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { abc } = this.props.deep [118-143]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (a) [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { abc } [118-125]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) a [41-42]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) abc [120-123]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props [92-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) abc [120-123]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         This expr (THIS_EXPR) this [92-96]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) props [97-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props.deep [128-143]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) b.callableField(doThing(c)); [49-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.props [128-138]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          This expr (THIS_EXPR) this [128-132]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) b.callableField(doThing(c)) [49-76]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) props [133-138]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) console.log(this.props.somefield.wowee) [112-151]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) deep [139-143]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) b.callableField [49-64]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) b [49-50]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) callableField [51-64]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) console.log(this.props.somefield.wowee) [112-151]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@133..137 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) console.log [112-123]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@133..149 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) console [112-119]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@144..149 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) log [120-123]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (this.props.somefield.wowee) [123-151]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@133..137 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) this.props.somefield.wowee [124-150]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@133..149 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@144..149 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Dot expr (DOT_EXPR) this.props.somefield [124-144]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Dot expr (DOT_EXPR) this.props [124-134]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]            This expr (THIS_EXPR) this [124-128]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@160..164 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]            Name (NAME) props [129-134]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@160..179 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Name (NAME) somefield [135-144]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@171..179 } (callback)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) wowee [145-150]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callback (Some(DotExpr(DotExpr { syntax: DOT_EXPR@160..170 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callback (Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@160..164 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@160..179 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..102 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@171..179 } (callback)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callback (Some(DotExpr(DotExpr { syntax: DOT_EXPR@160..170 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callback (Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@191..195 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@124..128 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@191..210 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..144 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@202..210 } (callback)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@135..144 } (somefield)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callback (Some(DotExpr(DotExpr { syntax: DOT_EXPR@191..201 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..134 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callback (Some(CallExpr(CallExpr { syntax: CALL_EXPR@191..212 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["somefield"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..150 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@145..150 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@191..195 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stdout] test tests::add_types_generate_state ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@191..210 }
[INFO] [stdout] test tests::add_types_generate_props_destructured_multi_nested ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 })))
[INFO] [stdout] test tests::add_types_generate_props_class_this_dot_props_single ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@202..210 } (callback)
[INFO] [stdout] test tests::add_types_regular_function ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stdout] test tests::add_types_generate_props_destructured_multi ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stdout] test tests::add_types_preserves_comments ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callback (Some(DotExpr(DotExpr { syntax: DOT_EXPR@191..201 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@124..128 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callback (Some(CallExpr(CallExpr { syntax: CALL_EXPR@191..212 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..144 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@135..144 } (somefield)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..134 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["somefield"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..150 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@145..150 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@283..287 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@283..302 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@294..302 } (otherone)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: otherone (Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@124..128 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..144 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@283..287 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@135..144 } (somefield)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@283..302 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..134 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@294..302 } (otherone)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["somefield"]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: otherone (Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..150 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@145..150 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 }))) }, TypeDefinition { name: "callback", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 }))) }, TypeDefinition { name: "otherone", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 }))) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@67..71 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 }))) }]) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@222..226 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 }))) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@222..243 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@233..243 } (testNumber)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 159 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: testNumber (Some(DotExpr(DotExpr { syntax: DOT_EXPR@222..232 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: testNumber (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@222..226 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@222..243 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@233..243 } (testNumber)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: testNumber (Some(DotExpr(DotExpr { syntax: DOT_EXPR@222..232 })))
[INFO] [stdout] test tests::add_types_respects_whitespace ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: testNumber (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props;
[INFO] [stderr]         }
[INFO] [stderr]     } [0-147]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "testNumber", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 }))) }, TypeDefinition { name: "callback", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 }))) }, TypeDefinition { name: "otherone", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 }))) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 }))) }, TypeDefinition { name: "callback", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 }))) }, TypeDefinition { name: "otherone", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Class decl (CLASS_DECL) class MyComponent extends Component { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props;
[INFO] [stderr]         }
[INFO] [stderr]     } [1-147]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) MyComponent [7-18]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) Component [27-36]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 354 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "testNumber", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@246..247 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Class body (CLASS_BODY) { 
[INFO] [stderr]         function test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props;
[INFO] [stderr]         }
[INFO] [stderr]     } [37-147]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 354 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name (NAME) function [44-52]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Method (METHOD) test() {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props;
[INFO] [stderr]         } [53-145]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [53-57]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Parameter list (PARAMETER_LIST) () [57-59]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function test(a) {
[INFO] [stderr]         console.log(a.nest.more.field.toString());
[INFO] [stderr]     } [0-68]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]             const { somefield } = this.props;
[INFO] [stderr]             const { abc } = this.props;
[INFO] [stderr]         } [60-145]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { somefield } = this.props; [70-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function test(a) {
[INFO] [stderr]         console.log(a.nest.more.field.toString());
[INFO] [stderr]     } [1-68]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) test [10-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { somefield } = this.props [76-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a) [14-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { somefield } [76-89]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [15-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [15-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) somefield [78-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props [92-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         This expr (THIS_EXPR) this [92-96]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) props [97-102]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(a.nest.more.field.toString());
[INFO] [stderr]     } [18-68]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Var decl (VAR_DECL) const { abc } = this.props; [112-139]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Declarator (DECLARATOR) { abc } = this.props [118-138]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(a.nest.more.field.toString()); [24-66]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Object pattern (OBJECT_PATTERN) { abc } [118-125]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Single pattern (SINGLE_PATTERN) abc [120-123]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) abc [120-123]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(a.nest.more.field.toString()) [24-65]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props [128-138]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [24-35]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [24-31]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         This expr (THIS_EXPR) this [128-132]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [32-35]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) props [133-138]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (a.nest.more.field.toString()) [35-65]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..102 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) a.nest.more.field.toString() [36-64]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) a.nest.more.field.toString [36-62]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@128..132 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Dot expr (DOT_EXPR) a.nest.more.field [36-53]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@118..138 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@118..125 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Dot expr (DOT_EXPR) a.nest.more [36-47]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "abc"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Dot expr (DOT_EXPR) a.nest [36-42]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: abc (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]            Name ref (NAME_REF) a [36-37]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]            Name (NAME) nest [38-42]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "abc", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Name (NAME) more [43-47]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]          Name (NAME) field [48-53]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) toString [54-62]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) () [62-64]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "abc", ts_type: SimpleType(None) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "abc", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@36..37 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..42 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 147 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@38..42 } (nest)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@36..37 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..47 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) console.log(somefield); [124-147]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@43..47 } (more)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..42 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) console.log(somefield) [124-146]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) console.log [124-135]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..53 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) console [124-131]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@48..53 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) log [132-135]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..47 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (somefield) [135-146]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) somefield [136-145]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more", "field"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..62 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@54..62 } (toString)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: toString (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..53 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: toString (Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@104..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..114 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..101 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@36..37 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..42 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "otherField"
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@38..42 } (nest)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: otherField (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@36..37 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..47 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@43..47 } (more)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..42 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "otherField", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..53 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@48..53 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..47 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more", "field"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..62 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@54..62 } (toString)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: toString (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..53 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "otherField", ts_type: SimpleType(None) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: toString (Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "otherField", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 155 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@36..37 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..42 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@38..42 } (nest)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@104..114 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..101 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@36..37 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..47 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@43..47 } (more)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [29-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (doThing(c)) [64-76]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [37-40]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (a) [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@82..98 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) a [41-42]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@93..98 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) b.callableField(); [49-67]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) b.callableField() [49-66]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) b.callableField [49-64]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@82..86 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) b [49-50]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@82..98 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) callableField [51-64]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@93..98 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) () [64-66]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 14..15
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..42 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@82..86 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@82..98 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..102 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@93..98 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@82..86 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@82..98 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@128..132 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@93..98 } (wowee)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@128..143 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@139..143 } (deep)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: deep (Some(DotExpr(DotExpr { syntax: DOT_EXPR@128..138 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@118..143 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@118..125 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "Props", ts_type: NestedType([]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "abc"
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 108 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: abc (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 108 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@128..132 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@128..143 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@139..143 } (deep)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: deep (Some(DotExpr(DotExpr { syntax: DOT_EXPR@128..138 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@118..143 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@118..125 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "abc"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: abc (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) // hello [0-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function first(action) { console.log(action.data); }
[INFO] [stderr]     function second(action) { console.log(action.data); }
[INFO] [stderr]     function third(action) { console.log(action.data); } [0-160]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "deep", ts_type: NestedType([TypeDefinition { name: "abc", ts_type: SimpleType(None) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function first(action) { console.log(action.data); } [1-53]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "deep", ts_type: NestedType([TypeDefinition { name: "abc", ts_type: SimpleType(None) }]) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) first [10-15]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }, TypeDefinition { name: "deep", ts_type: NestedType([TypeDefinition { name: "abc", ts_type: SimpleType(None) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (action) [15-23]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) action [16-22]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 152 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) action [16-22]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) { console.log(action.data); } [24-53]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@128..143 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(action.data); [26-51]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@118..125 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(action.data) [26-50]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [26-37]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [26-33]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [34-37]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "wowee", ts_type: SimpleType(Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (action.data) [37-50]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 108 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) action.data [38-49]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) action [38-44]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) data [45-49]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function second(action) { console.log(action.data); } [54-107]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) second [63-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function Welcome(args) {
[INFO] [stderr]         console.log(args.name);
[INFO] [stderr]         return undefined;
[INFO] [stderr]     } [0-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (action) [69-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) action [70-76]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) action [70-76]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function Welcome(args) {
[INFO] [stderr]         console.log(args.name);
[INFO] [stderr]         return undefined;
[INFO] [stderr]     } [1-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) { console.log(action.data); } [78-107]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) Welcome [10-17]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (args) [17-23]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) args [18-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(action.data); [80-105]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) args [18-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(action.data) [80-104]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [80-91]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [80-87]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(args.name);
[INFO] [stderr]         return undefined;
[INFO] [stderr]     } [24-77]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [88-91]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (action.data) [91-104]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(args.name); [30-53]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) action.data [92-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) action [92-98]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(args.name) [30-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) data [99-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [30-41]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [30-37]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [38-41]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function third(action) { console.log(action.data); } [108-160]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (args.name) [41-52]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) third [117-122]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) args.name [42-51]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (action) [122-130]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) args [42-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) name [47-51]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) action [123-129]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) action [123-129]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Return statement (RETURN_STMT) return undefined; [58-75]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name ref (NAME_REF) undefined [65-74]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) { console.log(action.data); } [131-160]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(action.data); [133-158]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@42..46 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@42..51 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(action.data) [133-157]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@47..51 } (name)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [133-144]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: name (Some(NameRef(NameRef { syntax: NAME_REF@42..46 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [133-140]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [141-144]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (action.data) [144-157]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "args", ts_type: NestedType([TypeDefinition { name: "name", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@42..46 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Dot expr (DOT_EXPR) action.data [145-156]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) action [145-151]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "args", ts_type: NestedType([TypeDefinition { name: "name", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@42..46 }))) }]) }) (args)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo(
[INFO] [stderr]         a,
[INFO] [stderr]         b,
[INFO] [stderr]         c) 
[INFO] [stderr]     {
[INFO] [stderr]         /* hello comments */
[INFO] [stderr]         console.log(test);
[INFO] [stderr]     } [0-88]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name (NAME) data [152-156]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "args", ts_type: NestedType([TypeDefinition { name: "name", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@42..46 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@42..46 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@42..46 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 77 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@18..22
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@18..22 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 18..22
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 18, end: 22 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@38..44 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(
[INFO] [stderr]         a,
[INFO] [stderr]         b,
[INFO] [stderr]         c) 
[INFO] [stderr]     {
[INFO] [stderr]         /* hello comments */
[INFO] [stderr]         console.log(test);
[INFO] [stderr]     } [1-88]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@38..49 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@45..49 } (data)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: data (Some(NameRef(NameRef { syntax: NAME_REF@38..44 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) doThing(c) [65-75]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..53 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Name ref (NAME_REF) doThing [65-72]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@38..44 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@48..53 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (c) [72-75]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@38..44 }))) }]) }) (action)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..47 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) c [73-74]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@38..44 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more", "field"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@38..44 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..62 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@38..44 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@54..62 } (toString)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 160 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..31 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@16..22
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function doThing(x) {
[INFO] [stderr]         return x;
[INFO] [stderr]     } [81-118]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@16..22 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 16..22
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@26..31 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 16, end: 22 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: toString (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..53 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@24..25 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: toString (Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) doThing [90-97]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (x) [97-100]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@36..37 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) x [98-99]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@92..98 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..42 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) x [98-99]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..103 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@38..42 } (nest)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@99..103 } (data)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) }]) }) (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@36..37 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: data (Some(NameRef(NameRef { syntax: NAME_REF@92..98 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         return x;
[INFO] [stderr]     } [101-118]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest"]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: a (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..47 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Return statement (RETURN_STMT) return x; [107-116]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@43..47 } (more)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name ref (NAME_REF) x [114-115]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["a"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..106 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..42 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@105..106 } (b)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(ObjectExpr(ObjectExpr { syntax: OBJECT_EXPR@34..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..53 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: b (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..104 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 48 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@15..16
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@48..53 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["a", "b"]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@15..16 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..47 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@107..108 } (c)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 15..16
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: c (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..106 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..30 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more", "field"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..62 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@54..62 } (toString)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: toString (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..53 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..41 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@128..138 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@14..15
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@118..125 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@36..41 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: toString (Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..35 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "nest", ts_type: NestedType([TypeDefinition { name: "more", ts_type: NestedType([TypeDefinition { name: "field", ts_type: NestedType([TypeDefinition { name: "toString", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))) }]) }]) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@24..25 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..30 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@49..50 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "nest", ts_type: NestedType([TypeDefinition { name: "more", ts_type: NestedType([TypeDefinition { name: "field", ts_type: NestedType([TypeDefinition { name: "toString", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))) }]) }]) }]) }]) }) (a)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@26..30 } (nest)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@49..64 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@24..25 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@51..64 } (callableField)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "nest", ts_type: NestedType([TypeDefinition { name: "more", ts_type: NestedType([TypeDefinition { name: "field", ts_type: NestedType([TypeDefinition { name: "toString", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))) }]) }]) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callableField (Some(NameRef(NameRef { syntax: NAME_REF@49..50 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..35 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@31..35 } (more)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callableField (Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..30 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["nest", "more"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..41 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 68 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@15..16
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@36..41 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@15..16 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "callableField", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..35 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..104 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "callableField", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 }))) }]) }) (b)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@103..104 } (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "callableField", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: a (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["a"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..106 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 118 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@105..106 } (b)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@17..18
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "nest", ts_type: NestedType([TypeDefinition { name: "more", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) }]) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: b (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..104 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) function foo(a: string[] = []) {} [0-33]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (
[INFO] [stderr]         a,
[INFO] [stderr]         b,
[INFO] [stderr]         c) [13-35]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [19-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [19-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a: string[] = []) {} [0-33]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) b [26-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [9-12]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) b [26-27]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) c [33-34]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) c [33-34]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         /* hello comments */
[INFO] [stderr]         console.log(test);
[INFO] [stderr]     } [37-88]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) /* hello comments */
[INFO] [stderr]         console.log(test); [43-86]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(test) [68-85]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [68-79]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [68-75]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 15, end: 16 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [76-79]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (test) [79-85]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) test [80-84]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@19..20
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@19..20 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 19..20
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 19, end: 20 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.field = "hello";
[INFO] [stderr]     } [0-69]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (b)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@26..27
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@26..27 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 26..27
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 27 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.field = "hello";
[INFO] [stderr]     } [1-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a, b, c) [13-22]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@33..34
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a: string[] = []) [12-30]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@33..34 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 33..34
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 33, end: 34 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Assign pattern (ASSIGN_PATTERN) a: string[] = [] [13-29]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [13-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Ts array (TS_ARRAY) string[] [16-24]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Ts string (TS_STRING) string [16-22]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Array expr (ARRAY_EXPR) [] [27-29]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.field = "hello";
[INFO] [stderr]     } [23-69]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {} [31-33]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(a); [29-44]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(a) [29-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [29-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [29-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [37-40]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 17..18
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (a) [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) a [41-42]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) b.field = "hello"; [49-67]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Assign expr (ASSIGN_EXPR) b.field = "hello" [49-66]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) b.field [49-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) b [49-50]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) field [51-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) "hello" [59-66]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@20..21
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 20..21
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 14..15
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "x", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (x)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@98..99
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@98..99 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 98..99
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 98, end: 99 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@49..50 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@49..56 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@51..56 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@49..50 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 }))) }]) }) (b)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) let test = null; [0-16]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) let test = undefined; [0-21]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@59..66 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) let test = null; [0-16]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["a", "b"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 69 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@17..18
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test = null [4-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@107..108 } (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 17..18
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: c (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..106 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Literal (LITERAL) null [11-15]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(Literal(Literal { syntax: LITERAL@11..15 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@4..8
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 4..8
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (c)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@20..21
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 20..21
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..104 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@103..104 } (a)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 15..16
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: a (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 15, end: 16 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["a"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..106 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@105..106 } (b)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: b (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..104 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Entering create_type_definition_structure()
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: ["a", "b"]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@107..108 } (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: c (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..106 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..108 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: nested type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "c", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }]) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) let test = 5; [0-13]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "c", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }]) }]) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) let test = 5; [0-13]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "c", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }]) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test = 5 [4-12]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 149 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Literal (LITERAL) 5 [11-12]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..108 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) let test, test2; [0-16]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(Literal(Literal { syntax: LITERAL@11..12 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) let test, test2; [0-16]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test2 [10-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) let test = undefined; [0-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test2 [10-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test2 [10-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test = undefined [4-20]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@4..8
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     fn foo() {
[INFO] [stderr]      try {
[INFO] [stderr]          // thing
[INFO] [stderr]      } catch (err) {
[INFO] [stderr]          // log
[INFO] [stderr]      }
[INFO] [stderr]     } [0-66]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name ref (NAME_REF) undefined [11-20]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]           Name (NAME) alias [89-94]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Expr statement (EXPR_STMT) fn [1-3]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(NameRef(NameRef { syntax: NAME_REF@11..20 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) let test; [0-9]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name ref (NAME_REF) fn [1-3]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) var test; [0-9]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@4..8
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) 
[INFO] [stderr]     function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.field = 5;
[INFO] [stderr]     } [0-63]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a: string[] = []", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stdout] test tests::add_types_params_usage_function_in_function ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 4..8
[INFO] [stdout] test tests::add_types_variable_initialized_ambiguous_null ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 4..8
[INFO] [stdout] test tests::add_types_params_usage_string ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 }
[INFO] [stdout] test tests::add_types_invokes_tostring ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 }
[INFO] [stdout] test tests::add_types_variable_initialized_variable_number_untouched ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@10..15 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@10..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@10..15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 10..15
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 10, end: 15 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Fn decl (FN_DECL) function foo(a, b, c) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.field = 5;
[INFO] [stderr]     } [1-63]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Name (NAME) foo [10-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) const test; [0-11]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@49..50 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Parameter list (PARAMETER_LIST) (a, b, c) [13-22]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) const test; [0-11]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@49..64 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test [6-10]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) a [14-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [6-10]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@51..64 } (callableField)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [6-10]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) b [17-18]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callableField (Some(NameRef(NameRef { syntax: NAME_REF@49..50 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@6..10 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) c [20-21]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@6..10
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: callableField (Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 })))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@6..10 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 6..10
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 6, end: 10 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "callableField", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Block statement (BLOCK_STMT) {
[INFO] [stderr]         console.log(a);
[INFO] [stderr]         b.field = 5;
[INFO] [stderr]     } [23-63]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a: string[] = [])
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "callableField", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 }))) }]) }) (b)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@13..14
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) console.log(a); [29-44]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: TS_ARRAY@16..24
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "callableField", ts_type: SimpleType(Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: ARRAY_EXPR@27..29
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Call expr (CALL_EXPR) console.log(a) [29-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) console.log [29-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) console [29-36]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) let test; [0-9]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) log [37-40]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Arg list (ARG_LIST) (a) [40-43]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) a [41-42]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Expr statement (EXPR_STMT) b.field = 5; [49-61]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@4..8
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "nest", ts_type: NestedType([TypeDefinition { name: "more", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) }]) }]) }]) }) (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Assign expr (ASSIGN_EXPR) b.field = 5 [49-60]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 4..8
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Dot expr (DOT_EXPR) b.field [49-56]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name ref (NAME_REF) b [49-50]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "a", ts_type: NestedType([TypeDefinition { name: "nest", ts_type: NestedType([TypeDefinition { name: "more", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) }]) }]) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Name (NAME) field [51-56]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 69 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Literal (LITERAL) 5 [59-60]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@17..18
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@44..45 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 17..18
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 52 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@15..16
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@15..16 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@92..98 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 15..16
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 15, end: 16 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@92..98 }))) }]) }) (action)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@92..98 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (c)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@92..98 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@20..21
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@92..98 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (a)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) this.props [99-109]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 160 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@70..76
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         This expr (THIS_EXPR) this [99-103]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 14..15
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@70..76 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 20..21
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) props [104-109]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Expr statement (EXPR_STMT) console.log(alias); [119-138]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]       Call expr (CALL_EXPR) console.log(alias) [119-137]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Dot expr (DOT_EXPR) console.log [119-130]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@49..50 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@49..56 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) console [119-126]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@51..56 } (field)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name (NAME) log [127-130]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@49..50 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] found callexpr, overriding
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]        Arg list (ARG_LIST) (alias) [130-137]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) var test; [0-9]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) let test = [1]; [0-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] Module (MODULE) let test = []; [0-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) let test = []; [0-14]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test = [] [4-13]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@4..8
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 4..8
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Array expr (ARRAY_EXPR) [] [11-13]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@11..13 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]         Name ref (NAME_REF) alias [131-136]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@4..8
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@11..13 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 4..8
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@99..103 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..109 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..96 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Object Pattern Element: "somefield: alias"
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: somefield (None)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 }))) }]) }) (b)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "b", ts_type: NestedType([TypeDefinition { name: "field", ts_type: SimpleType(Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@59..60 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 63 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@17..18
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 17..18
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) })
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: None
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 146 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@99..109 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..96 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: None (c)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@20..21
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 20..21
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Var decl (VAR_DECL) let test = [1]; [0-15]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Declarator (DECLARATOR) test = [1] [4-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Single pattern (SINGLE_PATTERN) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Name (NAME) test [4-8]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Array expr (ARRAY_EXPR) [1] [11-14]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Literal (LITERAL) 1 [12-13]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.value: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@11..14 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 70..76
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 70, end: 76 }
[INFO] [stdout] test tests::add_types_generate_props_destructured_nested ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@145..151 }
[INFO] [stdout] test tests::add_types_variable_initialized_ambiguous_undefined ... ok
[INFO] [stdout] test tests::add_types_variable_uninitialized_multi ... ok
[INFO] [stdout] test tests::add_types_variable_uninitialized_const ... ok
[INFO] [stdout] test tests::add_types_preexisting_type ... ok
[INFO] [stdout] test tests::add_types_variable_uninitialized_let ... ok
[INFO] [stdout] test tests::add_types_assigns_value_constant_number ... ok
[INFO] [stdout] test tests::add_types_params_usage_function ... ok
[INFO] [stdout] test tests::add_types_variable_uninitialized_var ... ok
[INFO] [stdout] test tests::add_types_variable_initialized_ambiguous_array ... ok
[INFO] [stdout] test tests::add_types_generate_props_destructured_alias ... ok
[INFO] [stdout] test tests::add_types_params_usage_number ... ok
[INFO] [stdout] test tests::add_types_variable_initialized_concrete_array ... ok
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Expr statement (EXPR_STMT) foo() [4-9]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Call expr (CALL_EXPR) foo() [4-9]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Name ref (NAME_REF) foo [4-7]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] path: []
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@145..156 }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@152..156 } (data)
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Arg list (ARG_LIST) () [7-9]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]  Block statement (BLOCK_STMT) {
[INFO] [stderr]      try {
[INFO] [stderr]          // thing
[INFO] [stderr]      } catch (err) {
[INFO] [stderr]          // log
[INFO] [stderr]      }
[INFO] [stderr]     } [10-66]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Creating typedef: data (Some(NameRef(NameRef { syntax: NAME_REF@145..151 })))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Adding field: simple type
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] Found top level name_ref
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@145..151 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@145..151 }))) }]) }) (action)
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "action", ts_type: NestedType([TypeDefinition { name: "data", ts_type: SimpleType(Some(NameRef(NameRef { syntax: NAME_REF@145..151 }))) }]) }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]   Try statement (TRY_STMT) try {
[INFO] [stderr]          // thing
[INFO] [stderr]      } catch (err) {
[INFO] [stderr]          // log
[INFO] [stderr]      } [13-64]
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@145..151 }))
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@145..151 }))
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 160 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@123..129
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@123..129 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 123..129
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 123, end: 129 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Block statement (BLOCK_STMT) {
[INFO] [stderr]          // thing
[INFO] [stderr]      } [17-35]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]    Catch clause (CATCH_CLAUSE) catch (err) {
[INFO] [stderr]          // log
[INFO] [stderr]      } [36-64]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Single pattern (SINGLE_PATTERN) err [43-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]      Name (NAME) err [43-46]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser]     Block statement (BLOCK_STMT) {
[INFO] [stderr]          // log
[INFO] [stderr]      } [48-64]
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] child: NAME@43..46
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@43..46 }
[INFO] [stderr] [2026-01-16T04:21:38Z TRACE type_rs::type_definition] expr: None
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::parser] FIXER insert: 43..46
[INFO] [stderr] [2026-01-16T04:21:38Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 43, end: 46 }
[INFO] [stdout] test tests::add_types_try_catch ... ok
[INFO] [stdout] test tests::add_types_param_name_collision ... ok
[INFO] [stdout] test tests::add_types_assigns_object ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::add_types_assigns_object stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::add_types_assigns_object' (32) panicked at tests/parser_tests.rs:14:9:
[INFO] [stdout] assertion failed: `(left == right)`
[INFO] [stdout] 
[INFO] [stdout] [1mDiff[0m [31m< left[0m / [32mright >[0m :
[INFO] [stdout]  
[INFO] [stdout]  interface A {
[INFO] [stdout] [31m<    field: any,[0m
[INFO] [stdout] [32m>    field: {[0m
[INFO] [stdout] [32m>        test: {[0m
[INFO] [stdout] [32m>            5: number,[0m
[INFO] [stdout] [32m>        },[0m
[INFO] [stdout] [32m>    },[0m
[INFO] [stdout]  }
[INFO] [stdout]  
[INFO] [stdout]  function test(a: A) {
[INFO] [stdout]      a.field = { test: 5 };
[INFO] [stdout]  }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63e4dd5ff052 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x63e4dd5ff052 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x63e4dd5ff052 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x63e4dd5ff052 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x63e4dd614a5a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x63e4dd614a5a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x63e4dd604216 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x63e4dd604216 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x63e4dd5dd4df - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x63e4dd5dd4df - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x63e4dd5f7389 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x63e4dd31b4de - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x63e4dd31b4de - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x63e4dd5f7542 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x63e4dd5f7542 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x63e4dd5dd598 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x63e4dd5d4f39 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x63e4dd5de3ed - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x63e4dd6151cc - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x63e4dd2eedee - parser_tests[d8556d3bc52b046e]::tests::compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/parser_tests.rs:14:9
[INFO] [stdout]   20:     0x63e4dd2eeece - parser_tests[d8556d3bc52b046e]::tests::add_types_assigns_object
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/parser_tests.rs:955:9
[INFO] [stdout]   21:     0x63e4dd2ed917 - parser_tests[d8556d3bc52b046e]::tests::add_types_assigns_object::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/parser_tests.rs:954:34
[INFO] [stdout]   22:     0x63e4dd2efff6 - <parser_tests[d8556d3bc52b046e]::tests::add_types_assigns_object::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x63e4dd30f88b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x63e4dd30f88b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x63e4dd31c0ea - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x63e4dd31c0ea - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x63e4dd31c0ea - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x63e4dd31c0ea - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x63e4dd31c0ea - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x63e4dd31c0ea - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x63e4dd31c0ea - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x63e4dd3165b4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x63e4dd3165b4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x63e4dd31ebe2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x63e4dd31ebe2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x63e4dd31ebe2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x63e4dd31ebe2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x63e4dd31ebe2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x63e4dd31ebe2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x63e4dd31ebe2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x63e4dd5fe8ff - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x63e4dd5fe8ff - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x778ae90c1aa4 - <unknown>
[INFO] [stdout]   44:     0x778ae914ea64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::add_types_assigns_object
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 66 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test parser_tests`
[INFO] running `Command { std: "docker" "inspect" "39cb9cc932c07234b8b24f25d880fcce1ef6cff81589659c7c3ddc42b37be044", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39cb9cc932c07234b8b24f25d880fcce1ef6cff81589659c7c3ddc42b37be044", kill_on_drop: false }`
[INFO] [stdout] 39cb9cc932c07234b8b24f25d880fcce1ef6cff81589659c7c3ddc42b37be044
