[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 nightly-2025-01-18 for randomize-layout-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVannevelj%2Ftype-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Vannevelj/type-rs on toolchain nightly-2025-01-18 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-tc1/source/Cargo.toml [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" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded thiserror-impl v1.0.30 [INFO] [stderr] Downloaded heck v0.3.3 [INFO] [stderr] Downloaded structopt-derive v0.4.18 [INFO] [stderr] Downloaded quote v1.0.15 [INFO] [stderr] Downloaded thiserror v1.0.30 [INFO] [stderr] Downloaded rslint_macros v0.1.0 [INFO] [stderr] Downloaded syn v1.0.89 [INFO] [stderr] Downloaded Inflector v0.11.4 [INFO] [stderr] Downloaded arrayvec v0.5.2 [INFO] [stderr] Downloaded ctor v0.1.22 [INFO] [stderr] Downloaded erased-serde v0.3.20 [INFO] [stderr] Downloaded typetag v0.1.8 [INFO] [stderr] Downloaded once_cell v1.10.0 [INFO] [stderr] Downloaded rslint_core v0.3.0 [INFO] [stderr] Downloaded rslint_lexer v0.2.0 [INFO] [stderr] Downloaded lexical v5.2.2 [INFO] [stderr] Downloaded rslint_rowan v0.10.0 [INFO] [stderr] Downloaded ghost v0.1.2 [INFO] [stderr] Downloaded inventory v0.2.2 [INFO] [stderr] Downloaded typetag-impl v0.1.8 [INFO] [stderr] Downloaded triomphe v0.1.5 [INFO] [stderr] Downloaded rslint_errors v0.2.0 [INFO] [stderr] Downloaded rslint_syntax v0.1.4 [INFO] [stderr] Downloaded erasable v1.2.1 [INFO] [stderr] Downloaded serde_derive v1.0.136 [INFO] [stderr] Downloaded smol_str v0.1.21 [INFO] [stderr] Downloaded text-size v1.1.0 [INFO] [stderr] Downloaded static_assertions v1.1.0 [INFO] [stderr] Downloaded hashbrown v0.9.1 [INFO] [stderr] Downloaded lexical-core v0.7.6 [INFO] [stderr] Downloaded rowan v0.10.6 [INFO] [stderr] Downloaded rslint_text_edit v0.1.0 [INFO] [stderr] Downloaded termcolor v1.1.3 [INFO] [stderr] Downloaded serde v1.0.136 [INFO] [stderr] Downloaded num-bigint v0.3.3 [INFO] [stderr] Downloaded colored v2.0.0 [INFO] [stderr] Downloaded stable_deref_trait v1.2.0 [INFO] [stderr] Downloaded rslint_parser v0.3.1 [INFO] [stderr] Downloaded rustc-hash v1.1.0 [INFO] [stderr] Downloaded libc v0.2.119 [INFO] [stderr] Downloaded slice-dst v1.5.1 [INFO] [stderr] Downloaded humantime v2.1.0 [INFO] [stderr] Downloaded regex v1.5.5 [INFO] [stderr] Downloaded env_logger v0.9.0 [INFO] [stderr] Downloaded diff v0.1.12 [INFO] [stderr] Downloaded output_vt100 v0.1.3 [INFO] [stderr] Downloaded pretty_assertions v1.2.1 [INFO] [stderr] Downloaded dyn-clone v1.0.5 [INFO] [stderr] Downloaded unindent v0.1.8 [INFO] [stderr] Downloaded indoc v1.0.4 [INFO] [stderr] Downloaded rslint_regex v0.3.0 [INFO] [stderr] Downloaded unicode-segmentation v1.9.0 [INFO] [stderr] Downloaded structopt v0.3.26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a97c419b2a598be9358e80f846cda42e72e7b742ef0b912d3ad9c0228420fddd [INFO] running `Command { std: "docker" "start" "-a" "a97c419b2a598be9358e80f846cda42e72e7b742ef0b912d3ad9c0228420fddd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a97c419b2a598be9358e80f846cda42e72e7b742ef0b912d3ad9c0228420fddd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a97c419b2a598be9358e80f846cda42e72e7b742ef0b912d3ad9c0228420fddd", kill_on_drop: false }` [INFO] [stdout] a97c419b2a598be9358e80f846cda42e72e7b742ef0b912d3ad9c0228420fddd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4609e99e5593828792c96f0aa7cc8f9a239b4893083fe51c696c831e24f7be19 [INFO] running `Command { std: "docker" "start" "-a" "4609e99e5593828792c96f0aa7cc8f9a239b4893083fe51c696c831e24f7be19", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling autocfg v1.1.0 [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 unicode-width v0.1.9 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling text-size v1.1.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling hashbrown v0.9.1 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling termcolor v1.1.3 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling erased-serde v0.3.20 [INFO] [stderr] Compiling ryu v1.0.9 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling rslint_syntax v0.1.4 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling unicode-segmentation v1.9.0 [INFO] [stderr] Compiling once_cell v1.10.0 [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 memoffset v0.6.5 [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 proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling num-bigint 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 heck v0.3.3 [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 lexical v5.2.2 [INFO] [stderr] Compiling regex v1.5.5 [INFO] [stderr] Compiling env_logger v0.9.0 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling ctor v0.1.22 [INFO] [stderr] Compiling ghost v0.1.2 [INFO] [stderr] Compiling typetag-impl v0.1.8 [INFO] [stderr] Compiling structopt-derive v0.4.18 [INFO] [stderr] Compiling rslint_macros v0.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [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 typetag v0.1.8 [INFO] [stderr] Compiling rslint_text_edit v0.1.0 [INFO] [stderr] Compiling rslint_errors v0.2.0 [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 40.02s [INFO] running `Command { std: "docker" "inspect" "4609e99e5593828792c96f0aa7cc8f9a239b4893083fe51c696c831e24f7be19", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4609e99e5593828792c96f0aa7cc8f9a239b4893083fe51c696c831e24f7be19", kill_on_drop: false }` [INFO] [stdout] 4609e99e5593828792c96f0aa7cc8f9a239b4893083fe51c696c831e24f7be19 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b001ddc5d9b105372cfb8fb0d7285ca30d3b06759e5d72e206e4e6fc11a55f58 [INFO] running `Command { std: "docker" "start" "-a" "b001ddc5d9b105372cfb8fb0d7285ca30d3b06759e5d72e206e4e6fc11a55f58", 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.46s [INFO] running `Command { std: "docker" "inspect" "b001ddc5d9b105372cfb8fb0d7285ca30d3b06759e5d72e206e4e6fc11a55f58", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b001ddc5d9b105372cfb8fb0d7285ca30d3b06759e5d72e206e4e6fc11a55f58", kill_on_drop: false }` [INFO] [stdout] b001ddc5d9b105372cfb8fb0d7285ca30d3b06759e5d72e206e4e6fc11a55f58 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 61dd0e3ab7c1f1e1e6b3ffc7ef1892627ac1f542c6263fa1ae13f73da5dee21f [INFO] running `Command { std: "docker" "start" "-a" "61dd0e3ab7c1f1e1e6b3ffc7ef1892627ac1f542c6263fa1ae13f73da5dee21f", 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/deps/type_rs-a56580bd1ba766a8) [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/deps/type_rs-6daed385ae9f30d6) [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/deps/parser_tests-80ee38f3b4c364e8) [INFO] [stdout] [INFO] [stdout] running 68 tests [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends React.Component { } [0-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends Component<{}> { } [0-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class decl (CLASS_DECL) class MyComponent extends Component<{}> { } [0-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [6-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [26-35] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Ts type args (TS_TYPE_ARGS) <{}> [35-39] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Ts object type (TS_OBJECT_TYPE) {} [36-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class body (CLASS_BODY) { } [40-43] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found props: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends Component { } [0-39] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class decl (CLASS_DECL) class MyComponent extends React.Component { } [0-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends React.PureComponent { } [0-49] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class decl (CLASS_DECL) class MyComponent extends Component { } [0-39] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [6-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) React.Component [26-41] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [6-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) React [26-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class decl (CLASS_DECL) class MyComponent extends React.PureComponent { } [0-49] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [26-35] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) Component [32-41] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [6-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class body (CLASS_BODY) { } [36-39] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class body (CLASS_BODY) { } [42-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) React.PureComponent [26-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) React [26-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) PureComponent [32-45] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class body (CLASS_BODY) { } [46-49] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found props: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 35 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found props: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 41 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found props: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 45 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends PureComponent { } [0-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class decl (CLASS_DECL) class MyComponent extends PureComponent { } [0-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [6-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) PureComponent [26-39] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class body (CLASS_BODY) { } [40-43] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found props: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 39 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) [INFO] [stderr] function test(a) { [INFO] [stderr] a.nest.more.field = 5; [INFO] [stderr] } [0-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function test(a) { [INFO] [stderr] a.nest.more.field = 5; [INFO] [stderr] } [1-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [10-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a) [14-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [15-16] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [15-16] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) class MyComponent extends OtherType { } [0-39] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class decl (CLASS_DECL) class MyComponent extends OtherType { } [0-39] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [6-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) OtherType [26-35] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class body (CLASS_BODY) { } [36-39] [INFO] [stdout] test tests::add_types_adds_component_props_pre_existing ... ok [INFO] [stdout] test tests::add_types_callback_arg ... ignored, rslint does not support parsing JSX [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) const mapStateToProps = (state, props) => { } [0-45] [INFO] [stdout] test tests::add_types_adds_component_props ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const mapStateToProps = (state, props) => { } [0-45] [INFO] [stdout] test tests::add_types_adds_component_props_namespace ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) [INFO] [stdout] test tests::add_types_adds_purecomponent_props_namespace ... ok [INFO] [stderr] class ColorPicker { [INFO] [stdout] test tests::add_types_adds_purecomponent_props ... ok [INFO] [stderr] componentDidUpdate(prevProps, prevState) { } [INFO] [stdout] test tests::add_types_different_class ... ok [INFO] [stderr] } [0-69] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) mapStateToProps = (state, props) => { } [6-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) mapStateToProps [6-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class decl (CLASS_DECL) class ColorPicker { [INFO] [stderr] componentDidUpdate(prevProps, prevState) { } [INFO] [stderr] } [1-69] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) mapStateToProps [6-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) ColorPicker [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arrow expr (ARROW_EXPR) (state, props) => { } [24-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Class body (CLASS_BODY) { [INFO] [stderr] componentDidUpdate(prevProps, prevState) { } [INFO] [stderr] } [19-69] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (state, props) [24-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) state [25-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) state [25-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Method (METHOD) componentDidUpdate(prevProps, prevState) { } [23-67] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) props [32-37] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) componentDidUpdate [23-41] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function getRole({ permissions, user }) { } [0-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [32-37] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = []) {} [0-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (prevProps, prevState) [41-63] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { } [42-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) prevProps [42-51] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function getRole({ permissions, user }) { } [0-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) prevProps [42-51] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.value: Some(ArrowExpr(ArrowExpr { syntax: ARROW_EXPR@24..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) getRole [9-16] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@6..21 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) prevState [53-62] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = []) {} [0-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) prevState [53-62] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) ({ permissions, user }) [16-39] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { } [64-67] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = []) [12-20] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { permissions, user } [17-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) permissions [19-30] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (state) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = [] [13-19] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) permissions [19-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@25..30 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "prevProps", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@25..30 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (prevProps) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 25..30 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) user [32-36] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 25, end: 30 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) user [32-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = ["s1"]) {} [0-27] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { } [40-43] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (props) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@32..37 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = ["s1", 1]) {} [0-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@32..37 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = ["s1"]) {} [0-27] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Array expr (ARRAY_EXPR) [] [17-19] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 32..37 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 32, end: 37 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = BigInt(9007199254740991)) {} [0-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [21-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = ["s1", 1]) {} [0-30] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "{ permissions, user }", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None ({ permissions, user }) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: SINGLE_PATTERN@19..30 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = BigInt(9007199254740991)) {} [0-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: SINGLE_PATTERN@32..36 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = ["s1", 1]) [12-27] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = []", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = []) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 17..38 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = BigInt(9007199254740991)) [12-42] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: ARRAY_EXPR@17..19 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 38 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..19 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = BigInt(9007199254740991) [13-41] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = [1, null]) {} [0-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) BigInt(9007199254740991) [17-41] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) BigInt [17-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (9007199254740991) [23-41] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = [1, null]) {} [0-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) 9007199254740991 [24-40] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [43-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = [1, null]) [12-27] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = [1, null] [13-26] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = BigInt(9007199254740991)", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = BigInt(9007199254740991)) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Array expr (ARRAY_EXPR) [1, null] [17-26] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: CALL_EXPR@17..41 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) 1 [18-19] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a) {} [0-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@17..41 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) null [21-25] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [28-30] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a) {} [0-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a) [12-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = [1, null]", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = [1, null]) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: ARRAY_EXPR@17..26 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [16-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..26 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@18..19 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@21..25 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@42..51 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@42..51 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 42..51 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 42, end: 51 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "prevState", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (prevState) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@53..62 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) [INFO] [stderr] function test(a) { [INFO] [stderr] a.field = { test: 5 }; [INFO] [stderr] } [0-48] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@53..62 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 53..62 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 53, end: 62 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = 9007199254740991n) {} [0-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = 9007199254740991n) {} [0-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) export default function foo(route) { } [0-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = 9007199254740991n) [12-35] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = 9007199254740991n [13-34] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Export default expr (EXPORT_DEFAULT_EXPR) export default function foo(route) { } [0-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) 9007199254740991n [17-34] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn expr (FN_EXPR) function foo(route) { } [15-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [36-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [24-27] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (route) [27-34] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) route [28-33] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = 9007199254740991n", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) route [28-33] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = 9007199254740991n) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function test(a) { [INFO] [stderr] a.field = { test: 5 }; [INFO] [stderr] } [1-48] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: LITERAL@17..34 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { } [35-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..34 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [10-14] [INFO] [stdout] test tests::add_types_const_arrow_function ... ok [INFO] [stdout] test tests::add_types_destructured_parameter ... ok [INFO] [stdout] test tests::add_types_function_default_value_array ... ok [INFO] [stdout] test tests::add_types_function_default_value_bigint_ctor ... ok [INFO] [stdout] test tests::add_types_function_default_value_array_mixed_null ... ok [INFO] [stdout] test tests::add_types_class_function ... ok [INFO] [stdout] test tests::add_types_export_default_function ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a) [14-17] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "route", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = ["s1"]) [12-24] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (route) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [15-16] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@28..33 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [15-16] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@28..33 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = ["s1"] [13-23] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 28..33 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 28, end: 33 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] a.field = { test: 5 }; [INFO] [stderr] } [18-48] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Array expr (ARRAY_EXPR) ["s1"] [17-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) "s1" [18-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [25-27] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) a.field = { test: 5 }; [24-46] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign expr (ASSIGN_EXPR) a.field = { test: 5 } [24-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.field [24-31] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = [\"s1\"]", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = ["s1"]) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) a [24-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: ARRAY_EXPR@17..23 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) field [26-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..23 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@18..22 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object expr (OBJECT_EXPR) { test: 5 } [34-45] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal prop (LITERAL_PROP) test: 5 [36-43] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [36-40] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) 5 [42-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = ["s1", 1] [13-26] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = /.*/) {} [0-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = true) {} [0-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Array expr (ARRAY_EXPR) ["s1", 1] [17-26] [INFO] [stdout] test tests::add_types_function_default_value_array_string ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = new Date()) {} [0-31] [INFO] [stdout] test tests::add_types_function_default_value_bigint_suffix ... ok [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stdout] test tests::add_types_function_default_value_array_mixed ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) "s1" [18-22] [INFO] [stdout] test tests::add_types_function_default_value_null ... ok [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = "hey") {} [0-26] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) 1 [24-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [28-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = true) {} [0-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = "hey") {} [0-26] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = new Date()) {} [0-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = true) [12-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = "hey") [12-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = true [13-21] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = [\"s1\", 1]", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = new Date()) [12-28] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = ["s1", 1]) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = "hey" [13-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) true [17-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: ARRAY_EXPR@17..26 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = new Date() [13-27] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) "hey" [17-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..26 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@18..22 })) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@24..25 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [24-26] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) [INFO] [stderr] const mapStateToProps = (state) => { [INFO] [stderr] const { player } = state; [INFO] [stderr] } [0-72] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const mapStateToProps = (state) => { [INFO] [stderr] const { player } = state; [INFO] [stderr] } [1-72] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = null) {} [0-25] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@13..14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = null) {} [0-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = /.*/) {} [0-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = null) [12-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = /.*/) [12-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = null [13-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = /.*/ [13-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) null [17-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) /.*/ [17-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [23-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [23-25] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = null", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = /.*/", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = null) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = /.*/) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: LITERAL@17..21 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: LITERAL@17..21 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..21 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..21 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [23-25] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = true", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = true) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = [1]) {} [0-24] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: LITERAL@17..21 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..21 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = [1]) {} [0-24] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = [1]) [12-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = [1] [13-20] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = {}) {} [0-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Array expr (ARRAY_EXPR) [1] [17-20] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] New expr (NEW_EXPR) new Date() [17-27] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Date [21-25] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [13-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) () [25-27] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = \"hey\"", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = "hey") [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [29-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] for (const key in {}) { [INFO] [stderr] [INFO] [stderr] } [INFO] [stderr] } [16-64] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] For in statement (FOR_IN_STMT) for (const key in {}) { [INFO] [stderr] [INFO] [stderr] } [32-62] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = new Date()", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = 5) {} [0-22] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = new Date()) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NEW_EXPR@17..27 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = 5) {} [0-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(NewExpr(NewExpr { syntax: NEW_EXPR@17..27 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = 5) [12-19] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = 5 [13-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) 1 [18-19] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [22-24] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = [1]", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = {}) {} [0-23] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = [1]) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: ARRAY_EXPR@17..20 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@17..20 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@18..19 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: LITERAL@17..22 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..22 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) mapStateToProps = (state) => { [INFO] [stderr] const { player } = state; [INFO] [stderr] } [7-72] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a = undefined) {} [0-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a = undefined) {} [0-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = undefined) [12-27] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = undefined [13-26] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) undefined [17-26] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [28-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo(a, b, c) {} [0-24] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = undefined", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = undefined) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a = {}) [12-20] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) mapStateToProps [7-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a, b, c) {} [0-24] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) mapStateToProps [7-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a = {} [13-19] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object expr (OBJECT_EXPR) {} [17-19] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [21-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a, b, c) [12-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) [INFO] [stderr] function foo(a) { [INFO] [stderr] a.sa.nestedlongname(); [INFO] [stderr] } [0-47] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME_REF@17..26 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [16-17] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = {}", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = {}) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) b [16-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: OBJECT_EXPR@17..19 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) c [19-20] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(ObjectExpr(ObjectExpr { syntax: OBJECT_EXPR@17..19 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) c [19-20] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@17..26 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arrow expr (ARROW_EXPR) (state) => { [INFO] [stderr] const { player } = state; [INFO] [stderr] } [25-72] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (state) [25-32] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) state [26-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) state [26-31] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@24..25 } [INFO] [stdout] test tests::add_types_function_default_value_regex ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [22-24] [INFO] [stdout] test tests::add_types_function_default_value_bool ... ok [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stdout] test tests::add_types_function_default_value_date ... ok [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..31 } [INFO] [stdout] test tests::add_types_function ... ok [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@26..31 } (field) [INFO] [stdout] test tests::add_types_function_default_value_string ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stdout] test tests::add_types_function_default_value_array_number ... ok [INFO] [stderr] const { player } = state; [INFO] [stdout] test tests::add_types_function_default_value_undefined ... ok [INFO] [stderr] } [36-72] [INFO] [stdout] test tests::add_types_function_multi_param ... ok [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stdout] test tests::add_types_for_in ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@24..25 }))) [INFO] [stdout] test tests::add_types_function_default_value_number ... ok [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stdout] test tests::add_types_function_object_params_nested_reduced ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@13..14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (b) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@16..17 [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@16..17 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 16..17 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 16, end: 17 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] For stmt init (FOR_STMT_INIT) const key [37-46] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const key [37-46] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(ObjectExpr(ObjectExpr { syntax: OBJECT_EXPR@34..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (c) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@19..20 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 48 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) key [43-46] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@19..20 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@15..16 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) key [43-46] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@15..16 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 19..20 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) key [43-46] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 19, end: 20 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 15..16 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 15, end: 16 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object expr (OBJECT_EXPR) {} [50-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] [INFO] [stderr] } [54-62] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) 5 [17-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [20-22] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a = 5", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a = 5) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: LITERAL@17..18 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@17..18 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a, b, c) [13-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [17-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) b [17-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) c [20-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) c [20-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a) { [INFO] [stderr] a.sa.nestedlongname(); [INFO] [stderr] } [1-47] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a) [13-16] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] a.sa.nestedlongname(); [INFO] [stderr] } [17-47] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) a.sa.nestedlongname(); [23-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) a.sa.nestedlongname() [23-44] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.sa.nestedlongname [23-42] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.sa [23-27] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) a [23-24] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) sa [25-27] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) nestedlongname [28-42] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) () [42-44] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@23..24 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@23..27 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@25..27 } (sa) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: sa (Some(NameRef(NameRef { syntax: NAME_REF@23..24 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["sa"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@23..42 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@28..42 } (nestedlongname) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: nestedlongname (Some(DotExpr(DotExpr { syntax: DOT_EXPR@23..27 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: nestedlongname (Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@23..24 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@23..27 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@25..27 } (sa) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: sa (Some(NameRef(NameRef { syntax: NAME_REF@23..24 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["sa"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@23..42 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@28..42 } (nestedlongname) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: nestedlongname (Some(DotExpr(DotExpr { syntax: DOT_EXPR@23..27 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: nestedlongname (Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@23..44 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 47 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@14..15 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 14..15 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Method (METHOD) test() { [INFO] [stderr] console.log(this.props.wowee); [INFO] [stderr] } [53-106] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(this.props.wowee); [INFO] [stderr] } [60-106] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(this.props.wowee); [70-100] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(this.props.wowee) [70-99] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const { player } = state; [42-67] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) { player } = state [48-66] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { player } [48-58] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) player [50-56] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) player [50-56] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) state [61-66] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.value: Some(ArrowExpr(ArrowExpr { syntax: ARROW_EXPR@25..72 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@7..22 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@48..66 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@48..58 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Object Pattern Element: "player" [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: player (None) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "player", ts_type: SimpleType(None) }]) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: Some(TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "player", ts_type: SimpleType(None) }]) }) (state) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "state", ts_type: NestedType([TypeDefinition { name: "player", ts_type: SimpleType(None) }]) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 72 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@26..31 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@26..31 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 26..31 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 31 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.value: Some(NameRef(NameRef { syntax: NAME_REF@61..66 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@48..58 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [70-81] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [70-77] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [78-81] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (this.props.wowee) [81-99] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 13..14 [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 13, end: 14 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.wowee [82-98] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [82-92] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(a); [29-44] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [82-86] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [87-92] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(a) [29-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) wowee [93-98] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [29-40] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [29-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [37-40] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (a) [40-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) a [41-42] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@82..86 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(b.field); [49-70] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@82..98 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@93..98 } (wowee) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(b.field) [49-69] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [49-60] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [49-56] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@82..86 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [57-60] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@82..98 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@93..98 } (wowee) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (b.field) [60-69] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) b.field [61-68] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) b [61-62] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) field [63-68] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@14..15 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 108 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 14..15 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@61..62 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@61..68 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@63..68 } (field) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@61..62 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@61..62 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 72 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@17..18 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 17..18 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (c) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@20..21 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 20..21 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const { somefield } = this.props; [70-103] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) { somefield } = this.props [76-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { somefield } [76-89] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [92-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [92-96] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [97-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(this.props.somefield.wowee) [112-151] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(this.props.somefield.wowee) [112-151] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [112-123] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [112-119] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [120-123] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (this.props.somefield.wowee) [123-151] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.somefield.wowee [124-150] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.somefield [124-144] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [124-134] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [124-128] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [129-134] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) somefield [135-144] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) wowee [145-150] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..102 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@124..128 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..144 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@135..144 } (somefield) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..134 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["somefield"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..150 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@145..150 } (wowee) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@124..128 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..144 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@135..144 } (somefield) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..134 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["somefield"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..150 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@145..150 } (wowee) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@124..128 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stdout] test tests::add_types_const_arrow_function_with_usage ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a, b, c) [13-22] [INFO] [stdout] test tests::add_types_function_default_value_object ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [17-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) b [17-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) c [20-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) c [20-21] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [stdout] test tests::add_types_generate_props_class_this_dot_props_single ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function Welcome(props) { [INFO] [stdout] test tests::add_types_function_object_params_with_usage ... ok [INFO] [stderr] console.log(props.name); [INFO] [stdout] test tests::add_types_generate_props_functional_component ... ok [INFO] [stderr] return undefined; [INFO] [stderr] } [1-79] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) Welcome [10-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (props) [17-24] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) props [18-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [18-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(props.name); [INFO] [stderr] return undefined; [INFO] [stderr] } [25-79] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(props.name); [31-55] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(props.name) [31-54] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [31-42] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [31-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [39-42] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (props.name) [42-54] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) props.name [43-53] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) props [43-48] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) name [49-53] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Return statement (RETURN_STMT) return undefined; [60-77] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) undefined [67-76] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@43..48 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@43..53 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@49..53 } (name) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: name (Some(NameRef(NameRef { syntax: NAME_REF@43..48 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@43..48 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@43..48 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 79 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@18..23 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@18..23 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 18..23 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 18, end: 23 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [10-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a) [14-17] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [15-16] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [15-16] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(a.nest.more.field.toString()); [INFO] [stderr] } [18-68] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(a.nest.more.field.toString()); [24-66] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(a.nest.more.field.toString()) [24-65] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [24-35] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [24-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [32-35] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] a.nest.more.field = 5; [INFO] [stderr] } [18-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (a.nest.more.field.toString()) [35-65] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) a.nest.more.field = 5; [24-46] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) a.nest.more.field.toString() [36-64] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign expr (ASSIGN_EXPR) a.nest.more.field = 5 [24-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.nest.more.field [24-41] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.nest.more.field.toString [36-62] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.nest.more [24-35] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.nest [24-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.nest.more.field [36-53] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) a [24-25] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) nest [26-30] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.nest.more [36-47] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) more [31-35] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) field [36-41] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) a.nest [36-42] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) 5 [44-45] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) a [36-37] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) nest [38-42] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..144 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@24..25 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..30 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@26..30 } (nest) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@24..25 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..35 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@31..35 } (more) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..30 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest", "more"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..41 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@36..41 } (field) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..35 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@24..25 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..30 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@26..30 } (nest) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@24..25 }))) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest"] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..35 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Module (MODULE) function foo() { sources.filter((v, k) => true; } [0-49] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@135..144 } (somefield) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..134 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["somefield"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@124..150 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@145..150 } (wowee) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@124..144 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 159 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 })) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stdout] test tests::add_types_generate_props_destructured_combined ... ok [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) more [43-47] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) field [48-53] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) toString [54-62] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) () [62-64] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Method (METHOD) test() { [INFO] [stderr] console.log(this.state.wowee); [INFO] [stderr] } [53-106] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@36..37 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..42 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(this.state.wowee); [INFO] [stderr] } [60-106] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@38..42 } (nest) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@36..37 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(this.state.wowee); [70-100] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest"] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const { somefield } = this.props.a.b.c; [70-109] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..47 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@43..47 } (more) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..42 }))) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(this.state.wowee) [70-99] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest", "more"] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [70-81] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..53 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [70-77] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@48..53 } (field) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [78-81] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..47 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest", "more", "field"] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (this.state.wowee) [81-99] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..62 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) { somefield } = this.props.a.b.c [76-108] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@54..62 } (toString) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.state.wowee [82-98] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: toString (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..53 }))) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.state [82-92] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: toString (Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [82-86] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { somefield } [76-89] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) state [87-92] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const { somefield } = this.props; [70-103] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) wowee [93-98] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function first(action) { console.log(action.data); } [1-53] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) { somefield } = this.props [76-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.a.b.c [92-108] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) first [10-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { somefield } [76-89] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (action) [15-23] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.a.b [92-106] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) action [16-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) action [16-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.a [92-104] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [92-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [92-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [92-96] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [92-96] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [97-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [97-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { console.log(action.data); } [24-53] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [103-104] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@82..86 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) b [105-106] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@82..98 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const { abc } = this.props.deep; [112-144] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) c [107-108] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(action.data); [26-51] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@93..98 } (wowee) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(somefield); [118-141] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(action.data) [26-50] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(somefield) [118-140] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [26-37] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@82..86 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [26-33] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [118-129] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@82..98 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [34-37] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [118-125] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@93..98 } (wowee) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [126-129] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (action.data) [37-50] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 }))) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (somefield) [129-140] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) somefield [130-139] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) action.data [38-49] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) action [38-44] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) data [45-49] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..104 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function second(action) { console.log(action.data); } [54-107] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@103..104 } (a) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@31..35 } (more) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..30 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest", "more"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..41 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@36..41 } (field) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..35 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@24..25 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..30 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@26..30 } (nest) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@24..25 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..35 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@31..35 } (more) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..30 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["nest", "more"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@24..41 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@36..41 } (field) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@24..35 }))) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Method (METHOD) test() { [INFO] [stderr] const { somefield } = this.props; [INFO] [stderr] console.log(somefield); [INFO] [stderr] } [53-141] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@24..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@44..45 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const { somefield } = this.props; [70-103] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 52 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@15..16 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@15..16 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) { somefield } = this.props [76-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 15..16 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 15, end: 16 } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { somefield } [76-89] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const { somefield, otherField } = this.props; [70-115] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [92-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [92-96] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [97-102] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) { somefield, otherField } = this.props [76-114] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(somefield); [112-135] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { somefield, otherField } [76-101] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(somefield) [112-134] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [112-123] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [112-119] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Constructor (CONSTRUCTOR) constructor() { [INFO] [stderr] this.state = {}; [INFO] [stderr] } [43-89] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(a); [INFO] [stderr] console.log(b.field); [INFO] [stdout] test tests::add_types_assigns_value_constant_number ... ok [INFO] [stderr] console.log(b.otherfield); [INFO] [stderr] } [23-103] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) constructor [43-54] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [54-56] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(a); [29-44] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(a) [29-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] this.state = {}; [INFO] [stderr] } [57-89] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [29-40] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) this.state = {}; [67-83] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Assign expr (ASSIGN_EXPR) this.state = {} [67-82] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.state [67-77] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [67-71] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) state [72-77] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object expr (OBJECT_EXPR) {} [80-82] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [95-103] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [104-108] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [108-110] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [120-123] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (somefield) [123-134] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) somefield [124-133] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(this.props.wowee); [121-151] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(this.props.wowee) [121-150] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [121-132] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [29-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [121-128] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [129-132] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [37-40] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (this.props.wowee) [132-150] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (a) [40-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) a [41-42] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.wowee [133-149] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [133-143] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [133-137] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [138-143] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) wowee [144-149] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) this.props.callback(); [160-182] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) this.props.callback() [160-181] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.callback [160-179] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [160-170] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [160-164] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [165-170] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) callback [171-179] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) () [179-181] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [13-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) this.props.callback(); [191-213] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(b.field); [49-70] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(b.field) [49-69] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [49-60] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [49-56] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [57-60] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (b.field) [60-69] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) b.field [61-68] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) b [61-62] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) field [63-68] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(b.otherfield); [75-101] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo() { sources.filter((v, k) => true; } [0-49] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [12-14] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { sources.filter((v, k) => true; } [15-49] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) sources.filter((v, k) => true; [17-47] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) sources.filter((v, k) => true [17-46] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(b.otherfield) [75-100] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) MyComponent [7-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) Component [27-36] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [75-86] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [75-82] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) function [44-52] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [83-86] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Var decl (VAR_DECL) const { somefield: alias } = this.props; [70-110] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (b.otherfield) [86-100] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) { somefield: alias } = this.props [76-109] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { somefield: alias } [76-96] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Key value pattern (KEY_VALUE_PATTERN) somefield: alias [78-94] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) alias [89-94] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) alias [89-94] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [99-109] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] This expr (THIS_EXPR) this [99-103] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) props [104-109] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a, b, c) [13-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(alias); [119-138] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(alias) [119-137] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [119-130] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) console [119-126] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) log [127-130] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) (alias) [130-137] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) alias [131-136] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) b.otherfield [87-99] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) b [87-88] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) otherfield [89-99] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: a (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["a"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..106 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@105..106 } (b) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: b (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..104 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["a", "b"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..108 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@107..108 } (c) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: c (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..106 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..108 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..104 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@103..104 } (a) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: a (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["a"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..106 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@105..106 } (b) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: b (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..104 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["a", "b"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..108 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@107..108 } (c) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: c (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..106 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..108 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..104 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@103..104 } (a) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: a (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["a"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..106 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@105..106 } (b) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: b (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..104 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["a", "b"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..108 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@107..108 } (c) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: c (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..106 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..108 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..104 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@103..104 } (a) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: a (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["a"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..106 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@105..106 } (b) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: b (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..104 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: ["a", "b"] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..108 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@107..108 } (c) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: c (Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..106 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..108 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 149 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@14..15 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 14..15 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@61..62 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@61..68 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@63..68 } (field) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@61..62 }))) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) sources.filter [17-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name ref (NAME_REF) sources [17-24] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) filter [25-31] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arg list (ARG_LIST) ((v, k) => true [31-46] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Arrow expr (ARROW_EXPR) (v, k) => true [32-46] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (v, k) [32-38] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) v [33-34] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) v [33-34] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) k [36-37] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) k [36-37] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Literal (LITERAL) true [42-46] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "v", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (v) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@33..34 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@33..34 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 33..34 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 33, end: 34 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "k", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found param_usages: None (k) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] child: NAME@36..37 [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@36..37 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] FIXER insert: 36..37 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 36, end: 37 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..102 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 143 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 })) [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 })) [INFO] [stdout] test tests::add_types_lambda ... ok [INFO] [stdout] test tests::add_types_generate_props_destructured ... ok [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a, b, c) [13-22] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [14-15] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [17-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) b [17-18] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) c [20-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) c [20-21] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(a); [INFO] [stderr] b.field = "hello"; [INFO] [stderr] } [23-69] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(a); [29-44] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(a) [29-43] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [29-40] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [29-36] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [37-40] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (a) [40-43] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) a [41-42] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) b.field = "hello"; [49-67] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Assign expr (ASSIGN_EXPR) b.field = "hello" [49-66] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) b.field [49-56] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) b [49-50] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) field [51-56] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal (LITERAL) "hello" [59-66] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@14..15 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 14..15 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@49..50 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@49..56 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@51..56 } (field) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@49..50 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..66 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@59..66 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 69 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@17..18 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 17..18 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (c) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@20..21 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 20..21 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) otherField [89-99] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) otherField [89-99] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [104-114] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] This expr (THIS_EXPR) this [104-108] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) props [109-114] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(somefield); [124-147] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(somefield) [124-146] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [124-135] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [124-131] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [132-135] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (somefield) [135-146] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) somefield [136-145] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@104..108 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..114 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..101 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Object Pattern Element: "otherField" [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: otherField (None) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 155 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@104..114 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..101 })) [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Call expr (CALL_EXPR) this.props.callback() [191-212] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.callback [191-210] [INFO] [stdout] test tests::add_types_params_usage_string ... ok [INFO] [stdout] test tests::add_types_generate_props_destructured_multiple ... ok [INFO] [stdout] test tests::add_types_preserves_comments ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [191-201] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] This expr (THIS_EXPR) this [191-195] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) props [196-201] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) callback [202-210] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) () [210-212] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) this.state.testNumber = 5; [222-248] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Assign expr (ASSIGN_EXPR) this.state.testNumber = 5 [222-247] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.state.testNumber [222-243] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.state [222-232] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] This expr (THIS_EXPR) this [222-226] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) state [227-232] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) testNumber [233-243] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal (LITERAL) 5 [246-247] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) render [260-266] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [266-268] [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@36..37 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..42 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] If statement (IF_STMT) if (this.props.otherone === 5) { [INFO] [stderr] return null; [INFO] [stderr] } [279-346] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@38..42 } (nest) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@36..37 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Condition (CONDITION) (this.props.otherone === 5) [282-309] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest"] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..47 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@43..47 } (more) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Bin expr (BIN_EXPR) this.props.otherone === 5 [283-308] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..42 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest", "more"] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.otherone [283-302] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..53 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@48..53 } (field) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [283-293] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) // hello [0-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] This expr (THIS_EXPR) this [283-287] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..47 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) props [288-293] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest", "more", "field"] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..62 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) otherone [294-302] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@54..62 } (toString) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal (LITERAL) 5 [307-308] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: toString (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..53 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] return null; [INFO] [stderr] } [310-346] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: toString (Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Return statement (RETURN_STMT) return null; [324-336] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal (LITERAL) null [331-335] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@36..37 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..42 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@38..42 } (nest) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@36..37 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest"] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..47 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@43..47 } (more) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..42 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest", "more"] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..53 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@48..53 } (field) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@133..137 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..47 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@133..149 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest", "more", "field"] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@144..149 } (wowee) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..62 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@54..62 } (toString) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: toString (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..53 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@133..137 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@133..149 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: toString (Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@144..149 } (wowee) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: wowee (Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@36..37 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..42 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@160..164 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@38..42 } (nest) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@160..179 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@171..179 } (callback) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callback (Some(DotExpr(DotExpr { syntax: DOT_EXPR@160..170 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callback (Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@160..164 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@160..179 } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@171..179 } (callback) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callback (Some(DotExpr(DotExpr { syntax: DOT_EXPR@160..170 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callback (Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@191..195 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) Welcome [10-17] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@191..210 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (args) [17-23] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@202..210 } (callback) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) args [18-22] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callback (Some(DotExpr(DotExpr { syntax: DOT_EXPR@191..201 }))) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) args [18-22] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callback (Some(CallExpr(CallExpr { syntax: CALL_EXPR@191..212 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@191..195 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@191..210 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(args.name); [INFO] [stderr] return undefined; [INFO] [stderr] } [24-77] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@202..210 } (callback) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callback (Some(DotExpr(DotExpr { syntax: DOT_EXPR@191..201 }))) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(args.name); [30-53] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callback (Some(CallExpr(CallExpr { syntax: CALL_EXPR@191..212 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(args.name) [30-52] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [30-41] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [30-37] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@283..287 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [38-41] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@283..302 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@294..302 } (otherone) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (args.name) [41-52] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: otherone (Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 }))) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) args.name [42-51] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) args [42-46] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) name [47-51] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@283..287 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@283..302 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Return statement (RETURN_STMT) return undefined; [58-75] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@294..302 } (otherone) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) undefined [65-74] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: otherone (Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@42..46 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@42..51 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@47..51 } (name) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@67..71 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: name (Some(NameRef(NameRef { syntax: NAME_REF@42..46 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Declarator (DECLARATOR) { abc } = this.props.deep [118-143] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { abc } [118-125] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) abc [120-123] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) abc [120-123] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@42..46 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@42..46 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props.deep [128-143] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 77 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [53-57] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@18..22 [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) () [57-59] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) second [63-69] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (action) [69-77] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) action [70-76] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) action [70-76] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { console.log(action.data); } [78-107] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) const { somefield } = this.props; [70-103] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(action.data); [80-105] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) { somefield } = this.props [76-102] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { somefield } [76-89] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(action.data) [80-104] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [80-91] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) somefield [78-87] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [80-87] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [92-102] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [88-91] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] This expr (THIS_EXPR) this [92-96] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) props [97-102] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (action.data) [91-104] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) action.data [92-103] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) action [92-98] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) const { abc } = this.props; [112-139] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) data [99-103] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) { abc } = this.props [118-138] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Object pattern (OBJECT_PATTERN) { abc } [118-125] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Fn decl (FN_DECL) function third(action) { console.log(action.data); } [108-160] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) abc [120-123] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) third [117-122] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) abc [120-123] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (action) [122-130] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [128-138] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) action [123-129] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] This expr (THIS_EXPR) this [128-132] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) action [123-129] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) props [133-138] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { console.log(action.data); } [131-160] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..102 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(action.data); [133-158] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(action.data) [133-157] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@128..132 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [133-144] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@118..138 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@118..125 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [133-140] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Object Pattern Element: "abc" [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [141-144] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: abc (None) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (action.data) [144-157] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) action.data [145-156] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) action [145-151] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) data [152-156] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 147 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 })) [INFO] [stdout] test tests::add_types_generate_props_destructured_multi ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@128..138 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@118..125 })) [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) ( [INFO] [stderr] a, [INFO] [stderr] b, [INFO] [stderr] c) [13-35] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [19-20] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) a [19-20] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found props: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [26-27] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) b [26-27] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "Props", ts_type: NestedType([]) } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) c [33-34] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 108 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) c [33-34] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@82..92 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 108 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] /* hello comments */ [INFO] [stderr] console.log(test); [INFO] [stderr] } [37-88] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) this.props [128-138] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@87..88 } [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..108 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] This expr (THIS_EXPR) this [128-132] [INFO] [stderr] [2025-01-21T05:16:23Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@99..103 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) props [133-138] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..109 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) function foo(a: string[] = []) {} [0-33] [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Name (NAME) a [14-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: nest (Some(NameRef(NameRef { syntax: NAME_REF@36..37 }))) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [17-18] [INFO] [stdout] test tests::add_types_generate_props_destructured_nested ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stdout] test tests::add_types_generate_state ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) b [17-18] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest"] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) /* hello comments */ [INFO] [stderr] console.log(test); [43-86] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..47 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) c [20-21] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@43..47 } (more) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) c [20-21] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(test) [68-85] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: more (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..42 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@222..226 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [68-79] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest", "more"] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [68-75] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@222..243 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..53 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [76-79] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@48..53 } (field) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@233..243 } (testNumber) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a, b, c) [13-22] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (test) [79-85] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: field (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..47 }))) [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: testNumber (Some(DotExpr(DotExpr { syntax: DOT_EXPR@222..232 }))) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) test [80-84] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Entering create_type_definition_structure() [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: testNumber (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(a); [29-44] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@222..226 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(a) [29-43] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@222..243 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@233..243 } (testNumber) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [29-40] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [29-36] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: testNumber (Some(DotExpr(DotExpr { syntax: DOT_EXPR@222..232 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [37-40] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@19..20 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@19..20 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: testNumber (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 }))) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (a) [40-43] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) a [41-42] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 19..20 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 19, end: 20 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@87..99 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) b.callableField(doThing(c)); [49-77] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@89..99 } (otherfield) [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: otherfield (Some(NameRef(NameRef { syntax: NAME_REF@87..88 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) b.callableField(doThing(c)) [49-76] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (b) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) b.callableField [49-64] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@26..27 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) b [49-50] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@26..27 } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) callableField [51-64] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@18..22 } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 18..22 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (doThing(c)) [64-76] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) doThing(c) [65-75] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) doThing [65-72] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (c) [72-75] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@160..181 })) [INFO] [stderr] [2025-01-21T05:16:23Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..96 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Object Pattern Element: "somefield: alias" [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) c [73-74] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 18, end: 22 } [INFO] [stdout] test tests::add_types_regular_function ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) let test = []; [0-14] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Fn decl (FN_DECL) function doThing(x) { [INFO] [stderr] return x; [INFO] [stderr] } [81-118] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) let test = []; [0-14] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test = [] [4-13] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) doThing [90-97] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (x) [97-100] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) x [98-99] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) x [98-99] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] return x; [INFO] [stderr] } [101-118] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Return statement (RETURN_STMT) return x; [107-116] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) x [114-115] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@14..15 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 14..15 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@49..50 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@49..64 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@51..64 } (callableField) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callableField (Some(NameRef(NameRef { syntax: NAME_REF@49..50 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callableField (Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..76 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 118 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@17..18 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 17..18 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (c) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@20..21 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 20..21 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "x", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (x) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@98..99 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@98..99 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 98..99 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 98, end: 99 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Fn decl (FN_DECL) function foo(a: string[] = []) {} [0-33] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) foo [9-12] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a: string[] = []) [12-30] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Assign pattern (ASSIGN_PATTERN) a: string[] = [] [13-29] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) a [13-14] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Ts array (TS_ARRAY) string[] [16-24] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Ts string (TS_STRING) string [16-22] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Array expr (ARRAY_EXPR) [] [27-29] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [31-33] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a: string[] = []", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (a: string[] = []) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@13..14 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: TS_ARRAY@16..24 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: ARRAY_EXPR@27..29 [INFO] [stdout] test tests::add_types_params_usage_function_in_function ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) foo [10-13] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a, b, c) [13-22] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [14-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) a [14-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [17-18] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) b [17-18] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) c [20-21] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) c [20-21] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(a); [INFO] [stderr] b.callableField(); [INFO] [stderr] } [23-69] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(a); [29-44] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(a) [29-43] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [29-40] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [29-36] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [37-40] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (a) [40-43] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) a [41-42] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) b.callableField(); [49-67] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) b.callableField() [49-66] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) b.callableField [49-64] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) b [49-50] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) callableField [51-64] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) () [64-66] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@14..15 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 14..15 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) let test = undefined; [0-21] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) let test = undefined; [0-21] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@49..50 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test = undefined [4-20] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@49..64 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@51..64 } (callableField) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) undefined [11-20] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callableField (Some(NameRef(NameRef { syntax: NAME_REF@49..50 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(NameRef(NameRef { syntax: NAME_REF@11..20 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: callableField (Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [14-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) a [14-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [17-18] [INFO] [stdout] test tests::add_types_preexisting_type ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@4..8 [INFO] [stdout] test tests::add_types_variable_initialized_ambiguous_undefined ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 } [INFO] [stdout] test tests::add_types_invokes_tostring ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stdout] test tests::add_types_generate_props_destructured_alias ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 4..8 [INFO] [stdout] test tests::add_types_variable_initialized_concrete_array ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 } [INFO] [stdout] test tests::add_types_function_object_params_with_usage_multi ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: ["nest", "more", "field"] [INFO] [stdout] test tests::add_types_generate_props_class_this_dot_props_multi ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@36..62 } [INFO] [stdout] test tests::add_types_respects_whitespace ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@54..62 } (toString) [INFO] [stdout] test tests::add_types_params_usage_function ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: toString (Some(DotExpr(DotExpr { syntax: DOT_EXPR@36..53 }))) [INFO] [stdout] test tests::add_types_variable_initialized_ambiguous_array ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stdout] test tests::add_types_functions_as_object_keys ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: toString (Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 }))) [INFO] [stdout] test tests::add_types_param_name_collision ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stdout] test tests::add_types_params_usage_number ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stdout] test tests::add_types_generate_props_destructured_multi_nested ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stdout] test tests::add_types_variable_initialized_ambiguous_null ... ok [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stdout] test tests::add_types_variable_uninitialized_const ... ok [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stdout] test tests::add_types_variable_initialized_variable_number_untouched ... ok [INFO] [stderr] [2025-01-21T05:16:24Z 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] [stdout] test tests::add_types_try_catch ... ok [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@36..64 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 68 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@15..16 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@15..16 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 15..16 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 15, end: 16 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found props: Some(TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) }) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Type definition: TypeDefinition { name: "props", ts_type: NestedType([TypeDefinition { name: "somefield", ts_type: SimpleType(None) }]) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 146 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@99..109 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..96 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@61..62 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@61..62 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@87..88 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@87..88 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 103 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@17..18 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) let test = [1]; [0-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 17..18 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) let test = [1]; [0-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test = [1] [4-14] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Array expr (ARRAY_EXPR) [1] [11-14] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal (LITERAL) 1 [12-13] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@11..14 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (c) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@20..21 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 20..21 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@38..44 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) b [17-18] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@38..49 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) c [20-21] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) c [20-21] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] console.log(a); [INFO] [stderr] b.field = 5; [INFO] [stderr] } [23-63] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) console.log(a); [29-44] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@283..293 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(DotExpr(DotExpr { syntax: DOT_EXPR@133..143 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 354 } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@222..247 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@246..247 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 354 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 26..27 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 26, end: 27 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (c) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@33..34 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@33..34 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 33..34 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 33, end: 34 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) console.log(a) [29-43] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) console.log [29-40] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) console [29-36] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) log [37-40] [INFO] [stdout] test tests::add_types_variable_uninitialized_var ... ok [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) (a) [40-43] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) a [41-42] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(CallExpr(CallExpr { syntax: CALL_EXPR@49..66 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) b.field = 5; [49-61] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 69 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Assign expr (ASSIGN_EXPR) b.field = 5 [49-60] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@17..18 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Dot expr (DOT_EXPR) b.field [49-56] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 17..18 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) b [49-50] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) field [51-56] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal (LITERAL) 5 [59-60] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (c) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@20..21 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 20..21 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@14..15 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@14..15 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 14..15 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 14, end: 15 } [INFO] [stderr] [2025-01-21T05:16:23Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] return { [INFO] [stderr] bar: (a, b) => {}, [INFO] [stderr] }; [INFO] [stderr] } [16-58] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@49..50 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Array expr (ARRAY_EXPR) [] [11-13] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Return statement (RETURN_STMT) return { [INFO] [stderr] bar: (a, b) => {}, [INFO] [stderr] }; [20-56] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@11..13 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@4..8 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(ArrayExpr(ArrayExpr { syntax: ARRAY_EXPR@11..13 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 4..8 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Object expr (OBJECT_EXPR) { [INFO] [stderr] bar: (a, b) => {}, [INFO] [stderr] } [27-55] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal prop (LITERAL_PROP) bar: (a, b) => {} [33-50] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) bar [33-36] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@45..49 } (data) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: data (Some(NameRef(NameRef { syntax: NAME_REF@38..44 }))) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arrow expr (ARROW_EXPR) (a, b) => {} [38-50] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Parameter list (PARAMETER_LIST) (a, b) [38-44] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) a [39-40] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) a [39-40] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) b [42-43] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) b [42-43] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) {} [48-50] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@38..44 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@38..44 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Empty statement (EMPTY_STMT) ; [58-59] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 160 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@16..22 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@16..22 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 16..22 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 16, end: 22 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "a", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (a) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@39..40 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@39..40 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 39..40 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 39, end: 40 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@92..98 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "b", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@92..103 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (b) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@99..103 } (data) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@42..43 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@42..43 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: data (Some(NameRef(NameRef { syntax: NAME_REF@92..98 }))) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 42..43 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 42, end: 43 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@92..98 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@92..98 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 160 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@70..76 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@70..76 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 70..76 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 70, end: 76 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] name_ref! Found NameRef { syntax: NAME_REF@145..151 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@145..156 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@152..156 } (data) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: data (Some(NameRef(NameRef { syntax: NAME_REF@145..151 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(NameRef(NameRef { syntax: NAME_REF@145..151 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(NameRef(NameRef { syntax: NAME_REF@145..151 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 160 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@123..129 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@123..129 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 123..129 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 123, end: 129 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) deep [139-143] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@49..56 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@51..56 } (field) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: field (Some(NameRef(NameRef { syntax: NAME_REF@49..50 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] found callexpr, overriding [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: field (Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Found top level name_ref [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@92..96 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@76..102 } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@76..89 } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Object Pattern Element: "somefield" [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: somefield (None) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] surrounding expression: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(AssignExpr(AssignExpr { syntax: ASSIGN_EXPR@49..60 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: Some(Literal(Literal { syntax: LITERAL@59..60 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@128..132 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@128..143 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 63 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@17..18 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@139..143 } (deep) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@17..18 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: deep (Some(DotExpr(DotExpr { syntax: DOT_EXPR@128..138 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 17..18 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@118..143 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 17, end: 18 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@118..125 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Object Pattern Element: "abc" [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: abc (None) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] this_expr! Found ThisExpr { syntax: THIS_EXPR@128..132 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "c", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] path: [] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] Found param_usages: None (c) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] current_dot_expr: DotExpr { syntax: DOT_EXPR@128..143 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@20..21 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@20..21 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found nested name: Name { syntax: NAME@139..143 } (deep) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 20..21 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 20, end: 21 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: deep (Some(DotExpr(DotExpr { syntax: DOT_EXPR@128..138 }))) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found declarator: Declarator { syntax: DECLARATOR@118..143 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Found object_pattern: ObjectPattern { syntax: OBJECT_PATTERN@118..125 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Object Pattern Element: "abc" [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] Creating typedef: abc (None) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: simple type [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Adding field: nested type [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Resulting root type: TypeDefinition { name: "state", ts_type: SimpleType(None) } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::type_definition] Fetching expression: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_before: Range { start: 0, end: 152 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 27, end: 36 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@92..102 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@76..89 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(DotExpr(DotExpr { syntax: DOT_EXPR@128..143 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(ObjectPattern(ObjectPattern { syntax: OBJECT_PATTERN@118..125 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) let test = null; [0-16] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) let test = null; [0-16] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test = null [4-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal (LITERAL) null [11-15] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(Literal(Literal { syntax: LITERAL@11..15 })) [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@4..8 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 4..8 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) const test; [0-11] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) const test; [0-11] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test [6-10] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [6-10] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [6-10] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@6..10 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@6..10 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@6..10 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 6..10 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 6, end: 10 } [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) fn [1-3] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) fn [1-3] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Expr statement (EXPR_STMT) foo() [4-9] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Call expr (CALL_EXPR) foo() [4-9] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name ref (NAME_REF) foo [4-7] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Arg list (ARG_LIST) () [7-9] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) let test = 5; [0-13] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) let test = 5; [0-13] [INFO] [stderr] [2025-01-21T05:16:24Z 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] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test = 5 [4-12] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] // thing [INFO] [stderr] } [17-35] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Catch clause (CATCH_CLAUSE) catch (err) { [INFO] [stderr] // log [INFO] [stderr] } [36-64] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Literal (LITERAL) 5 [11-12] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) err [43-46] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: Some(Literal(Literal { syntax: LITERAL@11..12 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) err [43-46] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Block statement (BLOCK_STMT) { [INFO] [stderr] // log [INFO] [stderr] } [48-64] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@43..46 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@43..46 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 43..46 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 43, end: 46 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) let test, test2; [0-16] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) let test, test2; [0-16] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test2 [10-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test2 [10-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) var test; [0-9] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test2 [10-15] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) var test; [0-9] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: None [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@4..8 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@4..8 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 4..8 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 4..8 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 } [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@10..15 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@10..15 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@10..15 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 10..15 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 10, end: 15 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Module (MODULE) let test; [0-9] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Var decl (VAR_DECL) let test; [0-9] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Declarator (DECLARATOR) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Single pattern (SINGLE_PATTERN) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] Name (NAME) test [4-8] [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.value: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] declarator.pattern: Some(SinglePattern(SinglePattern { syntax: SINGLE_PATTERN@4..8 })) [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] child: NAME@4..8 [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::parser] single: SinglePattern { syntax: SINGLE_PATTERN@4..8 } [INFO] [stderr] [2025-01-21T05:16:24Z TRACE type_rs::type_definition] expr: None [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::parser] FIXER insert: 4..8 [INFO] [stderr] [2025-01-21T05:16:24Z DEBUG type_rs::text_editor] FIXER insert_after: Range { start: 4, end: 8 } [INFO] [stdout] test tests::add_types_variable_uninitialized_multi ... ok [INFO] [stdout] test tests::add_types_variable_uninitialized_let ... 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' panicked at tests/parser_tests.rs:14:9: [INFO] [stdout] assertion failed: `(left == right)` [INFO] [stdout] [INFO] [stdout] Diff < left / right > : [INFO] [stdout] [INFO] [stdout] interface A { [INFO] [stdout] < field: any, [INFO] [stdout] > field: { [INFO] [stdout] > test: { [INFO] [stdout] > 5: number, [INFO] [stdout] > }, [INFO] [stdout] > }, [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: 0x62c2006ead3a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5 [INFO] [stdout] 1: 0x62c2006ead3a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x62c2006ead3a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x62c2006ead3a - ::fmt::h71a62eb3b9696b12 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x62c200712c03 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76 [INFO] [stdout] 5: 0x62c200712c03 - core::fmt::write::h2cc1698af7e2d686 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21 [INFO] [stdout] 6: 0x62c2006e7893 - std::io::Write::write_fmt::hab1b4cd059a79022 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15 [INFO] [stdout] 7: 0x62c2006eab82 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 8: 0x62c2006ec15f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22 [INFO] [stdout] 9: 0x62c2006ebf78 - std::panicking::default_hook::h20f81eb0576efcec [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9 [INFO] [stdout] 10: 0x62c20042ce93 - as core::ops::function::Fn>::call::hdb53814c496a4d34 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9 [INFO] [stdout] 11: 0x62c20042ce93 - test::test_main::{{closure}}::hc0a4963c59427c24 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21 [INFO] [stdout] 12: 0x62c2006ecc53 - as core::ops::function::Fn>::call::h591b2225413a77e9 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9 [INFO] [stdout] 13: 0x62c2006ecc53 - std::panicking::rust_panic_with_hook::h625eea43051b2edc [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13 [INFO] [stdout] 14: 0x62c2006ec90a - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13 [INFO] [stdout] 15: 0x62c2006eb239 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18 [INFO] [stdout] 16: 0x62c2006ec59d - rust_begin_unwind [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5 [INFO] [stdout] 17: 0x62c2007115e0 - core::panicking::panic_fmt::h9e7c637e9e5f29c9 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14 [INFO] [stdout] 18: 0x62c2003d080c - parser_tests::tests::compare::h1ac0a2cce68abaf0 [INFO] [stdout] at /opt/rustwide/workdir/tests/parser_tests.rs:14:9 [INFO] [stdout] 19: 0x62c2003d1dfe - parser_tests::tests::add_types_assigns_object::h1b20a5149ed6bf25 [INFO] [stdout] at /opt/rustwide/workdir/tests/parser_tests.rs:955:9 [INFO] [stdout] 20: 0x62c2003d1dc7 - parser_tests::tests::add_types_assigns_object::{{closure}}::h28b27d80a0f3d252 [INFO] [stdout] at /opt/rustwide/workdir/tests/parser_tests.rs:954:34 [INFO] [stdout] 21: 0x62c2003cf666 - core::ops::function::FnOnce::call_once::hec1e479a18ea8d66 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x62c2004325eb - core::ops::function::FnOnce::call_once::he27718dfdd183f43 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x62c2004325eb - test::__rust_begin_short_backtrace::h4e84902998457a5d [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18 [INFO] [stdout] 24: 0x62c200431523 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60 [INFO] [stdout] 25: 0x62c200431523 - as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 26: 0x62c200431523 - std::panicking::try::do_call::h3da0561d9ab99c25 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40 [INFO] [stdout] 27: 0x62c200431523 - std::panicking::try::h41c9fa508bc61df6 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19 [INFO] [stdout] 28: 0x62c200431523 - std::panic::catch_unwind::h6b3ff07bb5afad93 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14 [INFO] [stdout] 29: 0x62c200431523 - test::run_test_in_process::hc7253dd11b39b9f4 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27 [INFO] [stdout] 30: 0x62c200431523 - test::run_test::{{closure}}::hfb2007f8649c30bb [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43 [INFO] [stdout] 31: 0x62c2003f4605 - test::run_test::{{closure}}::h56a17aa7a282a9f4 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41 [INFO] [stdout] 32: 0x62c2003f4605 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18 [INFO] [stdout] 33: 0x62c2003f7eea - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 34: 0x62c2003f7eea - as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 35: 0x62c2003f7eea - std::panicking::try::do_call::h2f73af3616c35465 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40 [INFO] [stdout] 36: 0x62c2003f7eea - std::panicking::try::hd1660ce9efadef5a [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19 [INFO] [stdout] 37: 0x62c2003f7eea - std::panic::catch_unwind::h5ee8d7823b8ca744 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14 [INFO] [stdout] 38: 0x62c2003f7eea - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 39: 0x62c2003f7eea - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x62c2006f0b8b - as core::ops::function::FnOnce>::call_once::ha52bedf99a3b4981 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9 [INFO] [stdout] 41: 0x62c2006f0b8b - as core::ops::function::FnOnce>::call_once::h567748934d80ccf8 [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9 [INFO] [stdout] 42: 0x62c2006f0b8b - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc [INFO] [stdout] at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17 [INFO] [stdout] 43: 0x712953fe3ac3 - [INFO] [stdout] 44: 0x712954074a04 - clone [INFO] [stdout] 45: 0x0 - [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.17s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--test parser_tests` [INFO] running `Command { std: "docker" "inspect" "61dd0e3ab7c1f1e1e6b3ffc7ef1892627ac1f542c6263fa1ae13f73da5dee21f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61dd0e3ab7c1f1e1e6b3ffc7ef1892627ac1f542c6263fa1ae13f73da5dee21f", kill_on_drop: false }` [INFO] [stdout] 61dd0e3ab7c1f1e1e6b3ffc7ef1892627ac1f542c6263fa1ae13f73da5dee21f