ttsc 0.33.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/README.md +2 -0
  2. package/cmd/ttsc/api_compile.go +3 -2
  3. package/cmd/ttsc/api_transform.go +1 -1
  4. package/cmd/ttsc/build.go +5 -4
  5. package/cmd/ttsc-cache/account.go +16 -0
  6. package/cmd/ttsc-cache/account_test.go +91 -0
  7. package/cmd/ttsc-cache/main.go +1 -1
  8. package/cmd/ttsc-cache/protocol_test.go +2 -2
  9. package/cmd/ttsc-cache/publisher_seal_test.go +1 -1
  10. package/cmd/ttsc-cache/stock_go_failure_test.go +1 -1
  11. package/cmd/ttsc-cache/stock_go_test.go +2 -2
  12. package/cmd/ttsc-cache/store.go +5 -0
  13. package/cmd/ttsc-cache/tuple.go +6 -2
  14. package/cmd/ttsc-cache/tuple_test.go +1 -1
  15. package/cmd/ttscgraph/main.go +6 -1
  16. package/cmd/ttscgraph/run_help_version_and_bad_flags_exit_codes_test.go +6 -1
  17. package/cmd/ttscgraph/serve.go +22 -20
  18. package/cmd/ttscgraph/serve_alternative_members_and_reads_refresh_test.go +95 -0
  19. package/cmd/ttscgraph/serve_shards.go +26 -15
  20. package/cmd/ttscgraph/serve_shards_abandoned_generation_converges_on_retry_test.go +2 -2
  21. package/cmd/ttscgraph/serve_shards_delete_removed_source_test.go +3 -3
  22. package/cmd/ttscgraph/serve_shards_prune_unreferenced_external_endpoints_test.go +1 -1
  23. package/cmd/ttscgraph/serve_shards_publish_created_source_test.go +3 -3
  24. package/cmd/ttscgraph/serve_shards_refresh_cross_file_implementation_test.go +2 -2
  25. package/cmd/ttscgraph/serve_shards_refresh_dependent_diagnostics_test.go +3 -3
  26. package/cmd/ttscgraph/serve_shards_rename_moves_source_identity_test.go +5 -5
  27. package/cmd/ttscgraph/serve_shards_reuse_unaffected_sources_test.go +8 -8
  28. package/cmd/ttscgraph/serve_source_encoding_test.go +2 -2
  29. package/driver/build_information_uses_selected_output_identity_test.go +5 -4
  30. package/driver/check_observations.go +1 -1
  31. package/driver/config_discovery.go +5 -1
  32. package/driver/declaration_shape.go +15 -21
  33. package/driver/diagnostics_preamble.go +2 -2
  34. package/driver/emit_containment.go +11 -14
  35. package/driver/emit_plugin.go +51 -43
  36. package/driver/emit_plugin_output.go +6 -5
  37. package/driver/emit_provenance.go +12 -15
  38. package/driver/graph.go +8 -8
  39. package/driver/host.go +15 -5
  40. package/driver/input_observation.go +22 -21
  41. package/driver/input_observation_test.go +11 -10
  42. package/driver/overlay.go +11 -11
  43. package/driver/program.go +102 -51
  44. package/driver/resolution_candidates.go +50 -32
  45. package/driver/resolution_candidates_test.go +18 -5
  46. package/driver/rewrite.go +11 -13
  47. package/driver/session.go +13 -7
  48. package/driver/target_ts70.go +85 -0
  49. package/driver/target_ts71.go +97 -0
  50. package/driver/transform_dependencies.go +1 -1
  51. package/driver/transform_source_map.go +21 -20
  52. package/go.mod +3 -3
  53. package/go.sum +4 -4
  54. package/internal/graph/alternative_member_declarations_resolve_uses_test.go +145 -0
  55. package/internal/graph/assigned_implementations_of_declaration_file_symbols_leave_no_edge_source_test.go +2 -2
  56. package/internal/graph/assigned_implementations_of_node_modules_symbols_leave_no_edge_source_test.go +2 -2
  57. package/internal/graph/build.go +75 -33
  58. package/internal/graph/build_files_reuses_committed_cross_file_endpoints_test.go +4 -4
  59. package/internal/graph/build_records_a_node_per_top_level_declaration_test.go +1 -1
  60. package/internal/graph/declaration_members.go +143 -0
  61. package/internal/graph/decorators_capture_name_and_literal_arguments_test.go +3 -3
  62. package/internal/graph/doc_tags.go +2 -2
  63. package/internal/graph/dump_paths.go +6 -5
  64. package/internal/graph/duplicate_variable_object_members_keep_first_declaration_test.go +1 -1
  65. package/internal/graph/edges.go +151 -68
  66. package/internal/graph/edges_cover_class_level_references_test.go +5 -5
  67. package/internal/graph/enum_initializer_calls_are_edges_test.go +2 -2
  68. package/internal/graph/enum_members_carry_their_names_on_the_enum_node_test.go +6 -6
  69. package/internal/graph/exports.go +6 -6
  70. package/internal/graph/file_diagnostics_match_tsgo_code_and_location_test.go +2 -2
  71. package/internal/graph/file_diagnostics_report_code_column_and_message_test.go +1 -1
  72. package/internal/graph/function_locals_do_not_collide_test.go +3 -3
  73. package/internal/graph/heritage_edges_cover_implements_and_interface_extends_test.go +5 -5
  74. package/internal/graph/heritage_edges_keep_extends_and_implements_to_same_base_test.go +2 -2
  75. package/internal/graph/heritage_edges_record_extends_versus_implements_origin_test.go +3 -3
  76. package/internal/graph/heritage_edges_traverse_barrels_and_stop_at_external_leaves_test.go +3 -3
  77. package/internal/graph/literals.go +3 -3
  78. package/internal/graph/literals_are_absent_when_the_type_admits_more_than_it_can_name_test.go +2 -2
  79. package/internal/graph/literals_cover_enum_members_the_graph_has_no_nodes_for_test.go +4 -4
  80. package/internal/graph/literals_do_not_depend_on_declaration_line_wrapping_test.go +2 -2
  81. package/internal/graph/literals_render_every_value_in_typescript_source_form_test.go +1 -1
  82. package/internal/graph/literals_resolve_through_alias_indirection_test.go +3 -3
  83. package/internal/graph/member_relation_edges_follow_checker_validity_test.go +7 -7
  84. package/internal/graph/member_relation_edges_preserve_checker_boundaries_test.go +19 -19
  85. package/internal/graph/member_relation_edges_reject_checker_invalid_pairs_test.go +11 -11
  86. package/internal/graph/namespace_dotted_form_qualifies_deeply_test.go +2 -2
  87. package/internal/graph/namespace_members_become_qualified_nodes_and_edges_test.go +7 -7
  88. package/internal/graph/namespace_private_declarations_keep_lexical_identity_test.go +85 -0
  89. package/internal/graph/nodes_are_marked_exported_through_the_export_table_test.go +2 -2
  90. package/internal/graph/object_literal_declarations_resolve_calls_test.go +9 -9
  91. package/internal/graph/object_literal_members_ride_on_the_snapshot_test.go +1 -1
  92. package/internal/graph/overload_implementation_replaces_signature_test.go +2 -2
  93. package/internal/graph/property_member_edges_remain_owner_visible_test.go +6 -6
  94. package/internal/graph/resolve.go +37 -12
  95. package/internal/graph/resolve_unwraps_barrel_reexport_to_real_declaration_test.go +6 -6
  96. package/internal/graph/source.go +1 -1
  97. package/internal/graph/type_ref_edges_cover_typeof_as_satisfies_test.go +7 -7
  98. package/internal/graph/type_ref_edges_resolve_named_types_across_files_test.go +2 -2
  99. package/internal/graph/value_access_edges_cover_properties_test.go +5 -5
  100. package/internal/graph/value_call_edges_attribute_function_assignments_to_members_test.go +3 -3
  101. package/internal/graph/value_call_edges_cover_jsx_components_test.go +2 -2
  102. package/internal/graph/value_call_edges_cover_methods_and_constructors_test.go +3 -3
  103. package/internal/graph/value_call_edges_cover_variable_bound_callables_test.go +2 -2
  104. package/internal/graph/value_call_edges_do_not_double_record_invoked_member_access_test.go +4 -4
  105. package/internal/graph/value_call_edges_record_construct_versus_call_origin_test.go +3 -3
  106. package/internal/graph/value_call_edges_resolve_across_files_and_dedupe_test.go +2 -2
  107. package/internal/graph/value_call_edges_skip_self_and_unresolved_test.go +4 -4
  108. package/internal/graph/value_reads_cover_expression_positions_test.go +88 -0
  109. package/lib/compiler/internal/buildNativeCompiler.d.ts +5 -2
  110. package/lib/compiler/internal/buildNativeCompiler.js +12 -4
  111. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  112. package/lib/flags/COMPILER_ENUM_WHITESPACE.js +1 -1
  113. package/lib/flags/COMPILER_ENUM_WHITESPACE.js.map +1 -1
  114. package/lib/flags/COMPILER_OPTIONS.js +1079 -149
  115. package/lib/flags/COMPILER_OPTIONS.js.map +1 -1
  116. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js +1 -1
  117. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js.map +1 -1
  118. package/lib/flags/COMPILER_OPTION_KINDS.js +1 -1
  119. package/lib/flags/COMPILER_OPTION_KINDS.js.map +1 -1
  120. package/lib/flags/CompilerOptionSpec.d.ts +9 -2
  121. package/lib/internal/pluginSource.d.ts +1 -0
  122. package/lib/internal/pluginSource.js +1 -0
  123. package/lib/internal/pluginSource.js.map +1 -1
  124. package/lib/launcher/internal/TypeScriptSyncApi.d.ts +140 -0
  125. package/lib/launcher/internal/TypeScriptSyncApi.js +99 -0
  126. package/lib/launcher/internal/TypeScriptSyncApi.js.map +1 -0
  127. package/lib/launcher/internal/buildSingleRootInMemory.d.ts +80 -0
  128. package/lib/launcher/internal/buildSingleRootInMemory.js +253 -0
  129. package/lib/launcher/internal/buildSingleRootInMemory.js.map +1 -0
  130. package/lib/launcher/internal/buildSingleRootProject.d.ts +22 -18
  131. package/lib/launcher/internal/buildSingleRootProject.js +27 -18
  132. package/lib/launcher/internal/buildSingleRootProject.js.map +1 -1
  133. package/lib/launcher/internal/compilerArgsAsConfigOptions.d.ts +39 -0
  134. package/lib/launcher/internal/compilerArgsAsConfigOptions.js +115 -0
  135. package/lib/launcher/internal/compilerArgsAsConfigOptions.js.map +1 -0
  136. package/lib/plugin/CapabilityPluginResolver.js +3 -0
  137. package/lib/plugin/CapabilityPluginResolver.js.map +1 -1
  138. package/lib/plugin/internal/load/loadProjectPlugins.js +6 -2
  139. package/lib/plugin/internal/load/loadProjectPlugins.js.map +1 -1
  140. package/lib/plugin/internal/source/CompilerTarget.d.ts +127 -0
  141. package/lib/plugin/internal/source/CompilerTarget.js +231 -0
  142. package/lib/plugin/internal/source/CompilerTarget.js.map +1 -0
  143. package/lib/plugin/internal/source/NativeSourcePackages.js +6 -5
  144. package/lib/plugin/internal/source/NativeSourcePackages.js.map +1 -1
  145. package/lib/plugin/internal/source/SourcePluginAdmission.d.ts +18 -1
  146. package/lib/plugin/internal/source/SourcePluginAdmission.js +24 -2
  147. package/lib/plugin/internal/source/SourcePluginAdmission.js.map +1 -1
  148. package/lib/plugin/internal/source/SourcePluginWorkspace.d.ts +6 -3
  149. package/lib/plugin/internal/source/SourcePluginWorkspace.js +31 -13
  150. package/lib/plugin/internal/source/SourcePluginWorkspace.js.map +1 -1
  151. package/lib/plugin/internal/source/buildSourcePlugin.js +3 -1
  152. package/lib/plugin/internal/source/buildSourcePlugin.js.map +1 -1
  153. package/lib/plugin/internal/source/hashPluginBuildEnvironment.d.ts +1 -1
  154. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js +9 -1
  155. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js.map +1 -1
  156. package/package.json +14 -9
  157. package/shim/ast/enums_gen.go +1 -0
  158. package/shim/ast/go.mod +2 -2
  159. package/shim/ast/go.sum +4 -4
  160. package/shim/ast/neutral.go +141 -0
  161. package/shim/astnav/go.mod +2 -2
  162. package/shim/astnav/go.sum +4 -4
  163. package/shim/bundled/go.mod +2 -2
  164. package/shim/bundled/go.sum +4 -4
  165. package/shim/checker/go.mod +2 -2
  166. package/shim/checker/go.sum +4 -4
  167. package/shim/compiler/go.mod +2 -2
  168. package/shim/compiler/go.sum +4 -4
  169. package/shim/compiler/neutral.go +213 -0
  170. package/shim/core/go.mod +2 -2
  171. package/shim/core/go.sum +4 -4
  172. package/shim/diagnosticwriter/go.mod +2 -2
  173. package/shim/diagnosticwriter/go.sum +4 -4
  174. package/shim/lsp/go.mod +2 -2
  175. package/shim/lsp/go.sum +4 -4
  176. package/shim/parser/go.mod +2 -2
  177. package/shim/parser/go.sum +4 -4
  178. package/shim/printer/go.mod +2 -2
  179. package/shim/printer/go.sum +4 -4
  180. package/shim/scanner/go.mod +2 -2
  181. package/shim/scanner/go.sum +4 -4
  182. package/shim/stringutil/go.mod +1 -1
  183. package/shim/stringutil/go.sum +2 -2
  184. package/shim/stringutil/shim.go +15 -0
  185. package/shim/transformers/go.mod +2 -2
  186. package/shim/transformers/go.sum +4 -4
  187. package/shim/tsoptions/go.mod +2 -2
  188. package/shim/tsoptions/go.sum +4 -4
  189. package/shim/tsoptions/neutral.go +56 -0
  190. package/shim/tspath/go.mod +1 -1
  191. package/shim/tspath/go.sum +2 -2
  192. package/shim/tspath/neutral.go +150 -0
  193. package/shim/tspath/typed_paths.go +266 -0
  194. package/shim/vfs/cachedvfs/go.mod +2 -2
  195. package/shim/vfs/cachedvfs/go.sum +4 -4
  196. package/shim/vfs/go.mod +2 -2
  197. package/shim/vfs/go.sum +4 -4
  198. package/shim/vfs/neutral.go +20 -0
  199. package/shim/vfs/osvfs/go.mod +2 -2
  200. package/shim/vfs/osvfs/go.sum +4 -4
  201. package/src/compiler/internal/buildNativeCompiler.ts +13 -4
  202. package/src/flags/COMPILER_ENUM_WHITESPACE.ts +1 -1
  203. package/src/flags/COMPILER_OPTIONS.ts +1080 -150
  204. package/src/flags/COMPILER_OPTION_ASCII_FOLDS.ts +1 -1
  205. package/src/flags/COMPILER_OPTION_KINDS.ts +1 -1
  206. package/src/flags/CompilerOptionSpec.ts +11 -2
  207. package/src/internal/pluginSource.ts +1 -0
  208. package/src/launcher/internal/TypeScriptSyncApi.ts +186 -0
  209. package/src/launcher/internal/buildSingleRootInMemory.ts +319 -0
  210. package/src/launcher/internal/buildSingleRootProject.ts +26 -18
  211. package/src/launcher/internal/compilerArgsAsConfigOptions.ts +112 -0
  212. package/src/plugin/CapabilityPluginResolver.ts +4 -1
  213. package/src/plugin/internal/load/loadProjectPlugins.ts +12 -2
  214. package/src/plugin/internal/source/CompilerTarget.ts +249 -0
  215. package/src/plugin/internal/source/NativeSourcePackages.ts +10 -4
  216. package/src/plugin/internal/source/SourcePluginAdmission.ts +28 -2
  217. package/src/plugin/internal/source/SourcePluginWorkspace.ts +45 -19
  218. package/src/plugin/internal/source/buildSourcePlugin.ts +3 -1
  219. package/src/plugin/internal/source/hashPluginBuildEnvironment.ts +9 -1
  220. package/targets/7.1/bridge/ast/enums_gen.go +174 -0
  221. package/targets/7.1/bridge/ast/extra-shim.json +4 -0
  222. package/targets/7.1/bridge/ast/go.mod +14 -0
  223. package/targets/7.1/bridge/ast/go.sum +20 -0
  224. package/targets/7.1/bridge/ast/lint.go +1412 -0
  225. package/targets/7.1/bridge/ast/neutral.go +141 -0
  226. package/targets/7.1/bridge/ast/parent.go +60 -0
  227. package/targets/7.1/bridge/ast/safe_text.go +108 -0
  228. package/targets/7.1/bridge/ast/shim.go +1656 -0
  229. package/targets/7.1/bridge/ast/surface.go +686 -0
  230. package/targets/7.1/bridge/ast/test/next_jsdoc_comment_location_reaches_variable_statement_test.go +51 -0
  231. package/targets/7.1/bridge/ast/test/node_text_joins_multi_hop_qualified_name_test.go +47 -0
  232. package/targets/7.1/bridge/ast/test/node_text_joins_one_hop_qualified_name_test.go +35 -0
  233. package/targets/7.1/bridge/ast/test/node_text_returns_empty_for_nil_test.go +31 -0
  234. package/targets/7.1/bridge/ast/test/node_text_returns_identifier_text_test.go +34 -0
  235. package/targets/7.1/bridge/ast/test/node_text_skips_empty_qualified_left_test.go +60 -0
  236. package/targets/7.1/bridge/astnav/go.mod +14 -0
  237. package/targets/7.1/bridge/astnav/go.sum +22 -0
  238. package/targets/7.1/bridge/astnav/shim.go +24 -0
  239. package/targets/7.1/bridge/bundled/extra-shim.json +1 -0
  240. package/targets/7.1/bridge/bundled/go.mod +10 -0
  241. package/targets/7.1/bridge/bundled/go.sum +10 -0
  242. package/targets/7.1/bridge/bundled/shim.go +24 -0
  243. package/targets/7.1/bridge/checker/enums_gen.go +150 -0
  244. package/targets/7.1/bridge/checker/extra-shim.json +37 -0
  245. package/targets/7.1/bridge/checker/go.mod +15 -0
  246. package/targets/7.1/bridge/checker/go.sum +24 -0
  247. package/targets/7.1/bridge/checker/node_builder_fields_gen.go +19 -0
  248. package/targets/7.1/bridge/checker/shim.go +1390 -0
  249. package/targets/7.1/bridge/compiler/contentmapper_process.go +70 -0
  250. package/targets/7.1/bridge/compiler/emit_sourcemap.go +296 -0
  251. package/targets/7.1/bridge/compiler/emitassemble.go +81 -0
  252. package/targets/7.1/bridge/compiler/emithook.go +44 -0
  253. package/targets/7.1/bridge/compiler/extra-shim.json +4 -0
  254. package/targets/7.1/bridge/compiler/go.mod +15 -0
  255. package/targets/7.1/bridge/compiler/go.sum +24 -0
  256. package/targets/7.1/bridge/compiler/incremental.go +185 -0
  257. package/targets/7.1/bridge/compiler/neutral.go +256 -0
  258. package/targets/7.1/bridge/compiler/resolution.go +571 -0
  259. package/targets/7.1/bridge/compiler/shim.go +70 -0
  260. package/targets/7.1/bridge/core/enums_gen.go +15 -0
  261. package/targets/7.1/bridge/core/extra-shim.json +4 -0
  262. package/targets/7.1/bridge/core/go.mod +7 -0
  263. package/targets/7.1/bridge/core/go.sum +8 -0
  264. package/targets/7.1/bridge/core/modulekind.go +19 -0
  265. package/targets/7.1/bridge/core/shim.go +272 -0
  266. package/targets/7.1/bridge/diagnosticwriter/go.mod +14 -0
  267. package/targets/7.1/bridge/diagnosticwriter/go.sum +20 -0
  268. package/targets/7.1/bridge/diagnosticwriter/lint.go +411 -0
  269. package/targets/7.1/bridge/diagnosticwriter/shim.go +56 -0
  270. package/targets/7.1/bridge/lsp/extra-shim.json +4 -0
  271. package/targets/7.1/bridge/lsp/go.mod +16 -0
  272. package/targets/7.1/bridge/lsp/go.sum +26 -0
  273. package/targets/7.1/bridge/lsp/shim.go +112 -0
  274. package/targets/7.1/bridge/parser/extra-shim.json +4 -0
  275. package/targets/7.1/bridge/parser/go.mod +14 -0
  276. package/targets/7.1/bridge/parser/go.sum +24 -0
  277. package/targets/7.1/bridge/parser/shim.go +61 -0
  278. package/targets/7.1/bridge/printer/emithost.go +69 -0
  279. package/targets/7.1/bridge/printer/go.mod +15 -0
  280. package/targets/7.1/bridge/printer/go.sum +24 -0
  281. package/targets/7.1/bridge/printer/shim.go +168 -0
  282. package/targets/7.1/bridge/printer/sourcemap.go +49 -0
  283. package/targets/7.1/bridge/scanner/extra-shim.json +4 -0
  284. package/targets/7.1/bridge/scanner/go.mod +14 -0
  285. package/targets/7.1/bridge/scanner/go.sum +20 -0
  286. package/targets/7.1/bridge/scanner/regexp.go +42 -0
  287. package/targets/7.1/bridge/scanner/shim.go +137 -0
  288. package/targets/7.1/bridge/stringutil/extra-shim.json +1 -0
  289. package/targets/7.1/bridge/stringutil/go.mod +5 -0
  290. package/targets/7.1/bridge/stringutil/go.sum +2 -0
  291. package/targets/7.1/bridge/stringutil/shim.go +131 -0
  292. package/targets/7.1/bridge/transformers/go.mod +15 -0
  293. package/targets/7.1/bridge/transformers/go.sum +24 -0
  294. package/targets/7.1/bridge/transformers/shim.go +24 -0
  295. package/targets/7.1/bridge/tsoptions/command_line_raw.go +44 -0
  296. package/targets/7.1/bridge/tsoptions/extra-shim.json +4 -0
  297. package/targets/7.1/bridge/tsoptions/go.mod +15 -0
  298. package/targets/7.1/bridge/tsoptions/go.sum +24 -0
  299. package/targets/7.1/bridge/tsoptions/neutral.go +47 -0
  300. package/targets/7.1/bridge/tsoptions/shim.go +193 -0
  301. package/targets/7.1/bridge/tspath/extra-shim.json +4 -0
  302. package/targets/7.1/bridge/tspath/go.mod +5 -0
  303. package/targets/7.1/bridge/tspath/go.sum +6 -0
  304. package/targets/7.1/bridge/tspath/neutral.go +142 -0
  305. package/targets/7.1/bridge/tspath/shim.go +382 -0
  306. package/targets/7.1/bridge/vfs/cachedvfs/extra-shim.json +4 -0
  307. package/targets/7.1/bridge/vfs/cachedvfs/go.mod +5 -0
  308. package/targets/7.1/bridge/vfs/cachedvfs/go.sum +10 -0
  309. package/targets/7.1/bridge/vfs/cachedvfs/shim.go +12 -0
  310. package/targets/7.1/bridge/vfs/decode.go +26 -0
  311. package/targets/7.1/bridge/vfs/decode_test.go +42 -0
  312. package/targets/7.1/bridge/vfs/extra-shim.json +4 -0
  313. package/targets/7.1/bridge/vfs/go.mod +10 -0
  314. package/targets/7.1/bridge/vfs/go.sum +10 -0
  315. package/targets/7.1/bridge/vfs/neutral.go +23 -0
  316. package/targets/7.1/bridge/vfs/osvfs/extra-shim.json +4 -0
  317. package/targets/7.1/bridge/vfs/osvfs/go.mod +10 -0
  318. package/targets/7.1/bridge/vfs/osvfs/go.sum +10 -0
  319. package/targets/7.1/bridge/vfs/osvfs/shim.go +14 -0
  320. package/targets/7.1/bridge/vfs/shim.go +27 -0
  321. package/targets/7.1/facade/ast/facade_gen.go +2691 -0
  322. package/targets/7.1/facade/ast/go.mod +20 -0
  323. package/targets/7.1/facade/ast/go.sum +20 -0
  324. package/targets/7.1/facade/astnav/facade_gen.go +15 -0
  325. package/targets/7.1/facade/astnav/go.mod +22 -0
  326. package/targets/7.1/facade/astnav/go.sum +22 -0
  327. package/targets/7.1/facade/bundled/facade_gen.go +32 -0
  328. package/targets/7.1/facade/bundled/go.mod +21 -0
  329. package/targets/7.1/facade/bundled/go.sum +10 -0
  330. package/targets/7.1/facade/checker/facade_gen.go +563 -0
  331. package/targets/7.1/facade/checker/go.mod +26 -0
  332. package/targets/7.1/facade/checker/go.sum +24 -0
  333. package/targets/7.1/facade/compiler/facade_gen.go +198 -0
  334. package/targets/7.1/facade/compiler/go.mod +41 -0
  335. package/targets/7.1/facade/compiler/go.sum +24 -0
  336. package/targets/7.1/facade/core/facade_gen.go +130 -0
  337. package/targets/7.1/facade/core/go.mod +12 -0
  338. package/targets/7.1/facade/core/go.sum +8 -0
  339. package/targets/7.1/facade/diagnosticwriter/facade_gen.go +36 -0
  340. package/targets/7.1/facade/diagnosticwriter/go.mod +22 -0
  341. package/targets/7.1/facade/diagnosticwriter/go.sum +20 -0
  342. package/targets/7.1/facade/lsp/facade_gen.go +31 -0
  343. package/targets/7.1/facade/lsp/go.mod +19 -0
  344. package/targets/7.1/facade/lsp/go.sum +26 -0
  345. package/targets/7.1/facade/parser/facade_gen.go +102 -0
  346. package/targets/7.1/facade/parser/go.mod +25 -0
  347. package/targets/7.1/facade/parser/go.sum +24 -0
  348. package/targets/7.1/facade/printer/facade_gen.go +74 -0
  349. package/targets/7.1/facade/printer/go.mod +26 -0
  350. package/targets/7.1/facade/printer/go.sum +24 -0
  351. package/targets/7.1/facade/scanner/facade_gen.go +191 -0
  352. package/targets/7.1/facade/scanner/go.mod +25 -0
  353. package/targets/7.1/facade/scanner/go.sum +20 -0
  354. package/targets/7.1/facade/stringutil/facade_gen.go +176 -0
  355. package/targets/7.1/facade/stringutil/go.mod +9 -0
  356. package/targets/7.1/facade/stringutil/go.sum +2 -0
  357. package/targets/7.1/facade/transformers/facade_gen.go +12 -0
  358. package/targets/7.1/facade/transformers/go.mod +18 -0
  359. package/targets/7.1/facade/transformers/go.sum +24 -0
  360. package/targets/7.1/facade/tsoptions/facade_gen.go +274 -0
  361. package/targets/7.1/facade/tsoptions/go.mod +32 -0
  362. package/targets/7.1/facade/tsoptions/go.sum +24 -0
  363. package/targets/7.1/facade/tspath/facade_gen.go +550 -0
  364. package/targets/7.1/facade/tspath/go.mod +9 -0
  365. package/targets/7.1/facade/tspath/go.sum +6 -0
  366. package/targets/7.1/facade/vfs/cachedvfs/facade_gen.go +17 -0
  367. package/targets/7.1/facade/vfs/cachedvfs/go.mod +18 -0
  368. package/targets/7.1/facade/vfs/cachedvfs/go.sum +10 -0
  369. package/targets/7.1/facade/vfs/facade_gen.go +47 -0
  370. package/targets/7.1/facade/vfs/go.mod +18 -0
  371. package/targets/7.1/facade/vfs/go.sum +10 -0
  372. package/targets/7.1/facade/vfs/osvfs/facade_gen.go +20 -0
  373. package/targets/7.1/facade/vfs/osvfs/go.mod +21 -0
  374. package/targets/7.1/facade/vfs/osvfs/go.sum +10 -0
  375. package/tools/gen_facade/committed_facades_match_their_bridges_test.go +57 -0
  376. package/tools/gen_facade/facade_manifest_points_into_the_bridge_root_test.go +75 -0
  377. package/tools/gen_facade/facade_spells_internal_types_through_bridge_aliases_test.go +75 -0
  378. package/tools/gen_facade/facade_types_are_their_bridge_types_test.go +99 -0
  379. package/tools/gen_facade/go.mod +10 -0
  380. package/tools/gen_facade/go.sum +8 -0
  381. package/tools/gen_facade/main.go +734 -0
  382. package/tools/gen_shims/go.mod +4 -4
  383. package/tools/gen_shims/go.sum +6 -6
  384. package/tools/gen_shims/main.go +124 -66
  385. package/tools/gen_shims/mirror_structs_terminate_on_unexported_cycles_test.go +101 -0
  386. package/tools/shim_audit/baseline-7.1.json +720 -0
  387. package/tools/shim_audit/baseline.json +5 -4
  388. package/tools/shim_audit/go.mod +4 -4
  389. package/tools/shim_audit/go.sum +6 -6
  390. package/tools/shim_audit/linkname_signatures.go +178 -0
  391. package/tools/shim_audit/linkname_signatures_match_their_targets_test.go +64 -0
  392. package/tools/shim_audit/linkname_targets_follow_the_audited_compiler_test.go +38 -0
  393. package/tools/shim_audit/main.go +29 -4
  394. package/tools/shim_audit/neutral_api.go +160 -0
  395. package/tools/shim_audit/neutral_api_must_match_across_targets_test.go +74 -0
  396. package/utility/host.go +5 -4
  397. package/utility/preamble_output.go +15 -15
  398. package/utility/serve.go +1 -1
@@ -0,0 +1,51 @@
1
+ package ast_test
2
+
3
+ import (
4
+ "testing"
5
+
6
+ shimast "github.com/microsoft/TypeScript/tsc/shim/ast"
7
+ )
8
+
9
+ // Verifies JSDoc attachment traversal reaches the first variable's statement.
10
+ //
11
+ // Public linkage alone cannot show that a parent traversal reaches its required
12
+ // endpoint or that later declarations remain outside the shared comment host.
13
+ //
14
+ // 1. Build and parent-link a statement containing two initialized declarations.
15
+ // 2. Traverse the first initializer through its declaration and list to the statement.
16
+ // 3. Require termination at the statement and rejection of the second declaration.
17
+ //
18
+ // @evidence contracts/testing.md#behavioral-verification The real public shim traversal follows factory-built parent links and must return the exact containing statement after all three hops.
19
+ // @evidence contracts/testing.md#independent-expectations Explicitly retained initializer, declaration, list and statement pointers establish each expected endpoint independently of traversal output.
20
+ // @evidence contracts/testing.md#distinguishing-cases First and second declarations distinguish the attachment boundary, while a detached initializer and statement root distinguish nil termination from unbounded ancestry.
21
+ // @evidence contracts/testing.md#execution-ownership The existing shim/ast/test source-unit runner executes the actual AST factory, parent wiring and traversal in one Go process with no filesystem fixture or compiler producer.
22
+ func TestNextJSDocCommentLocationReachesVariableStatement(t *testing.T) {
23
+ factory := shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
24
+ firstInitializer := factory.NewNumericLiteral("1", shimast.TokenFlagsNone)
25
+ secondInitializer := factory.NewNumericLiteral("2", shimast.TokenFlagsNone)
26
+ first := factory.NewVariableDeclaration(factory.NewIdentifier("first"), nil, nil, firstInitializer)
27
+ second := factory.NewVariableDeclaration(factory.NewIdentifier("second"), nil, nil, secondInitializer)
28
+ list := factory.NewVariableDeclarationList(factory.NewNodeList([]*shimast.Node{first, second}), shimast.NodeFlagsConst)
29
+ statement := factory.NewVariableStatement(nil, list)
30
+ shimast.SetParentInChildren(statement)
31
+ node := firstInitializer
32
+ for index, expected := range []*shimast.Node{first, list, statement} {
33
+ node = shimast.GetNextJSDocCommentLocation(node)
34
+ if node != expected {
35
+ t.Fatalf("attachment hop %d = %p, want %p", index+1, node, expected)
36
+ }
37
+ }
38
+ if got := shimast.GetNextJSDocCommentLocation(statement); got != nil {
39
+ t.Fatalf("statement root advanced to %p", got)
40
+ }
41
+ if got := shimast.GetNextJSDocCommentLocation(secondInitializer); got != second {
42
+ t.Fatalf("second initializer host = %p, want its declaration %p", got, second)
43
+ }
44
+ if got := shimast.GetNextJSDocCommentLocation(second); got != nil {
45
+ t.Fatalf("later declaration advanced to shared list %p", got)
46
+ }
47
+ detached := factory.NewNumericLiteral("3", shimast.TokenFlagsNone)
48
+ if got := shimast.GetNextJSDocCommentLocation(detached); got != nil {
49
+ t.Fatalf("detached node advanced to %p", got)
50
+ }
51
+ }
@@ -0,0 +1,47 @@
1
+ package ast_test
2
+
3
+ import (
4
+ "strings"
5
+ "testing"
6
+
7
+ shimast "github.com/microsoft/TypeScript/tsc/shim/ast"
8
+ )
9
+
10
+ // TestNodeTextJoinsMultiHopQualifiedName verifies NodeText joins a
11
+ // multi-hop QualifiedName as "A.B.C".
12
+ //
13
+ // QualifiedName.Left can itself be qualified. The three distinct components
14
+ // distinguish a full-chain join from dropping or reversing earlier names.
15
+ // A deeper repeated-component chain checks complete output without asserting
16
+ // timing, allocation counts or an implementation-specific traversal strategy.
17
+ //
18
+ // 1. Construct A.B then ((A.B).C) via NewQualifiedName.
19
+ // 2. Call NodeText on the outer node.
20
+ // 3. Assert the result is "A.B.C".
21
+ // 4. Build 2,000 X components followed by Tail and compare the complete text
22
+ // against the independent repeated literal spelling.
23
+ //
24
+ // @evidence contracts/testing.md#behavioral-verification NodeText joins nested factory-built qualified names into A.B.C and preserves every component of a 2,001-name chain.
25
+ // @evidence contracts/testing.md#independent-expectations Literal A.B.C and 2,000 repetitions of X. followed by Tail specify source spelling without using NodeText as an oracle.
26
+ // @evidence contracts/testing.md#distinguishing-cases Distinct A/B/C names expose reversed order or a lost prefix; the deeper chain exposes truncated ancestry. Empty-component controls are owned by TestNodeTextSkipsEmptyQualifiedLeft, and this case does not measure complexity.
27
+ // @evidence contracts/testing.md#execution-ownership The case calls the shim on actual factory nodes in the existing Go shim unit process; no consumer compiler or native host is run.
28
+ func TestNodeTextJoinsMultiHopQualifiedName(t *testing.T) {
29
+ factory := shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
30
+ a := factory.NewIdentifier("A")
31
+ b := factory.NewIdentifier("B")
32
+ c := factory.NewIdentifier("C")
33
+ ab := factory.NewQualifiedName(a, b)
34
+ abc := factory.NewQualifiedName(ab, c)
35
+ if got := shimast.NodeText(abc); got != "A.B.C" {
36
+ t.Fatalf("NodeText(A.B.C) = %q, want %q", got, "A.B.C")
37
+ }
38
+
39
+ chain := factory.NewIdentifier("X")
40
+ for i := 1; i < 2000; i++ {
41
+ chain = factory.NewQualifiedName(chain, factory.NewIdentifier("X"))
42
+ }
43
+ chain = factory.NewQualifiedName(chain, factory.NewIdentifier("Tail"))
44
+ if got, want := shimast.NodeText(chain), strings.Repeat("X.", 2000)+"Tail"; got != want {
45
+ t.Fatalf("deep qualified spelling = %q, want %q", got, want)
46
+ }
47
+ }
@@ -0,0 +1,35 @@
1
+ package ast_test
2
+
3
+ import (
4
+ "testing"
5
+
6
+ shimast "github.com/microsoft/TypeScript/tsc/shim/ast"
7
+ )
8
+
9
+ // TestNodeTextJoinsOneHopQualifiedName verifies NodeText joins a one-hop
10
+ // QualifiedName as "left.right".
11
+ //
12
+ // Locks the QualifiedName arm that upstream lacks: upstream's
13
+ // (*Node).Text() panics with `Unhandled case in Node.Text:
14
+ // *ast.QualifiedName` because the switch has no arm for the Kind. Dotted
15
+ // JSDoc parameter names motivate this representation, but this factory-only
16
+ // case does not parse a JSDoc tag or execute an integration pipeline. NodeText
17
+ // must turn a `Foo.Bar` qualified name into the dotted string.
18
+ //
19
+ // 1. Construct Foo.Bar via NewQualifiedName(Foo, Bar).
20
+ // 2. Call NodeText on the qualified node.
21
+ // 3. Assert the result is "Foo.Bar".
22
+ //
23
+ // @evidence contracts/testing.md#behavioral-verification NodeText joins the factory-built Foo.Bar qualified-name kind that lacks an upstream Text arm.
24
+ // @evidence contracts/testing.md#independent-expectations The literal Foo.Bar expectation fixes the separator and both node payloads independently.
25
+ // @evidence contracts/testing.md#distinguishing-cases A real qualified node distinguishes safe shim dispatch from a delegated upstream panic or identifier-only output.
26
+ // @evidence contracts/testing.md#execution-ownership The shim and real AST factory execute in-process; typia and nestia integration remain distinct CI consumers.
27
+ func TestNodeTextJoinsOneHopQualifiedName(t *testing.T) {
28
+ factory := shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
29
+ left := factory.NewIdentifier("Foo")
30
+ right := factory.NewIdentifier("Bar")
31
+ qn := factory.NewQualifiedName(left, right)
32
+ if got := shimast.NodeText(qn); got != "Foo.Bar" {
33
+ t.Fatalf("NodeText(Foo.Bar) = %q, want %q", got, "Foo.Bar")
34
+ }
35
+ }
@@ -0,0 +1,31 @@
1
+ package ast_test
2
+
3
+ import (
4
+ "testing"
5
+
6
+ shimast "github.com/microsoft/TypeScript/tsc/shim/ast"
7
+ )
8
+
9
+ // TestNodeTextReturnsEmptyForNil verifies NodeText returns "" for a nil node.
10
+ //
11
+ // Locks the nil guard and distinguishes nil from an identifier payload. This
12
+ // does not establish totality for arbitrary malformed node data or cyclic
13
+ // qualified-name graphs, nor execute a caller's missing-name filtering policy.
14
+ //
15
+ // 1. Call NodeText(nil).
16
+ // 2. Assert the result is "".
17
+ //
18
+ // @evidence contracts/testing.md#behavioral-verification NodeText handles a nil node without dereferencing it and leaves real identifier text available.
19
+ // @evidence contracts/testing.md#independent-expectations Literal empty and Present expectations distinguish absence from a real named node.
20
+ // @evidence contracts/testing.md#distinguishing-cases The nil input tests the nil guard and the identifier positive control rejects an unconditional empty result. Arbitrary malformed nodes and cycles are not exercised.
21
+ // @evidence contracts/testing.md#execution-ownership Both calls use the actual shim in the existing Go unit process without parsing or launching a consumer compiler.
22
+ func TestNodeTextReturnsEmptyForNil(t *testing.T) {
23
+ if got := shimast.NodeText(nil); got != "" {
24
+ t.Fatalf("NodeText(nil) = %q, want %q", got, "")
25
+ }
26
+
27
+ factory := shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
28
+ if got := shimast.NodeText(factory.NewIdentifier("Present")); got != "Present" {
29
+ t.Fatalf("identifier control = %q", got)
30
+ }
31
+ }
@@ -0,0 +1,34 @@
1
+ package ast_test
2
+
3
+ import (
4
+ "testing"
5
+
6
+ shimast "github.com/microsoft/TypeScript/tsc/shim/ast"
7
+ )
8
+
9
+ // TestNodeTextReturnsIdentifierText verifies NodeText returns the
10
+ // identifier text when the node Kind already has an upstream Text() arm.
11
+ //
12
+ // Covers the Identifier delegated branch. Falling back to a source slice
13
+ // would lose Foo on a synthesized node without a source range. Other token
14
+ // kinds and downstream metadata consumers are not exercised by this case.
15
+ //
16
+ // 1. Construct a synthesised Identifier via NewIdentifier("Foo").
17
+ // 2. Call NodeText on it.
18
+ // 3. Assert the result is "Foo".
19
+ //
20
+ // @evidence contracts/testing.md#behavioral-verification NodeText returns the actual identifier payload for synthesized factory nodes without a source range.
21
+ // @evidence contracts/testing.md#independent-expectations Literal Foo and empty expectations fix token text independently of source slicing or another production text helper.
22
+ // @evidence contracts/testing.md#distinguishing-cases Named and empty synthesized identifiers distinguish payload forwarding from a source-range-only implementation or fabricated spelling.
23
+ // @evidence contracts/testing.md#execution-ownership The real factory and shim execute directly in the existing Go shim test process; no source-file or native-host fixture is needed.
24
+ func TestNodeTextReturnsIdentifierText(t *testing.T) {
25
+ factory := shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
26
+ id := factory.NewIdentifier("Foo")
27
+ if got := shimast.NodeText(id); got != "Foo" {
28
+ t.Fatalf("NodeText(Identifier) = %q, want %q", got, "Foo")
29
+ }
30
+
31
+ if got := shimast.NodeText(factory.NewIdentifier("")); got != "" {
32
+ t.Fatalf("empty identifier = %q", got)
33
+ }
34
+ }
@@ -0,0 +1,60 @@
1
+ package ast_test
2
+
3
+ import (
4
+ "testing"
5
+
6
+ shimast "github.com/microsoft/TypeScript/tsc/shim/ast"
7
+ )
8
+
9
+ // TestNodeTextSkipsEmptyQualifiedLeft verifies NodeText does not emit a
10
+ // stray leading "." when the left segment of a QualifiedName resolves
11
+ // to the empty string.
12
+ //
13
+ // Synthesized trees can contain empty or absent qualified components. A naive
14
+ // `left + "." + right` concatenation would yield `.Inner` for an empty left
15
+ // component. This factory-only case checks separator omission without parsing
16
+ // recovery input or exercising a downstream metadata map.
17
+ //
18
+ // 1. Build a QualifiedName whose Left is an Identifier created with "".
19
+ // 2. Call NodeText on the qualified node.
20
+ // 3. Assert the result is the right-hand text with no leading dot.
21
+ //
22
+ // @evidence contracts/testing.md#behavioral-verification NodeText omits separators for empty qualified components and returns empty when both components are empty.
23
+ // @evidence contracts/testing.md#independent-expectations Literal Inner, Outer and empty expectations independently specify each qualified-name recovery result.
24
+ // @evidence contracts/testing.md#distinguishing-cases Empty-left/right/both, nested empty interior/tail, and absent left/right controls distinguish stray separators, lost earlier components and unconditional right-only output.
25
+ // @evidence contracts/testing.md#execution-ownership All qualified nodes are built with the actual factory and passed directly to the shim in one existing Go unit case.
26
+ func TestNodeTextSkipsEmptyQualifiedLeft(t *testing.T) {
27
+ factory := shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
28
+ left := factory.NewIdentifier("")
29
+ right := factory.NewIdentifier("Inner")
30
+ qn := factory.NewQualifiedName(left, right)
31
+ if got := shimast.NodeText(qn); got != "Inner" {
32
+ t.Fatalf("NodeText(<empty>.Inner) = %q, want %q", got, "Inner")
33
+ }
34
+
35
+ for _, tc := range []struct{ left, right, want string }{{"Outer", "", "Outer"}, {"", "", ""}} {
36
+ node := factory.NewQualifiedName(factory.NewIdentifier(tc.left), factory.NewIdentifier(tc.right))
37
+ if got := shimast.NodeText(node); got != tc.want {
38
+ t.Fatalf("NodeText(%q.%q) = %q, want %q", tc.left, tc.right, got, tc.want)
39
+ }
40
+ }
41
+
42
+ nested := factory.NewQualifiedName(factory.NewIdentifier("Outer"), factory.NewIdentifier(""))
43
+ nested = factory.NewQualifiedName(nested, factory.NewIdentifier("Inner"))
44
+ nested = factory.NewQualifiedName(nested, factory.NewIdentifier(""))
45
+ if got := shimast.NodeText(nested); got != "Outer.Inner" {
46
+ t.Fatalf("nested empty component spelling = %q, want Outer.Inner", got)
47
+ }
48
+ for _, tc := range []struct {
49
+ node *shimast.Node
50
+ want string
51
+ }{
52
+ {factory.NewQualifiedName(nil, factory.NewIdentifier("Inner")), "Inner"},
53
+ {factory.NewQualifiedName(factory.NewIdentifier("Outer"), nil), "Outer"},
54
+ {factory.NewQualifiedName(nil, nil), ""},
55
+ } {
56
+ if got := shimast.NodeText(tc.node); got != tc.want {
57
+ t.Fatalf("absent component spelling = %q, want %q", got, tc.want)
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,14 @@
1
+ module github.com/microsoft/TypeScript/tsc/shim/astnav
2
+
3
+ go 1.27
4
+
5
+ require github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906
6
+
7
+ require (
8
+ github.com/klauspost/compress v1.20.0 // indirect
9
+ github.com/klauspost/cpuid/v2 v2.2.10 // indirect
10
+ github.com/zeebo/xxh3 v1.1.0 // indirect
11
+ golang.org/x/sync v0.23.0 // indirect
12
+ golang.org/x/sys v0.48.0 // indirect
13
+ golang.org/x/text v0.42.0 // indirect
14
+ )
@@ -0,0 +1,22 @@
1
+ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
2
+ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
3
+ github.com/klauspost/compress v1.20.0 h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR0ezA=
4
+ github.com/klauspost/compress v1.20.0/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
5
+ github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE=
6
+ github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
7
+ github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906 h1:Wn+Kp4ORyay6jJwvOng7G8pTD6HOP+Fwx8si66Wq7Bk=
8
+ github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906/go.mod h1:28hWKaTYwRARPm0T9Y0XvdvYpU2HtjONzsMqAdYLucY=
9
+ github.com/peter-evans/patience v0.3.0 h1:rX0JdJeepqdQl1Sk9c9uvorjYYzL2TfgLX1adqYm9cA=
10
+ github.com/peter-evans/patience v0.3.0/go.mod h1:Kmxu5sY1NmBLFSStvXjX1wS9mIv7wMcP/ubucyMOAu0=
11
+ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
12
+ github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
13
+ github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs=
14
+ github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s=
15
+ golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
16
+ golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
17
+ golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
18
+ golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
19
+ golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
20
+ golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
21
+ gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
22
+ gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
@@ -0,0 +1,24 @@
1
+ // Package astnav exposes cursor-position traversal helpers from TypeScript-Go.
2
+ package astnav
3
+
4
+ import (
5
+ "github.com/microsoft/TypeScript/tsc/internal/ast"
6
+ _ "github.com/microsoft/TypeScript/tsc/internal/astnav"
7
+ _ "unsafe"
8
+ )
9
+
10
+ // GetTouchingToken returns the token touching position in sourceFile. When
11
+ // position touches no token, it returns the enclosing non-token node instead;
12
+ // callers that require a token must check ast.IsTokenKind on the result kind.
13
+ //
14
+ // @evidence contracts/common.md#principled-implementation Linking the pinned traversal preserves its byte-coordinate and enclosing-node fallback semantics; sourceFile must be a real compiler source tree.
15
+ // @evidence contracts/common.md#clear-and-simple-design One direct bridge exposes the existing cursor operation without adding a second AST search or token representation.
16
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts go:linkname is the shim's explicit internal-package bridge; it neither replaces the upstream traversal nor guesses token kinds from source text.
17
+ // @evidence contracts/common.md#meaningful-documentation Native prose warns about the non-token fallback and the caller's classification responsibility, separated from these acknowledgments.
18
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources GetTouchingToken declares a signature only; the implementation owns acquisition and release of resources.
19
+ // @evidenceExclude contracts/performance.md#efficient-algorithms GetTouchingToken declares a signature only; the implementation owns the processing strategy.
20
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work GetTouchingToken declares a signature only; the implementation owns any shared work.
21
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation GetTouchingToken is a signature without a body here; path and platform behavior belongs to the implementation that supplies it.
22
+ //
23
+ //go:linkname GetTouchingToken github.com/microsoft/TypeScript/tsc/internal/astnav.GetTouchingToken
24
+ func GetTouchingToken(sourceFile *ast.SourceFile, position int) *ast.Node
@@ -0,0 +1 @@
1
+ {"ExtraMethods":{},"ExtraFields":{}}
@@ -0,0 +1,10 @@
1
+ module github.com/microsoft/TypeScript/tsc/shim/bundled
2
+
3
+ go 1.27
4
+
5
+ require github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906
6
+
7
+ require (
8
+ golang.org/x/sync v0.23.0 // indirect
9
+ golang.org/x/sys v0.48.0 // indirect
10
+ )
@@ -0,0 +1,10 @@
1
+ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
2
+ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
3
+ github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906 h1:Wn+Kp4ORyay6jJwvOng7G8pTD6HOP+Fwx8si66Wq7Bk=
4
+ github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906/go.mod h1:28hWKaTYwRARPm0T9Y0XvdvYpU2HtjONzsMqAdYLucY=
5
+ golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
6
+ golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
7
+ golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
8
+ golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
9
+ gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
10
+ gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
@@ -0,0 +1,24 @@
1
+ // Code generated by packages/ttsc/tools/gen_shims. DO NOT EDIT.
2
+
3
+ package bundled
4
+
5
+ import "github.com/microsoft/TypeScript/tsc/internal/bundled"
6
+ import "github.com/microsoft/TypeScript/tsc/internal/tspath"
7
+ import "github.com/microsoft/TypeScript/tsc/internal/vfs"
8
+ import _ "unsafe"
9
+
10
+ const Embedded = bundled.Embedded
11
+
12
+ //go:linkname IsBundled github.com/microsoft/TypeScript/tsc/internal/bundled.IsBundled
13
+ func IsBundled(path string) bool
14
+
15
+ var LibNames = bundled.LibNames
16
+
17
+ //go:linkname LibPath github.com/microsoft/TypeScript/tsc/internal/bundled.LibPath
18
+ func LibPath() tspath.RootedDirectoryPath
19
+
20
+ //go:linkname TestingLibPath github.com/microsoft/TypeScript/tsc/internal/bundled.TestingLibPath
21
+ func TestingLibPath() string
22
+
23
+ //go:linkname WrapFS github.com/microsoft/TypeScript/tsc/internal/bundled.WrapFS
24
+ func WrapFS(fs vfs.FS) vfs.FS
@@ -0,0 +1,150 @@
1
+ // Code generated by packages/ttsc/tools/shim_audit -fix. DO NOT EDIT.
2
+ //
3
+ // Completes every exposed enum family: re-exports each member not already
4
+ // re-exported elsewhere in the shim package, so a plugin that can name the
5
+ // enum type can name all of its values. Prevents a partially re-exported
6
+ // family (a sibling const silently missing). Regenerate after a typescript-go bump with
7
+ // `pnpm --filter ttsc shim:audit -fix`.
8
+
9
+ package checker
10
+
11
+ import innerchecker "github.com/microsoft/TypeScript/tsc/internal/checker"
12
+
13
+ const (
14
+ ElementFlagsFixed = innerchecker.ElementFlagsFixed
15
+ ElementFlagsNonRequired = innerchecker.ElementFlagsNonRequired
16
+ ElementFlagsNonRest = innerchecker.ElementFlagsNonRest
17
+ ElementFlagsVariable = innerchecker.ElementFlagsVariable
18
+ IterationTypeKindNext = innerchecker.IterationTypeKindNext
19
+ IterationTypeKindReturn = innerchecker.IterationTypeKindReturn
20
+ IterationTypeKindYield = innerchecker.IterationTypeKindYield
21
+ IterationUseAllowsAsyncIterablesFlag = innerchecker.IterationUseAllowsAsyncIterablesFlag
22
+ IterationUseAllowsStringInputFlag = innerchecker.IterationUseAllowsStringInputFlag
23
+ IterationUseAllowsSyncIterablesFlag = innerchecker.IterationUseAllowsSyncIterablesFlag
24
+ IterationUseAsyncGeneratorReturnType = innerchecker.IterationUseAsyncGeneratorReturnType
25
+ IterationUseAsyncYieldStar = innerchecker.IterationUseAsyncYieldStar
26
+ IterationUseCacheFlags = innerchecker.IterationUseCacheFlags
27
+ IterationUseDestructuring = innerchecker.IterationUseDestructuring
28
+ IterationUseDestructuringFlag = innerchecker.IterationUseDestructuringFlag
29
+ IterationUseElement = innerchecker.IterationUseElement
30
+ IterationUseForAwaitOf = innerchecker.IterationUseForAwaitOf
31
+ IterationUseForOf = innerchecker.IterationUseForOf
32
+ IterationUseForOfFlag = innerchecker.IterationUseForOfFlag
33
+ IterationUseGeneratorReturnType = innerchecker.IterationUseGeneratorReturnType
34
+ IterationUsePossiblyOutOfBounds = innerchecker.IterationUsePossiblyOutOfBounds
35
+ IterationUseSpread = innerchecker.IterationUseSpread
36
+ IterationUseSpreadFlag = innerchecker.IterationUseSpreadFlag
37
+ IterationUseYieldStar = innerchecker.IterationUseYieldStar
38
+ IterationUseYieldStarFlag = innerchecker.IterationUseYieldStarFlag
39
+ ObjectFlagsAnonymous = innerchecker.ObjectFlagsAnonymous
40
+ ObjectFlagsArrayLiteral = innerchecker.ObjectFlagsArrayLiteral
41
+ ObjectFlagsContainsIntersections = innerchecker.ObjectFlagsContainsIntersections
42
+ ObjectFlagsContainsObjectOrArrayLiteral = innerchecker.ObjectFlagsContainsObjectOrArrayLiteral
43
+ ObjectFlagsContainsSpread = innerchecker.ObjectFlagsContainsSpread
44
+ ObjectFlagsContainsWideningType = innerchecker.ObjectFlagsContainsWideningType
45
+ ObjectFlagsCouldContainTypeVariables = innerchecker.ObjectFlagsCouldContainTypeVariables
46
+ ObjectFlagsCouldContainTypeVariablesComputed = innerchecker.ObjectFlagsCouldContainTypeVariablesComputed
47
+ ObjectFlagsEvolvingArray = innerchecker.ObjectFlagsEvolvingArray
48
+ ObjectFlagsFreshLiteral = innerchecker.ObjectFlagsFreshLiteral
49
+ ObjectFlagsFromTypeNode = innerchecker.ObjectFlagsFromTypeNode
50
+ ObjectFlagsIdenticalBaseTypeCalculated = innerchecker.ObjectFlagsIdenticalBaseTypeCalculated
51
+ ObjectFlagsIdenticalBaseTypeExists = innerchecker.ObjectFlagsIdenticalBaseTypeExists
52
+ ObjectFlagsInstantiated = innerchecker.ObjectFlagsInstantiated
53
+ ObjectFlagsInstantiatedMapped = innerchecker.ObjectFlagsInstantiatedMapped
54
+ ObjectFlagsInstantiationExpressionType = innerchecker.ObjectFlagsInstantiationExpressionType
55
+ ObjectFlagsIsClassInstanceClone = innerchecker.ObjectFlagsIsClassInstanceClone
56
+ ObjectFlagsIsConstrainedTypeVariable = innerchecker.ObjectFlagsIsConstrainedTypeVariable
57
+ ObjectFlagsIsGenericIndexType = innerchecker.ObjectFlagsIsGenericIndexType
58
+ ObjectFlagsIsGenericObjectType = innerchecker.ObjectFlagsIsGenericObjectType
59
+ ObjectFlagsIsGenericType = innerchecker.ObjectFlagsIsGenericType
60
+ ObjectFlagsIsGenericTypeComputed = innerchecker.ObjectFlagsIsGenericTypeComputed
61
+ ObjectFlagsIsNeverIntersection = innerchecker.ObjectFlagsIsNeverIntersection
62
+ ObjectFlagsIsNeverIntersectionComputed = innerchecker.ObjectFlagsIsNeverIntersectionComputed
63
+ ObjectFlagsIsUniformEnum = innerchecker.ObjectFlagsIsUniformEnum
64
+ ObjectFlagsIsUniformEnumComputed = innerchecker.ObjectFlagsIsUniformEnumComputed
65
+ ObjectFlagsIsUnknownLikeUnion = innerchecker.ObjectFlagsIsUnknownLikeUnion
66
+ ObjectFlagsIsUnknownLikeUnionComputed = innerchecker.ObjectFlagsIsUnknownLikeUnionComputed
67
+ ObjectFlagsJSLiteral = innerchecker.ObjectFlagsJSLiteral
68
+ ObjectFlagsJsxAttributes = innerchecker.ObjectFlagsJsxAttributes
69
+ ObjectFlagsMapped = innerchecker.ObjectFlagsMapped
70
+ ObjectFlagsMembersResolved = innerchecker.ObjectFlagsMembersResolved
71
+ ObjectFlagsNonInferrableType = innerchecker.ObjectFlagsNonInferrableType
72
+ ObjectFlagsNone = innerchecker.ObjectFlagsNone
73
+ ObjectFlagsObjectLiteral = innerchecker.ObjectFlagsObjectLiteral
74
+ ObjectFlagsObjectLiteralPatternWithComputedProperties = innerchecker.ObjectFlagsObjectLiteralPatternWithComputedProperties
75
+ ObjectFlagsObjectRestType = innerchecker.ObjectFlagsObjectRestType
76
+ ObjectFlagsObjectTypeKindMask = innerchecker.ObjectFlagsObjectTypeKindMask
77
+ ObjectFlagsPrimitiveUnion = innerchecker.ObjectFlagsPrimitiveUnion
78
+ ObjectFlagsPropagatingFlags = innerchecker.ObjectFlagsPropagatingFlags
79
+ ObjectFlagsRequiresWidening = innerchecker.ObjectFlagsRequiresWidening
80
+ ObjectFlagsReverseMapped = innerchecker.ObjectFlagsReverseMapped
81
+ ObjectFlagsSingleSignatureType = innerchecker.ObjectFlagsSingleSignatureType
82
+ ObjectFlagsTuple = innerchecker.ObjectFlagsTuple
83
+ SignatureFlagsCallChainFlags = innerchecker.SignatureFlagsCallChainFlags
84
+ SignatureFlagsConstruct = innerchecker.SignatureFlagsConstruct
85
+ SignatureFlagsHasLiteralTypes = innerchecker.SignatureFlagsHasLiteralTypes
86
+ SignatureFlagsHasRestParameter = innerchecker.SignatureFlagsHasRestParameter
87
+ SignatureFlagsIsInnerCallChain = innerchecker.SignatureFlagsIsInnerCallChain
88
+ SignatureFlagsIsNonInferrable = innerchecker.SignatureFlagsIsNonInferrable
89
+ SignatureFlagsIsOuterCallChain = innerchecker.SignatureFlagsIsOuterCallChain
90
+ SignatureFlagsIsSignatureCandidateForOverloadFailure = innerchecker.SignatureFlagsIsSignatureCandidateForOverloadFailure
91
+ SignatureFlagsIsUntypedSignatureInJSFile = innerchecker.SignatureFlagsIsUntypedSignatureInJSFile
92
+ SignatureFlagsNone = innerchecker.SignatureFlagsNone
93
+ SignatureFlagsPropagatingFlags = innerchecker.SignatureFlagsPropagatingFlags
94
+ SignatureKindConstruct = innerchecker.SignatureKindConstruct
95
+ TypeFlagsAnyOrUnknown = innerchecker.TypeFlagsAnyOrUnknown
96
+ TypeFlagsBigInt = innerchecker.TypeFlagsBigInt
97
+ TypeFlagsBoolean = innerchecker.TypeFlagsBoolean
98
+ TypeFlagsConditional = innerchecker.TypeFlagsConditional
99
+ TypeFlagsDefinitelyFalsy = innerchecker.TypeFlagsDefinitelyFalsy
100
+ TypeFlagsDefinitelyNonNullable = innerchecker.TypeFlagsDefinitelyNonNullable
101
+ TypeFlagsDisjointDomains = innerchecker.TypeFlagsDisjointDomains
102
+ TypeFlagsESSymbol = innerchecker.TypeFlagsESSymbol
103
+ TypeFlagsESSymbolLike = innerchecker.TypeFlagsESSymbolLike
104
+ TypeFlagsFreshable = innerchecker.TypeFlagsFreshable
105
+ TypeFlagsIncludesConstrainedTypeVariable = innerchecker.TypeFlagsIncludesConstrainedTypeVariable
106
+ TypeFlagsIncludesEmptyObject = innerchecker.TypeFlagsIncludesEmptyObject
107
+ TypeFlagsIncludesError = innerchecker.TypeFlagsIncludesError
108
+ TypeFlagsIncludesInstantiable = innerchecker.TypeFlagsIncludesInstantiable
109
+ TypeFlagsIncludesMask = innerchecker.TypeFlagsIncludesMask
110
+ TypeFlagsIncludesMissingType = innerchecker.TypeFlagsIncludesMissingType
111
+ TypeFlagsIncludesNonWideningType = innerchecker.TypeFlagsIncludesNonWideningType
112
+ TypeFlagsIncludesWildcard = innerchecker.TypeFlagsIncludesWildcard
113
+ TypeFlagsIndex = innerchecker.TypeFlagsIndex
114
+ TypeFlagsIndexedAccess = innerchecker.TypeFlagsIndexedAccess
115
+ TypeFlagsInstantiable = innerchecker.TypeFlagsInstantiable
116
+ TypeFlagsInstantiableNonPrimitive = innerchecker.TypeFlagsInstantiableNonPrimitive
117
+ TypeFlagsInstantiablePrimitive = innerchecker.TypeFlagsInstantiablePrimitive
118
+ TypeFlagsIntrinsic = innerchecker.TypeFlagsIntrinsic
119
+ TypeFlagsNarrowable = innerchecker.TypeFlagsNarrowable
120
+ TypeFlagsNonPrimitive = innerchecker.TypeFlagsNonPrimitive
121
+ TypeFlagsNone = innerchecker.TypeFlagsNone
122
+ TypeFlagsNotPrimitiveUnion = innerchecker.TypeFlagsNotPrimitiveUnion
123
+ TypeFlagsNullable = innerchecker.TypeFlagsNullable
124
+ TypeFlagsNumber = innerchecker.TypeFlagsNumber
125
+ TypeFlagsObjectFlagsType = innerchecker.TypeFlagsObjectFlagsType
126
+ TypeFlagsPossiblyFalsy = innerchecker.TypeFlagsPossiblyFalsy
127
+ TypeFlagsPrimitive = innerchecker.TypeFlagsPrimitive
128
+ TypeFlagsReserved1 = innerchecker.TypeFlagsReserved1
129
+ TypeFlagsReserved2 = innerchecker.TypeFlagsReserved2
130
+ TypeFlagsReserved3 = innerchecker.TypeFlagsReserved3
131
+ TypeFlagsSimplifiable = innerchecker.TypeFlagsSimplifiable
132
+ TypeFlagsSingleton = innerchecker.TypeFlagsSingleton
133
+ TypeFlagsString = innerchecker.TypeFlagsString
134
+ TypeFlagsStringOrNumberLiteral = innerchecker.TypeFlagsStringOrNumberLiteral
135
+ TypeFlagsStringOrNumberLiteralOrUnique = innerchecker.TypeFlagsStringOrNumberLiteralOrUnique
136
+ TypeFlagsStructuredOrInstantiable = innerchecker.TypeFlagsStructuredOrInstantiable
137
+ TypeFlagsStructuredType = innerchecker.TypeFlagsStructuredType
138
+ TypeFlagsSubstitution = innerchecker.TypeFlagsSubstitution
139
+ TypeFlagsTypeParameter = innerchecker.TypeFlagsTypeParameter
140
+ TypeFlagsTypeVariable = innerchecker.TypeFlagsTypeVariable
141
+ TypeFlagsUnionOrIntersection = innerchecker.TypeFlagsUnionOrIntersection
142
+ TypeFlagsUniqueESSymbol = innerchecker.TypeFlagsUniqueESSymbol
143
+ TypeFlagsUnit = innerchecker.TypeFlagsUnit
144
+ TypeFlagsVoidLike = innerchecker.TypeFlagsVoidLike
145
+ TypeMapperKindArrayToSingle = innerchecker.TypeMapperKindArrayToSingle
146
+ TypeMapperKindComposite = innerchecker.TypeMapperKindComposite
147
+ TypeMapperKindDeferred = innerchecker.TypeMapperKindDeferred
148
+ TypeMapperKindFunction = innerchecker.TypeMapperKindFunction
149
+ TypeMapperKindInference = innerchecker.TypeMapperKindInference
150
+ )
@@ -0,0 +1,37 @@
1
+ {
2
+ "ExtraMethods": {
3
+ "Checker": [
4
+ "getApparentType",
5
+ "getIndexTypeOfType",
6
+ "getPropertiesOfType",
7
+ "getTypeOfSymbol",
8
+ "getDeclaredTypeOfSymbol",
9
+ "getBaseTypes",
10
+ "getTypeArguments",
11
+ "getIndexInfosOfType",
12
+ "isArrayType",
13
+ "isArrayOrTupleType",
14
+ "isTypeAssignableTo",
15
+ "isReadonlySymbol",
16
+ "getWidenedType",
17
+ "getPropertyNameForKnownSymbolName",
18
+ "getBaseConstraintOfType",
19
+ "getNullableType",
20
+ "getExportsOfModule"
21
+ ]
22
+ },
23
+ "ExtraFields": {
24
+ "NodeBuilder": [
25
+ "impl"
26
+ ],
27
+ "Type": [
28
+ "alias"
29
+ ],
30
+ "Checker": [
31
+ "globalRegExpType"
32
+ ]
33
+ },
34
+ "ExtraFieldFiles": {
35
+ "NodeBuilder": "node_builder_fields_gen.go"
36
+ }
37
+ }
@@ -0,0 +1,15 @@
1
+ module github.com/microsoft/TypeScript/tsc/shim/checker
2
+
3
+ go 1.27
4
+
5
+ require github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906
6
+
7
+ require (
8
+ github.com/Microsoft/go-winio v0.6.2 // indirect
9
+ github.com/klauspost/compress v1.20.0 // indirect
10
+ github.com/klauspost/cpuid/v2 v2.2.10 // indirect
11
+ github.com/zeebo/xxh3 v1.1.0 // indirect
12
+ golang.org/x/sync v0.23.0 // indirect
13
+ golang.org/x/sys v0.48.0 // indirect
14
+ golang.org/x/text v0.42.0 // indirect
15
+ )
@@ -0,0 +1,24 @@
1
+ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
2
+ github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
3
+ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
4
+ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
5
+ github.com/klauspost/compress v1.20.0 h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR0ezA=
6
+ github.com/klauspost/compress v1.20.0/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
7
+ github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE=
8
+ github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
9
+ github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906 h1:Wn+Kp4ORyay6jJwvOng7G8pTD6HOP+Fwx8si66Wq7Bk=
10
+ github.com/microsoft/TypeScript/tsc v0.0.0-20261019224239-28534d760906/go.mod h1:28hWKaTYwRARPm0T9Y0XvdvYpU2HtjONzsMqAdYLucY=
11
+ github.com/peter-evans/patience v0.3.0 h1:rX0JdJeepqdQl1Sk9c9uvorjYYzL2TfgLX1adqYm9cA=
12
+ github.com/peter-evans/patience v0.3.0/go.mod h1:Kmxu5sY1NmBLFSStvXjX1wS9mIv7wMcP/ubucyMOAu0=
13
+ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
14
+ github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
15
+ github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs=
16
+ github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s=
17
+ golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
18
+ golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
19
+ golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
20
+ golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
21
+ golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
22
+ golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
23
+ gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
24
+ gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
@@ -0,0 +1,19 @@
1
+ // Code generated by packages/ttsc/tools/gen_shims. DO NOT EDIT.
2
+
3
+ package checker
4
+
5
+ import (
6
+ checker "github.com/microsoft/TypeScript/tsc/internal/checker"
7
+ unsafe "unsafe"
8
+ )
9
+
10
+ type extra_NodeBuilder struct {
11
+ ctxStack []*checker.NodeBuilderContext
12
+ host checker.Host
13
+ impl *checker.NodeBuilderImpl
14
+ verbosity *checker.VerbosityContext
15
+ }
16
+
17
+ func nodeBuilder_impl(value *checker.NodeBuilder) *checker.NodeBuilderImpl {
18
+ return ((*extra_NodeBuilder)(unsafe.Pointer(value))).impl
19
+ }