From d62c62ce24f27a7730ee9af85220c383cdeb15d3 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Tue, 30 Jun 2026 23:01:42 +0100 Subject: [PATCH 01/27] Rename TypeScript Compiler to TSLang - Updated the executable name from `tsc` to `tslang` in CMakeLists.txt and related files. - Changed debug type definitions from "tsc" to "tslang" across multiple source files. - Modified error and warning messages to reflect the new name. - Adjusted library path variables and command line options to use `tslang` instead of `tsc`. - Updated version printing function to display TSLANG_PACKAGE_VERSION. --- .github/codeql/codeql-config.yml | 2 +- .../workflows/cmake-test-release-linux.yml | 14 +- .github/workflows/cmake-test-release-win.yml | 14 +- .github/workflows/create-release.yml | 74 ++--- .gitignore | 8 +- .travis.yml | 6 +- README.md | 66 ++--- docs/VisualStudio/CustomTool/tsc.props | 12 +- docs/VisualStudio/CustomTool/tsc.targets | 32 +- docs/VisualStudio/CustomTool/tsc.xml | 20 +- .../etc/config/typescript.defaults.properties | 18 +- .../infra/bin/yaml/typescript.yaml | 10 +- .../lib/compilers/typescript.js | 14 +- docs/how/cmake/gc_example/CMakeLists.txt | 2 +- docs/how/cmake/gc_example/typescript.cmake | 18 +- docs/how/cmake_vulkan/CMakeLists.txt | 2 +- docs/how/cmake_vulkan/typescript.cmake | 18 +- docs/how/cmake_winapp/CMakeLists.txt | 2 +- docs/how/cmake_winapp/typescript.cmake | 18 +- docs/how/wasm/test/test_wasm.ps1 | 8 +- docs/how/wasm/wasm/tsc_wasm.bat | 4 +- docs/how/wasm/wasm/tsc_wasm_emscripten.bat | 4 +- tsc.code-workspace | 14 +- tsc/CMakeLists.txt | 4 +- tsc/CMakePresets.json | 4 +- tsc/build_tsc_debug-test.bat | 2 +- tsc/build_tsc_debug-test.sh | 2 +- tsc/build_tsc_debug-unittests.bat | 2 +- tsc/build_tsc_debug.bat | 2 +- tsc/build_tsc_debug.sh | 4 +- tsc/build_tsc_defaultlib_debug.bat | 6 +- tsc/build_tsc_defaultlib_release.bat | 6 +- tsc/build_tsc_release-test.bat | 2 +- tsc/build_tsc_release-test.sh | 2 +- tsc/build_tsc_release.bat | 2 +- tsc/build_tsc_release.sh | 2 +- tsc/config_tsc_debug.bat | 6 +- tsc/config_tsc_debug.sh | 6 +- tsc/config_tsc_release.bat | 6 +- tsc/config_tsc_release.sh | 6 +- tsc/include/.vscode/c_cpp_properties.json | 4 +- tsc/include/TypeScript/VSCodeTemplate/Files.h | 28 +- tsc/include/TypeScript/Version.h | 4 +- tsc/lib/.vscode/c_cpp_properties.json | 4 +- tsc/lib/TypeScript/MLIRGen.cpp | 4 +- tsc/test/.vscode/c_cpp_properties.json | 4 +- tsc/test/.vscode/launch.json | 36 +-- tsc/test/tester/CMakeLists.txt | 10 +- tsc/test/tester/test-runner.cpp | 82 +++--- .../.vscode/c_cpp_properties.json | 4 +- tsc/tsc-new-parser/.vscode/launch.json | 10 +- tsc/tsc-new-parser/CMakeLists.txt | 4 +- tsc/tsc/.vscode/c_cpp_properties.json | 4 +- tsc/tsc/.vscode/launch.json | 278 +++++++++--------- tsc/tsc/.vscode/tasks.json | 28 +- tsc/tsc/CMakeLists.txt | 14 +- tsc/tsc/compile.cpp | 4 +- tsc/tsc/declarationInline.cpp | 6 +- tsc/tsc/defaultlib.cpp | 42 +-- tsc/tsc/dump.cpp | 8 +- tsc/tsc/exe.cpp | 44 +-- tsc/tsc/jit.cpp | 18 +- tsc/tsc/obj.cpp | 22 +- tsc/tsc/opts.cpp | 2 +- tsc/tsc/transform.cpp | 2 +- tsc/tsc/tsc.cpp | 14 +- tsc/tsc/utils.cpp | 4 +- tsc/tsc/vscode.cpp | 30 +- 68 files changed, 579 insertions(+), 579 deletions(-) diff --git a/.github/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml index 42cf9ffd9..6c752b394 100644 --- a/.github/codeql/codeql-config.yml +++ b/.github/codeql/codeql-config.yml @@ -10,7 +10,7 @@ disable-default-queries: false #no uaws in cpp #paths: -# - tsc +# - tslang #no uaws in cpp #paths-ignore: diff --git a/.github/workflows/cmake-test-release-linux.yml b/.github/workflows/cmake-test-release-linux.yml index 5edfa28db..efa134141 100644 --- a/.github/workflows/cmake-test-release-linux.yml +++ b/.github/workflows/cmake-test-release-linux.yml @@ -57,11 +57,11 @@ jobs: - name: Delete __Build TS folders continue-on-error: true - run: rm -R ./__build/tsc/ninja/release + run: rm -R ./__build/tslang/ninja/release shell: sh - name: Create __Build Folders - run: mkdir -p ./__build/tsc/ninja/release; mkdir -p ./__build/gc/ninja/release + run: mkdir -p ./__build/tslang/ninja/release; mkdir -p ./__build/gc/ninja/release shell: sh - name: Download 3rd party - LLVM @@ -132,7 +132,7 @@ jobs: working-directory: ${{github.workspace}}/__build/gc/ninja/release shell: sh # Generates the BDWgc CMake package files (lib/cmake/bdwgc/BDWgcConfig.cmake) - # that the tsc build looks up via find_package(BDWgc CONFIG). + # that the tslang build looks up via find_package(BDWgc CONFIG). run: cmake --install . --config ${{ env.BUILD_TYPE }} - name: List GC files @@ -143,19 +143,19 @@ jobs: - name: Configure continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/ninja/release + working-directory: ${{github.workspace}}/__build/tslang/ninja/release shell: sh - run: cmake ../../../../tsc -G "Ninja" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -Wno-dev + run: cmake ../../../../tslang -G "Ninja" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -Wno-dev - name: Build continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/ninja/release + working-directory: ${{github.workspace}}/__build/tslang/ninja/release shell: sh run: cmake --build . --config ${{ env.BUILD_TYPE }} -j 4 - name: Test continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/ninja/release + working-directory: ${{github.workspace}}/__build/tslang/ninja/release shell: sh # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail diff --git a/.github/workflows/cmake-test-release-win.yml b/.github/workflows/cmake-test-release-win.yml index bc2b28bd9..b03ade16b 100644 --- a/.github/workflows/cmake-test-release-win.yml +++ b/.github/workflows/cmake-test-release-win.yml @@ -57,11 +57,11 @@ jobs: - name: Delete __Build TS folders continue-on-error: true - run: if (Test-Path -Path ".\__build\tsc\msbuild\x64\release") { Remove-Item -Recurse -Force ".\__build\tsc\msbuild\x64\release" } + run: if (Test-Path -Path ".\__build\tslang\msbuild\x64\release") { Remove-Item -Recurse -Force ".\__build\tslang\msbuild\x64\release" } shell: pwsh - name: Create __Build Folders - run: if (!(Test-Path -Path ".\__build\tsc\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\tsc\msbuild\x64\release" }; if (!(Test-Path -Path ".\__build\llvm\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\llvm\msbuild\x64\release" }; if (!(Test-Path -Path ".\__build\gc\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\gc\msbuild\x64\release" }; + run: if (!(Test-Path -Path ".\__build\tslang\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\tslang\msbuild\x64\release" }; if (!(Test-Path -Path ".\__build\llvm\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\llvm\msbuild\x64\release" }; if (!(Test-Path -Path ".\__build\gc\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\gc\msbuild\x64\release" }; shell: pwsh - name: Download 3rd party - LLVM @@ -115,7 +115,7 @@ jobs: continue-on-error: false working-directory: ${{github.workspace}}/__build/gc/msbuild/x64/release # Generates the BDWgc CMake package files (lib/cmake/bdwgc/BDWgcConfig.cmake) - # that the tsc build looks up via find_package(BDWgc CONFIG). + # that the tslang build looks up via find_package(BDWgc CONFIG). run: cmake --install . --config ${{ env.BUILD_TYPE }} shell: pwsh @@ -127,18 +127,18 @@ jobs: - name: Configure continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/msbuild/x64/release - run: cmake ../../../../../tsc -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -Wno-dev + working-directory: ${{github.workspace}}/__build/tslang/msbuild/x64/release + run: cmake ../../../../../tslang -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -Wno-dev shell: pwsh - name: Build continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/msbuild/x64/release + working-directory: ${{github.workspace}}/__build/tslang/msbuild/x64/release run: cmake --build . --config ${{ env.BUILD_TYPE }} -j 8 shell: pwsh - name: Test - working-directory: ${{github.workspace}}/__build/tsc/msbuild/x64/release + working-directory: ${{github.workspace}}/__build/tslang/msbuild/x64/release # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ctest -j1 -C ${{ env.BUILD_TYPE }} -T test --output-on-failure -T test --output-on-failure diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 477c7473b..476f36c76 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -57,11 +57,11 @@ jobs: - name: Delete __Build TS folders continue-on-error: true - run: if (Test-Path -Path ".\__build\tsc\msbuild\x64\release") { Remove-Item -Recurse -Force ".\__build\tsc\msbuild\x64\release" } + run: if (Test-Path -Path ".\__build\tslang\msbuild\x64\release") { Remove-Item -Recurse -Force ".\__build\tslang\msbuild\x64\release" } shell: pwsh - name: Create __Build Folders - run: if (!(Test-Path -Path ".\__build\tsc\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\tsc\msbuild\x64\release" }; if (!(Test-Path -Path ".\__build\llvm\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\llvm\msbuild\x64\release" }; if (!(Test-Path -Path ".\__build\gc\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\gc\msbuild\x64\release" }; + run: if (!(Test-Path -Path ".\__build\tslang\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\tslang\msbuild\x64\release" }; if (!(Test-Path -Path ".\__build\llvm\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\llvm\msbuild\x64\release" }; if (!(Test-Path -Path ".\__build\gc\msbuild\x64\release")) { New-Item -ItemType Directory -Force -Path ".\__build\gc\msbuild\x64\release" }; shell: pwsh - name: Download 3rd party - LLVM @@ -119,31 +119,31 @@ jobs: continue-on-error: false working-directory: ${{github.workspace}}/__build/gc/msbuild/x64/release # Generates the BDWgc CMake package files (lib/cmake/bdwgc/BDWgcConfig.cmake) - # that the tsc build looks up via find_package(BDWgc CONFIG). + # that the tslang build looks up via find_package(BDWgc CONFIG). run: cmake --install . --config ${{ env.BUILD_TYPE }} shell: pwsh - name: Configure continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/msbuild/x64/release - run: cmake ../../../../../tsc -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTSC_PACKAGE_VERSION:STRING="${{ steps.version.outputs.TAG_NAME }}" -Wno-dev + working-directory: ${{github.workspace}}/__build/tslang/msbuild/x64/release + run: cmake ../../../../../tslang -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTSLANG_PACKAGE_VERSION:STRING="${{ steps.version.outputs.TAG_NAME }}" -Wno-dev shell: pwsh - name: Build continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/msbuild/x64/release + working-directory: ${{github.workspace}}/__build/tslang/msbuild/x64/release run: cmake --build . --config ${{ env.BUILD_TYPE }} -j 8 shell: pwsh - name: Test - working-directory: ${{github.workspace}}/__build/tsc/msbuild/x64/release + working-directory: ${{github.workspace}}/__build/tslang/msbuild/x64/release # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ctest -j1 -C ${{ env.BUILD_TYPE }} -T test --output-on-failure -T test --output-on-failure shell: pwsh - # Replicates installDefaultLib() from tsc/defaultlib.cpp: clone the default - # library sources and build them against the tsc/gc/llvm/runtime we just built. + # Replicates installDefaultLib() from tslang/defaultlib.cpp: clone the default + # library sources and build them against the tslang/gc/llvm/runtime we just built. - name: Clone Default Library continue-on-error: false working-directory: ${{github.workspace}} @@ -154,10 +154,10 @@ jobs: continue-on-error: false working-directory: ${{github.workspace}}/TypeScriptCompilerDefaultLib env: - TOOL_PATH: ${{github.workspace}}/__build/tsc/msbuild/x64/release/bin + TOOL_PATH: ${{github.workspace}}/__build/tslang/msbuild/x64/release/bin GC_LIB_PATH: ${{github.workspace}}/__build/gc/msbuild/x64/release/${{ env.BUILD_TYPE }} LLVM_LIB_PATH: ${{github.workspace}}/3rdParty/llvm/x64/release/lib - TSC_LIB_PATH: ${{github.workspace}}/__build/tsc/msbuild/x64/release/lib + TSLANG_LIB_PATH: ${{github.workspace}}/__build/tslang/msbuild/x64/release/lib run: | $env:VSWHERE_PATH = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" .\build.bat release @@ -165,14 +165,14 @@ jobs: - name: Create Zip of Windows Asset working-directory: ${{github.workspace}}/__build - run: Get-ChildItem -Path .\tsc\msbuild\x64\release\bin\tsc.exe, .\tsc\msbuild\x64\release\bin\TypeScriptRuntime.dll, .\gc\msbuild\x64\release\${{ env.BUILD_TYPE }}\gc.lib, .\tsc\msbuild\x64\release\lib\TypeScriptAsyncRuntime.lib, ..\3rdParty\llvm\x64\release\lib\LLVMSupport.lib, ..\3rdParty\llvm\x64\release\bin\wasm-ld.exe, ..\TypeScriptCompilerDefaultLib\__build\release\* | Compress-Archive -DestinationPath ..\tsc.zip + run: Get-ChildItem -Path .\tslang\msbuild\x64\release\bin\tslang.exe, .\tslang\msbuild\x64\release\bin\TypeScriptRuntime.dll, .\gc\msbuild\x64\release\${{ env.BUILD_TYPE }}\gc.lib, .\tslang\msbuild\x64\release\lib\TypeScriptAsyncRuntime.lib, ..\3rdParty\llvm\x64\release\lib\LLVMSupport.lib, ..\3rdParty\llvm\x64\release\bin\wasm-ld.exe, ..\TypeScriptCompilerDefaultLib\__build\release\* | Compress-Archive -DestinationPath ..\tslang.zip shell: pwsh - name: Archive Zip of Windows Asset uses: actions/upload-artifact@v4 with: - name: tsc-windows-asset - path: tsc.zip + name: tslang-windows-asset + path: tslang.zip retention-days: 1 build_on_linux: @@ -214,11 +214,11 @@ jobs: - name: Delete __Build TS folders continue-on-error: true - run: rm -R ./__build/tsc/ninja/release + run: rm -R ./__build/tslang/ninja/release shell: sh - name: Create __Build Folders - run: mkdir -p ./__build/tsc/ninja/release; mkdir -p ./__build/gc/ninja/release + run: mkdir -p ./__build/tslang/ninja/release; mkdir -p ./__build/gc/ninja/release shell: sh - name: Download 3rd party - LLVM @@ -289,24 +289,24 @@ jobs: working-directory: ${{github.workspace}}/__build/gc/ninja/release shell: sh # Generates the BDWgc CMake package files (lib/cmake/bdwgc/BDWgcConfig.cmake) - # that the tsc build looks up via find_package(BDWgc CONFIG). + # that the tslang build looks up via find_package(BDWgc CONFIG). run: cmake --install . --config ${{ env.BUILD_TYPE }} - name: Configure continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/ninja/release + working-directory: ${{github.workspace}}/__build/tslang/ninja/release shell: sh - run: cmake ../../../../tsc -G "Ninja" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTSC_PACKAGE_VERSION:STRING="${{ steps.version.outputs.TAG_NAME }}" -Wno-dev + run: cmake ../../../../tslang -G "Ninja" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTSLANG_PACKAGE_VERSION:STRING="${{ steps.version.outputs.TAG_NAME }}" -Wno-dev - name: Build continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/ninja/release + working-directory: ${{github.workspace}}/__build/tslang/ninja/release shell: sh run: cmake --build . --config ${{ env.BUILD_TYPE }} -j 4 - name: Test continue-on-error: false - working-directory: ${{github.workspace}}/__build/tsc/ninja/release + working-directory: ${{github.workspace}}/__build/tslang/ninja/release shell: sh # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail @@ -314,8 +314,8 @@ jobs: env: LLVM_SYMBOLIZER_PATH: ${{github.workspace}}/3rdParty/llvm/release/bin - # Replicates installDefaultLib() from tsc/defaultlib.cpp: clone the default - # library sources and build them against the tsc/gc/llvm/runtime we just built. + # Replicates installDefaultLib() from tslang/defaultlib.cpp: clone the default + # library sources and build them against the tslang/gc/llvm/runtime we just built. - name: Clone Default Library continue-on-error: false working-directory: ${{github.workspace}} @@ -327,10 +327,10 @@ jobs: working-directory: ${{github.workspace}}/TypeScriptCompilerDefaultLib shell: sh env: - TOOL_PATH: ${{github.workspace}}/__build/tsc/ninja/release/bin + TOOL_PATH: ${{github.workspace}}/__build/tslang/ninja/release/bin GC_LIB_PATH: ${{github.workspace}}/__build/gc/ninja/release LLVM_LIB_PATH: ${{github.workspace}}/3rdParty/llvm/release/lib - TSC_LIB_PATH: ${{github.workspace}}/__build/tsc/ninja/release/lib + TSLANG_LIB_PATH: ${{github.workspace}}/__build/tslang/ninja/release/lib run: chmod +x ./build.sh ./scripts/*.sh; ./build.sh release - name: Create Tar.GZ of Linux Asset @@ -341,21 +341,21 @@ jobs: run: | rm -rf ./__stage mkdir -p ./__stage - cp ./tsc/ninja/release/bin/tsc ./__stage/ - cp ./tsc/ninja/release/lib/libTypeScriptRuntime.so ./__stage/ + cp ./tslang/ninja/release/bin/tslang ./__stage/ + cp ./tslang/ninja/release/lib/libTypeScriptRuntime.so ./__stage/ cp ./gc/ninja/release/libgc.a ./__stage/ - cp ./tsc/ninja/release/lib/libTypeScriptAsyncRuntime.a ./__stage/ + cp ./tslang/ninja/release/lib/libTypeScriptAsyncRuntime.a ./__stage/ cp ../3rdParty/llvm/release/bin/wasm-ld ./__stage/ cp ../3rdParty/llvm/release/lib/libLLVMSupport.a ./__stage/ cp ../3rdParty/llvm/release/lib/libLLVMDemangle.a ./__stage/ cp -r ../TypeScriptCompilerDefaultLib/__build/release/. ./__stage/ - tar -czvhf ../tsc.tar.gz -C ./__stage . + tar -czvhf ../tslang.tar.gz -C ./__stage . - name: Archive Tar.GZ of Linux Asset uses: actions/upload-artifact@v4 with: - name: tsc-linux-asset - path: tsc.tar.gz + name: tslang-linux-asset + path: tslang.tar.gz retention-days: 1 create_release: @@ -384,7 +384,7 @@ jobs: - name: Download Release Asset from Store uses: actions/download-artifact@v4 with: - name: tsc-windows-asset + name: tslang-windows-asset - name: Upload Release Asset (Windows) id: upload-release-asset @@ -393,8 +393,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps - asset_path: ./tsc.zip - asset_name: tsc.zip + asset_path: ./tslang.zip + asset_name: tslang.zip asset_content_type: application/zip deploy_linux_asset: @@ -405,7 +405,7 @@ jobs: - name: Download Release Asset from Store uses: actions/download-artifact@v4 with: - name: tsc-linux-asset + name: tslang-linux-asset - name: Upload Release Asset (Ubuntu 22.04) id: upload-release-asset @@ -414,6 +414,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps - asset_path: ./tsc.tar.gz - asset_name: tsc.tar.gz + asset_path: ./tslang.tar.gz + asset_name: tslang.tar.gz asset_content_type: application/tar+gzip diff --git a/.gitignore b/.gitignore index dee7579c9..e8a502f7c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,10 +4,10 @@ build !3rdParty/llvm-project .vs .antlr -tsc/out -tsc/Testing -tsc/Testing/Temporary/* -tsc/test/tester/tests/*.d.ts +tslang/out +tslang/Testing +tslang/Testing/Temporary/* +tslang/test/tester/tests/*.d.ts package-lock.json node_modules gc-* diff --git a/.travis.yml b/.travis.yml index 5f438a93a..62aeb17f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,10 +8,10 @@ before_script: - pwd - dir - mkdir -p __build/llvm/release - - mkdir -p __build/tsc-release + - mkdir -p __build/tslang-release - mkdir -p 3rdParty/llvm/ - unzip -q ./llvm_13_release.zip -d ./3rdParty/llvm/ script: - - cd __build/tsc-release - - cmake ../../tsc -G "Visual Studio 15 2017" -A x64 -DCMAKE_BUILD_TYPE=Release -Wno-dev + - cd __build/tslang-release + - cmake ../../tslang -G "Visual Studio 15 2017" -A x64 -DCMAKE_BUILD_TYPE=Release -Wno-dev - cmake --build . --config Release -j 8 diff --git a/README.md b/README.md index 452e3ed41..818857779 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ on the fly via a built-in JIT — no Node.js or JavaScript runtime required. - Visual Studio Code project ```bat -tsc --new Test1 +tslang --new Test1 ``` - Strict null checks @@ -99,7 +99,7 @@ const v2 = gen([]); // result: 0 - Improved `generating debug information` — more info here: [Wiki:How-To](https://github.com/ASDAlexander77/TypeScriptCompiler/wiki/How-To#compile-and-debug-with-visual-studio-code) ```bat -tsc --di --opt_level=0 --emit=exe example.ts +tslang --di --opt_level=0 --emit=exe example.ts ``` - [more...](https://github.com/ASDAlexander77/TypeScriptCompiler/wiki/What's-new) @@ -113,14 +113,14 @@ tsc --di --opt_level=0 --emit=exe example.ts [(click here)](https://github.com/ASDAlexander77/TypeScriptCompiler/releases/) -[![Demo](https://raw.githubusercontent.com/ASDAlexander77/ASDAlexander77.github.io/main/img/tsc_emit.gif)](https://github.com/ASDAlexander77/TypeScriptCompiler/releases/) +[![Demo](https://raw.githubusercontent.com/ASDAlexander77/ASDAlexander77.github.io/main/img/tslang_emit.gif)](https://github.com/ASDAlexander77/TypeScriptCompiler/releases/) ## Try it [(click here)](https://godbolt.org/#z:OYLghAFBqd5TKALEBjA9gEwKYFFMCWALugE4A0BIEAZgQDbYB2AhgLbYgDkAjF%2BTXRMiAZVQtGIHgA4BQogFUAztgAKAD24AGfgCsp5eiyagiATwAO2JalIELRcisaoiBIdWaYAwunoBXNiYQACZyLwAZAiZsADlAgCNsUhAAZh5yC3QlYncmXwCg0Mzs3KEomPi2JJT0p2wXNyERIhZSIgLA4LDnbFc8lraiCrjE5LSMpVb2zqKe6eHo0erx9IBKJ3R/UlROLhYEqdIWVwBqVCMlJVOAEWwLIY5hU4BSAHYAIRetAEFT//OQiO/lcZAgFn8CXoBFQp1YHBApyO0WAa1en3eN2%2BP2xANOFjswli7GwEDWiIAbugCJh0V9fni8QTokQIC8QiE7g92k8iHCSYj2SFXiEPqciEgCEoAHTw7BrF6pel/AGY7G4gEHI4nPnM4QAWWw2DcJjJlOpmEVYoA9NbTmx/FNTklTgQ2BZGLzsLToqccHYKd7zpcVEp1W8sb9sRcWFdTj9UBh/MIUVzHsw%2Bdh1EQvNc0zyM3SNf8MExgaDSGSiwzGf8lP4rJWhQmkymTKdjLSfv5CCbgEKFUrTrbAWWiKQQSRSNdff6CIHaTGrtZ7Y6%2BeJ6PQkQ3kmTi%2BjIzia/89URDcaUWbTlSadWVbXT2yOQAVJDYeOJrZt4C3e7p54cMa1zYCcSCnPqQiYCwZgdnyPBaOw0oDla%2B5qlGx6nMAzDJCwOYAEr3GQRBKFeN60u8yq1iehKskKADi2HHH2HafsmzGkIR7QytKSEcoOlGqhG4aHtiNDJv0Qj2iw0RVhR%2B6MHyODckQvKIvmKkZlaw52ugADW4roOcHG4e%2BLCnBxNDJMwuwGR2TAdoc446uKljYPuSn/nyio3HC2AAO4fq2fbqbye5DiOem2bYIE5nZtKxjkwD2WZTBCAAtFqTlnPWCRLmGGEeQWwjSqexIcGFAn/IVGnFae559hV%2B62tVvLSlhMRMdgBFZFxFXaacySkGQiItYWUpwugfLoDQLlWIFX7BX%2BRWOOcxipXyJy7HG7U4fhnHEcJXAbPQ3AAKz8MEXA6OQ6DcM%2BrliHYDinMSbiBkiWw7O%2B7LpPwRDaEdGy6WkqTSqk4MQ5DkMAGyGNwAAs/BsCAbzw2DqTSJjqTw/DbzQ1oWjw%2BQl3XbdXD8EoIBaOQ/1XUd5BwLAKBZn0/hTpQ1BtMASiqMYDQiEg6B%2BZdfDkBg7oMLheS8zE9AC0LJP8OLFgMOMxGoAA%2BloWsa6kp0a8AqBi%2BgEuMKQZV7ErJsq2bADybPy8LAPhOofQ/KQ3PcPwLOoC0hCXfwgjCGIEicDwRNB4oKgaM7%2BgZEYJggOYVg2E9jjQoc8AbOgDh5JT5M3YGpB2DglOQBsSifbsBhTP7Mv84LTu8PwfnHBY3B8MdZ0Xc7ZO4K7qBs2Qpz3VYj32Hyr3zu%2Bvim8kpxaNKi8EtgeunAAUgAks%2BpwQHR3hohAo/YOPz1T4G5CnPgxDDz9PBrH9ANrBsb4sP61Bd1wiPkMjISndK0NoY8GAdDU6p0QipAAJyQKAcTXuXsnBUxpk/IGaR/4Yz1uAngeNIHYLeG8OGXBUg9zpjdBBtMdAbEZsgNA1tVYUCoBAZW9Ck42B1trPWBsjY4ApDCbAAA1Ag/lbZWBFoHBgOZpzUASM7BI0Q2hmA7vwORrBSBmFtgkXQfRaai3FryW2TB6CKNITgBI/hgDeAkPQfOoscBsGMMASQJiCAcX6IGfO10fZsz2KLFkDRnYZ2OGo3wOBnbjjdEojYNAjDc0EcI0RSi5DBw3GHCO8hlBqE0KQuOhgHFJ1cqnCehgCCZ3LjdXOQIEHoCLiXawWd6iNDyJ4JgPg/BdAMJEJYVQagGCyDkJo%2BQ2lFAyH0soTARjdPGJMBo2iBgLFmMEaZjTmgLAmWMFIkx5lDMWU4VZXT1lSArlXMOn9zpwNIWTEeD1bATxelLd6s8bbz0XsvDia8t47z3gfXe18pwinWI/Omz9yCv3fmScgwN0jShCNIdI4d4bSEgajRFWhZAnS/iQ0mCDKbUwofTahEAUAuI5kwuhZsLZ3WuWnO5b0Z5kueUvEqbzTob23rvfeD9wi9jIDSAwkcQ6SHDkkqOmTY41xmRJYIEAvALI6S0tZKwNklH6XkWVIzSgDIVT0pZsyVlDDVQ03VTBBjtC1VM3Z%2Brtk1z2ZUA598aYcWwLyrQpzMX8DJhECI/D9SnE3nhU4cS/Lz2PqfSe9y6Vz1IAvRlK93lsq%2BYfX5t8IEZFOI8%2Bh/z76Asoag8G6MoYFtSIQ7%2BisyEFxxcgoFn8QhurLdmwG5Ai45A8PDIAA%3D%3D) -[![Compiler Explorer](https://asdalexander77.github.io/img/god_bolt_tsc_native.jpg)](https://godbolt.org/#z:OYLghAFBqd5TKALEBjA9gEwKYFFMCWALugE4A0BIEAZgQDbYB2AhgLbYgDkAjF%2BTXRMiAZVQtGIHgA4BQogFUAztgAKAD24AGfgCsp5eiyagiATwAO2JalIELRcisaoiBIdWaYAwunoBXNiYQACZyLwAZAiZsADlAgCNsUhAAZh5yC3QlYncmXwCg0Mzs3KEomPi2JJT0p2wXNyERIhZSIgLA4LDnbFc8lraiCrjE5LSMpVb2zqKe6eHo0erx9IBKJ3R/UlROLhYEqdIWVwBqVCMlJVOAEWwLIY5hU4BSAHYAIRetAEFT//OQiO/lcZAgFn8CXoBFQp1YHBApyO0WAa1en3eN2%2BP2xANOFjswli7GwEDWiIAbugCJh0V9fni8QTokQIC8QiE7g92k8iHCSYj2SFXiEPqciEgCEoAHTw7BrF6pel/AGY7G4gEHI4nPnM4QAWWw2DcJjJlOpmEVYoA9NbTmx/FNTklTgQ2BZGLzsLToqccHYKd7zpcVEp1W8sb9sRcWFdTj9UBh/MIUVzHsw%2Bdh1EQvNc0zyM3SNf8MExgaDSGSiwzGf8lP4rJWhQmkymTKdjLSfv5CCbgEKFUrTrbAWWiKQQSRSNdff6CIHaTGrtZ7Y6%2BeJ6PQkQ3kmTi%2BjIzia/89URDcaUWbTlSadWVbXT2yOQAVJDYeOJrZt4C3e7p54cMa1zYCcSCnPqQiYCwZgdnyPBaOw0oDla%2B5qlGx6nMAzDJCwOYAEr3GQRBKFeN60u8yq1iehKskKADi2HHH2HafsmzGkIR7QytKSEcoOlGqhG4aHtiNDJv0Qj2iw0RVhR%2B6MHyODckQvKIvmKkZlaw52ugADW4roOcHG4e%2BLCnBxNDJMwuwGR2TAdoc446uKljYPuSn/nyio3HC2AAO4fq2fbqbye5DiOem2bYIE5nZtKxjkwD2WZTBCAAtFqTlnPWCRLmGGEeQWwjSqexIcGFAn/IVGnFae559hV%2B62tVvLSlhMRMdgBFZFxFXaacySkGQiItYWUpwugfLoDQLlWIFX7BX%2BRWOOcxipXyJy7HG7U4fhnHEcJXAbPQ3AAKz8MEXA6OQ6DcM%2BrliHYDinMSbiBkiWw7O%2B7LpPwRDaEdGy6WkqTSqk4MQ5DkMAGyGNwAAs/BsCAbzw2DqTSJjqTw/DbzQ1oWjw%2BQl3XbdXD8EoIBaOQ/1XUd5BwLAKBZn0/hTpQ1BtMASiqMYDQiEg6B%2BZdfDkBg7oMLheS8zE9AC0LJP8OLFgMOMxGoAA%2BloWsa6kp0a8AqBi%2BgEuMKQZV7ErJsq2bADybPy8LAPhOofQ/KQ3PcPwLOoC0hCXfwgjCGIEicDwRNB4oKgaM7%2BgZEYJggOYVg2E9jjQoc8AbOgDh5JT5M3YGpB2DglOQBsSifbsBhTP7Mv84LTu8PwfnHBY3B8MdZ0Xc7ZO4K7qBs2Qpz3VYj32Hyr3zu%2Bvim8kpxaNKi8EtgeunAAUgAks%2BpwQHR3hohAo/YOPz1T4G5CnPgxDDz9PBrH9ANrBsb4sP61Bd1wiPkMjISndK0NoY8GAdDU6p0QipAAJyQKAcTXuXsnBUxpk/IGaR/4Yz1uAngeNIHYLeG8OGXBUg9zpjdBBtMdAbEZsgNA1tVYUCoBAZW9Ck42B1trPWBsjY4ApDCbAAA1Ag/lbZWBFoHBgOZpzUASM7BI0Q2hmA7vwORrBSBmFtgkXQfRaai3FryW2TB6CKNITgBI/hgDeAkPQfOoscBsGMMASQJiCAcX6IGfO10fZsz2KLFkDRnYZ2OGo3wOBnbjjdEojYNAjDc0EcI0RSi5DBw3GHCO8hlBqE0KQuOhgHFJ1cqnCehgCCZ3LjdXOQIEHoCLiXawWd6iNDyJ4JgPg/BdAMJEJYVQagGCyDkJo%2BQ2lFAyH0soTARjdPGJMBo2iBgLFmMEaZjTmgLAmWMFIkx5lDMWU4VZXT1lSArlXMOn9zpwNIWTEeD1bATxelLd6s8bbz0XsvDia8t47z3gfXe18pwinWI/Omz9yCv3fmScgwN0jShCNIdI4d4bSEgajRFWhZAnS/iQ0mCDKbUwofTahEAUAuI5kwuhZsLZ3WuWnO5b0Z5kueUvEqbzTob23rvfeD9wi9jIDSAwkcQ6SHDkkqOmTY41xmRJYIEAvALI6S0tZKwNklH6XkWVIzSgDIVT0pZsyVlDDVQ03VTBBjtC1VM3Z%2Brtk1z2ZUA598aYcWwLyrQpzMX8DJhECI/D9SnE3nhU4cS/Lz2PqfSe9y6Vz1IAvRlK93lsq%2BYfX5t8IEZFOI8%2Bh/z76Asoag8G6MoYFtSIQ7%2BisyEFxxcgoFn8QhurLdmwG5Ai45A8PDIAA%3D%3D) +[![Compiler Explorer](https://asdalexander77.github.io/img/god_bolt_tslang_native.jpg)](https://godbolt.org/#z:OYLghAFBqd5TKALEBjA9gEwKYFFMCWALugE4A0BIEAZgQDbYB2AhgLbYgDkAjF%2BTXRMiAZVQtGIHgA4BQogFUAztgAKAD24AGfgCsp5eiyagiATwAO2JalIELRcisaoiBIdWaYAwunoBXNiYQACZyLwAZAiZsADlAgCNsUhAAZh5yC3QlYncmXwCg0Mzs3KEomPi2JJT0p2wXNyERIhZSIgLA4LDnbFc8lraiCrjE5LSMpVb2zqKe6eHo0erx9IBKJ3R/UlROLhYEqdIWVwBqVCMlJVOAEWwLIY5hU4BSAHYAIRetAEFT//OQiO/lcZAgFn8CXoBFQp1YHBApyO0WAa1en3eN2%2BP2xANOFjswli7GwEDWiIAbugCJh0V9fni8QTokQIC8QiE7g92k8iHCSYj2SFXiEPqciEgCEoAHTw7BrF6pel/AGY7G4gEHI4nPnM4QAWWw2DcJjJlOpmEVYoA9NbTmx/FNTklTgQ2BZGLzsLToqccHYKd7zpcVEp1W8sb9sRcWFdTj9UBh/MIUVzHsw%2Bdh1EQvNc0zyM3SNf8MExgaDSGSiwzGf8lP4rJWhQmkymTKdjLSfv5CCbgEKFUrTrbAWWiKQQSRSNdff6CIHaTGrtZ7Y6%2BeJ6PQkQ3kmTi%2BjIzia/89URDcaUWbTlSadWVbXT2yOQAVJDYeOJrZt4C3e7p54cMa1zYCcSCnPqQiYCwZgdnyPBaOw0oDla%2B5qlGx6nMAzDJCwOYAEr3GQRBKFeN60u8yq1iehKskKADi2HHH2HafsmzGkIR7QytKSEcoOlGqhG4aHtiNDJv0Qj2iw0RVhR%2B6MHyODckQvKIvmKkZlaw52ugADW4roOcHG4e%2BLCnBxNDJMwuwGR2TAdoc446uKljYPuSn/nyio3HC2AAO4fq2fbqbye5DiOem2bYIE5nZtKxjkwD2WZTBCAAtFqTlnPWCRLmGGEeQWwjSqexIcGFAn/IVGnFae559hV%2B62tVvLSlhMRMdgBFZFxFXaacySkGQiItYWUpwugfLoDQLlWIFX7BX%2BRWOOcxipXyJy7HG7U4fhnHEcJXAbPQ3AAKz8MEXA6OQ6DcM%2BrliHYDinMSbiBkiWw7O%2B7LpPwRDaEdGy6WkqTSqk4MQ5DkMAGyGNwAAs/BsCAbzw2DqTSJjqTw/DbzQ1oWjw%2BQl3XbdXD8EoIBaOQ/1XUd5BwLAKBZn0/hTpQ1BtMASiqMYDQiEg6B%2BZdfDkBg7oMLheS8zE9AC0LJP8OLFgMOMxGoAA%2BloWsa6kp0a8AqBi%2BgEuMKQZV7ErJsq2bADybPy8LAPhOofQ/KQ3PcPwLOoC0hCXfwgjCGIEicDwRNB4oKgaM7%2BgZEYJggOYVg2E9jjQoc8AbOgDh5JT5M3YGpB2DglOQBsSifbsBhTP7Mv84LTu8PwfnHBY3B8MdZ0Xc7ZO4K7qBs2Qpz3VYj32Hyr3zu%2Bvim8kpxaNKi8EtgeunAAUgAks%2BpwQHR3hohAo/YOPz1T4G5CnPgxDDz9PBrH9ANrBsb4sP61Bd1wiPkMjISndK0NoY8GAdDU6p0QipAAJyQKAcTXuXsnBUxpk/IGaR/4Yz1uAngeNIHYLeG8OGXBUg9zpjdBBtMdAbEZsgNA1tVYUCoBAZW9Ck42B1trPWBsjY4ApDCbAAA1Ag/lbZWBFoHBgOZpzUASM7BI0Q2hmA7vwORrBSBmFtgkXQfRaai3FryW2TB6CKNITgBI/hgDeAkPQfOoscBsGMMASQJiCAcX6IGfO10fZsz2KLFkDRnYZ2OGo3wOBnbjjdEojYNAjDc0EcI0RSi5DBw3GHCO8hlBqE0KQuOhgHFJ1cqnCehgCCZ3LjdXOQIEHoCLiXawWd6iNDyJ4JgPg/BdAMJEJYVQagGCyDkJo%2BQ2lFAyH0soTARjdPGJMBo2iBgLFmMEaZjTmgLAmWMFIkx5lDMWU4VZXT1lSArlXMOn9zpwNIWTEeD1bATxelLd6s8bbz0XsvDia8t47z3gfXe18pwinWI/Omz9yCv3fmScgwN0jShCNIdI4d4bSEgajRFWhZAnS/iQ0mCDKbUwofTahEAUAuI5kwuhZsLZ3WuWnO5b0Z5kueUvEqbzTob23rvfeD9wi9jIDSAwkcQ6SHDkkqOmTY41xmRJYIEAvALI6S0tZKwNklH6XkWVIzSgDIVT0pZsyVlDDVQ03VTBBjtC1VM3Z%2Brtk1z2ZUA598aYcWwLyrQpzMX8DJhECI/D9SnE3nhU4cS/Lz2PqfSe9y6Vz1IAvRlK93lsq%2BYfX5t8IEZFOI8%2Bh/z76Asoag8G6MoYFtSIQ7%2BisyEFxxcgoFn8QhurLdmwG5Ai45A8PDIAA%3D%3D) ## Chat Room @@ -168,7 +168,7 @@ function main() { Run ```bat -tsc --emit=jit --opt --shared-libs=TypeScriptRuntime.dll example.ts +tslang --emit=jit --opt --shared-libs=TypeScriptRuntime.dll example.ts ``` Result @@ -183,13 +183,13 @@ The Accounting Department meets each Monday at 10am. - with Garbage collection ```bat -tsc --emit=jit --opt --shared-libs=TypeScriptRuntime.dll hello.ts +tslang --emit=jit --opt --shared-libs=TypeScriptRuntime.dll hello.ts ``` - without Garbage collection ```bat -tsc --emit=jit --nogc hello.ts +tslang --emit=jit --nogc hello.ts ``` File ``hello.ts`` @@ -208,36 +208,36 @@ Hello World! ## Compile as Binary Executable -> Make sure you have [built `tsc` from source](#build) first. +> Make sure you have [built `tslang` from source](#build) first. The compile scripts below set a few environment variables so the linker can find the -runtime libraries, then invoke `tsc` with `--emit=exe`. **Edit the paths to match your +runtime libraries, then invoke `tslang` with `--emit=exe`. **Edit the paths to match your checkout** — the `C:\dev\...` / `~/dev/...` values are only examples. | Variable | Points to | | --- | --- | | `GC_LIB_PATH` | Boehm GC library (the garbage collector) | | `LLVM_LIB_PATH` | LLVM/MLIR libraries | -| `TSC_LIB_PATH` | TSC runtime library | -| `TSCEXEPATH` | Folder containing the `tsc` executable | +| `TSLANG_LIB_PATH` | TSLANG runtime library | +| `TSLANGEXEPATH` | Folder containing the `tslang` executable | ### On Windows -File ``tsc-compile.bat`` +File ``tslang-compile.bat`` ```bat set FILENAME=%1 set GC_LIB_PATH=C:\dev\TypeScriptCompiler\__build\gc\msbuild\x64\release\Release set LLVM_LIB_PATH=C:\dev\TypeScriptCompiler\__build\llvm\msbuild\x64\release\Release\lib -set TSC_LIB_PATH=C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-release\lib -set TSCEXEPATH=C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-release\bin -%TSCEXEPATH%\tsc.exe --opt --emit=exe %FILENAME%.ts +set TSLANG_LIB_PATH=C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-release\lib +set TSLANGEXEPATH=C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-release\bin +%TSLANGEXEPATH%\tslang.exe --opt --emit=exe %FILENAME%.ts ``` Compile ```bat -tsc-compile.bat hello +tslang-compile.bat hello ``` Run @@ -254,21 +254,21 @@ Hello World! ### On Linux (Ubuntu 20.04 and 22.04) -File ``tsc-compile.sh`` +File ``tslang-compile.sh`` ```bash FILENAME=$1 -export TSC_LIB_PATH=~/dev/TypeScriptCompiler/__build/tsc/linux-ninja-gcc-release/lib +export TSLANG_LIB_PATH=~/dev/TypeScriptCompiler/__build/tslang/linux-ninja-gcc-release/lib export LLVM_LIB_PATH=~/dev/TypeScriptCompiler/3rdParty/llvm/release/lib export GC_LIB_PATH=~/dev/TypeScriptCompiler/3rdParty/gc/release -TSCEXEPATH=~/dev/TypeScriptCompiler/__build/tsc/linux-ninja-gcc-release/bin -$TSCEXEPATH/tsc --emit=exe $FILENAME.ts --relocation-model=pic +TSLANGEXEPATH=~/dev/TypeScriptCompiler/__build/tslang/linux-ninja-gcc-release/bin +$TSLANGEXEPATH/tslang --emit=exe $FILENAME.ts --relocation-model=pic ``` Compile ```bash -sh -f tsc-compile.sh hello +sh -f tslang-compile.sh hello ``` Run @@ -287,19 +287,19 @@ Hello World! ### On Windows -File ``tsc-compile-wasm.bat`` +File ``tslang-compile-wasm.bat`` ```bat set FILENAME=%1 set GC_LIB_PATH=C:\dev\TypeScriptCompiler\__build\gc\msbuild\x64\release\Release set LLVM_LIB_PATH=C:\dev\TypeScriptCompiler\__build\llvm\msbuild\x64\release\Release\lib -set TSC_LIB_PATH=C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-release\lib -C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-release\bin\tsc.exe --emit=exe --nogc -mtriple=wasm32-unknown-unknown %FILENAME%.ts +set TSLANG_LIB_PATH=C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-release\lib +C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-release\bin\tslang.exe --emit=exe --nogc -mtriple=wasm32-unknown-unknown %FILENAME%.ts ``` Compile ```bat -tsc-compile-wasm.bat hello +tslang-compile-wasm.bat hello ``` Run ``run.html`` @@ -465,12 +465,12 @@ cd TypeScriptCompiler prepare_3rdParty.bat ``` -To build ``TSC`` binaries: +To build ``TSLANG`` binaries: ```bat -cd TypeScriptCompiler\tsc -config_tsc_release.bat -build_tsc_release.bat +cd TypeScriptCompiler\tslang +config_tslang_release.bat +build_tslang_release.bat ``` ### On Linux (Ubuntu 20.04 and 22.04) @@ -491,13 +491,13 @@ cd ~/TypeScriptCompiler ./prepare_3rdParty.sh ``` -To build ``TSC`` binaries: +To build ``TSLANG`` binaries: ```bash -cd ~/TypeScriptCompiler/tsc +cd ~/TypeScriptCompiler/tslang chmod +x *.sh -./config_tsc_release.sh -./build_tsc_release.sh +./config_tslang_release.sh +./build_tslang_release.sh ``` ## License diff --git a/docs/VisualStudio/CustomTool/tsc.props b/docs/VisualStudio/CustomTool/tsc.props index 357f63b20..a294252ec 100644 --- a/docs/VisualStudio/CustomTool/tsc.props +++ b/docs/VisualStudio/CustomTool/tsc.props @@ -1,14 +1,14 @@ - - Midl - CustomBuild + + Midl + CustomBuild - + $(IntDir)%(FileName).obj - "tsc.exe" --emit=obj -o=$(IntDir)%(FileName).obj [AllOptions] [AdditionalOptions] "%(FullPath)" + "tslang.exe" --emit=obj -o=$(IntDir)%(FileName).obj [AllOptions] [AdditionalOptions] "%(FullPath)" Compiling %(Filename)%(Extension) - + diff --git a/docs/VisualStudio/CustomTool/tsc.targets b/docs/VisualStudio/CustomTool/tsc.targets index 7bbbcb05f..1835cb797 100644 --- a/docs/VisualStudio/CustomTool/tsc.targets +++ b/docs/VisualStudio/CustomTool/tsc.targets @@ -2,40 +2,40 @@ - - _TSC + + _TSLANG $(ComputeLinkInputsTargets); - ComputeTSCOutput; + ComputeTSLANGOutput; $(ComputeLibInputsTargets); - ComputeTSCOutput; + ComputeTSLANGOutput; - + $(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml - + - + - - @(TSC, '|') - + + @(TSLANG, '|') + - - - + + + - + - - + + diff --git a/docs/VisualStudio/CustomTool/tsc.xml b/docs/VisualStudio/CustomTool/tsc.xml index 02441adfd..221e08d8b 100644 --- a/docs/VisualStudio/CustomTool/tsc.xml +++ b/docs/VisualStudio/CustomTool/tsc.xml @@ -1,8 +1,8 @@ - + - + @@ -28,7 +28,7 @@ - + @@ -71,7 +71,7 @@ Switch="--size_level=2"/> - + Execute Before @@ -79,13 +79,13 @@ Specifies the targets for the build customization to run before. - + - + Execute After @@ -93,7 +93,7 @@ Specifies the targets for the build customization to run after. - + @@ -110,7 +110,7 @@ - - - + + + diff --git a/docs/compiler-explorer/etc/config/typescript.defaults.properties b/docs/compiler-explorer/etc/config/typescript.defaults.properties index 811d2545d..64fedca1e 100644 --- a/docs/compiler-explorer/etc/config/typescript.defaults.properties +++ b/docs/compiler-explorer/etc/config/typescript.defaults.properties @@ -1,17 +1,17 @@ # Default settings for TypeScript Compiler -compilers=&tsc +compilers=&tslang compilerType=typescript versionFlag=--version -group.tsc.compilers=tsc_jit_gc:tsc_jit_nogc -compiler.tsc_jit_gc.exe=/home/alex/TypeScriptCompiler/__build/tsc-ninja/bin/tsc -compiler.tsc_jit_gc.sharedlibs=/home/alex/TypeScriptCompiler/__build/tsc-ninja/lib/libTypeScriptRuntime.so -compiler.tsc_jit_gc.name=TypeScript JIT (GC) -compiler.tsc_jit_nogc.exe=/home/alex/TypeScriptCompiler/__build/tsc-ninja/bin/tsc -compiler.tsc_jit_nogc.sharedlibs= -compiler.tsc_jit_nogc.name=TypeScript JIT (No GC) +group.tslang.compilers=tslang_jit_gc:tslang_jit_nogc +compiler.tslang_jit_gc.exe=/home/alex/TypeScriptCompiler/__build/tslang-ninja/bin/tslang +compiler.tslang_jit_gc.sharedlibs=/home/alex/TypeScriptCompiler/__build/tslang-ninja/lib/libTypeScriptRuntime.so +compiler.tslang_jit_gc.name=TypeScript JIT (GC) +compiler.tslang_jit_nogc.exe=/home/alex/TypeScriptCompiler/__build/tslang-ninja/bin/tslang +compiler.tslang_jit_nogc.sharedlibs= +compiler.tslang_jit_nogc.name=TypeScript JIT (No GC) -defaultCompiler=tsc_jit_gc +defaultCompiler=tslang_jit_gc supportsBinary=false supportsExecute=true interpreted=true diff --git a/docs/compiler-explorer/infra/bin/yaml/typescript.yaml b/docs/compiler-explorer/infra/bin/yaml/typescript.yaml index 88cedce53..bce5be4ed 100644 --- a/docs/compiler-explorer/infra/bin/yaml/typescript.yaml +++ b/docs/compiler-explorer/infra/bin/yaml/typescript.yaml @@ -1,11 +1,11 @@ compilers: - tsc-native: + tslang-native: type: tarballs - dir: tsc-{name} - untar_dir: tsc-ninja-release + dir: tslang-{name} + untar_dir: tslang-ninja-release compression: gz - check_exe: bin/tsc --version - url: https://github.com/ASDAlexander77/TypeScriptCompiler/releases/download/v{name}/tsc.tar.gz + check_exe: bin/tslang --version + url: https://github.com/ASDAlexander77/TypeScriptCompiler/releases/download/v{name}/tslang.tar.gz targets: - 0.0-pre-alpha20 diff --git a/docs/compiler-explorer/lib/compilers/typescript.js b/docs/compiler-explorer/lib/compilers/typescript.js index e31680a4d..155683202 100644 --- a/docs/compiler-explorer/lib/compilers/typescript.js +++ b/docs/compiler-explorer/lib/compilers/typescript.js @@ -20,8 +20,8 @@ export class TypeScriptCompiler extends BaseCompiler { this.compiler.supportsIntel = false; this.compiler.supportsIrView = true; - this.tscJit = this.compilerProps(`compiler.${this.compiler.id}.exe`); - this.tscSharedLib = this.compilerProps(`compiler.${this.compiler.id}.sharedlibs`); + this.tslangJit = this.compilerProps(`compiler.${this.compiler.id}.exe`); + this.tslangSharedLib = this.compilerProps(`compiler.${this.compiler.id}.sharedlibs`); } getSharedLibraryPathsAsArguments() { @@ -36,7 +36,7 @@ export class TypeScriptCompiler extends BaseCompiler { async handleInterpreting(key, executeParameters) { executeParameters.args = [ '--emit=jit', - this.tscSharedLib ? '--shared-libs=' + this.tscSharedLib : '-nogc', + this.tslangSharedLib ? '--shared-libs=' + this.tslangSharedLib : '-nogc', ...executeParameters.args, ]; @@ -52,12 +52,12 @@ export class TypeScriptCompiler extends BaseCompiler { inputFilename ]; - if (!this.tscSharedLib) + if (!this.tslangSharedLib) { newOptions.push('-nogc'); } - const output = await this.runCompilerRawOutput(this.tscJit, newOptions, this.filename(inputFilename), execOptions); + const output = await this.runCompilerRawOutput(this.tslangJit, newOptions, this.filename(inputFilename), execOptions); if (output.code !== 0) { return [{ text: 'Failed to run compiler to get MLIR code' }]; } @@ -75,7 +75,7 @@ export class TypeScriptCompiler extends BaseCompiler { inputFilename ]; - if (!this.tscSharedLib) + if (!this.tslangSharedLib) { newOptions.push('-nogc'); } @@ -84,7 +84,7 @@ export class TypeScriptCompiler extends BaseCompiler { // A higher max output is needed for when the user includes headers execOptions.maxOutput = 1024 * 1024 * 1024; - const output = await this.runCompilerRawOutput(this.tscJit, newOptions, this.filename(inputFilename), execOptions); + const output = await this.runCompilerRawOutput(this.tslangJit, newOptions, this.filename(inputFilename), execOptions); if (output.code !== 0) { return [{ text: 'Failed to run compiler to get IR code' }]; } diff --git a/docs/how/cmake/gc_example/CMakeLists.txt b/docs/how/cmake/gc_example/CMakeLists.txt index 25834d9eb..ec05d0d15 100644 --- a/docs/how/cmake/gc_example/CMakeLists.txt +++ b/docs/how/cmake/gc_example/CMakeLists.txt @@ -25,7 +25,7 @@ endif() include("typescript.cmake") -add_tsc_files("src") +add_tslang_files("src") add_executable( ${PROJECT_NAME} diff --git a/docs/how/cmake/gc_example/typescript.cmake b/docs/how/cmake/gc_example/typescript.cmake index 343c5c38c..e37101694 100644 --- a/docs/how/cmake/gc_example/typescript.cmake +++ b/docs/how/cmake/gc_example/typescript.cmake @@ -1,23 +1,23 @@ -set (ROOT_PATH "I:\\tsc\\57") +set (ROOT_PATH "I:\\tslang\\57") set (_3RD_PARTY_PATH "${ROOT_PATH}") set (BUILD_PATH "${ROOT_PATH}") -set (TSCPATH "${BUILD_PATH}") +set (TSLANGPATH "${BUILD_PATH}") set (GCLIBPATH "${_3RD_PARTY_PATH}") -find_program(TSC_APP tsc.exe HINTS "${TSCPATH}" DOC "path to tsc") +find_program(TSLANG_APP tslang.exe HINTS "${TSLANGPATH}" DOC "path to tslang") -if (NOT TSC_APP) - message(FATAL_ERROR "Can't find tsc.exe") +if (NOT TSLANG_APP) + message(FATAL_ERROR "Can't find tslang.exe") endif() -macro(add_tsc_files subpath) +macro(add_tslang_files subpath) set (baseDir ${CMAKE_CURRENT_SOURCE_DIR}) set (outputDir ${CMAKE_CURRENT_BINARY_DIR}) set (fileSelectPath "${baseDir}/${subpath}") set (TSExt "ts") set (LLExt "ll") - file(GLOB TSC_SRC "${fileSelectPath}/*.${TSExt}") + file(GLOB TSLANG_SRC "${fileSelectPath}/*.${TSExt}") if (CMAKE_BUILD_TYPE STREQUAL "Release") set (TS_FLAGS "-opt") @@ -27,7 +27,7 @@ macro(add_tsc_files subpath) endif() set (TS_FILES) - foreach(F IN LISTS TSC_SRC) + foreach(F IN LISTS TSLANG_SRC) get_filename_component(FileName "${F}" NAME_WE BASE_DIR "${baseDir}") get_filename_component(Ext "${F}" EXT BASE_DIR "${baseDir}") string(TOUPPER ${Ext} ExtUpperCase) @@ -43,7 +43,7 @@ macro(add_tsc_files subpath) add_custom_command( OUTPUT "${obj_file}" - COMMAND "${TSC_APP}" --emit=obj --export=none -o="${obj_file}" ${TS_FLAGS} "${source_file}" + COMMAND "${TSLANG_APP}" --emit=obj --export=none -o="${obj_file}" ${TS_FLAGS} "${source_file}" DEPENDS "${source_file}" BYPRODUCTS "${obj_file}" COMMENT "Compiling ${source_file} to ${obj_file}" diff --git a/docs/how/cmake_vulkan/CMakeLists.txt b/docs/how/cmake_vulkan/CMakeLists.txt index 80835a0b8..ced8b2285 100644 --- a/docs/how/cmake_vulkan/CMakeLists.txt +++ b/docs/how/cmake_vulkan/CMakeLists.txt @@ -34,7 +34,7 @@ endif() include("typescript.cmake") -add_tsc_files("src") +add_tslang_files("src") add_executable( ${PROJECT_NAME} diff --git a/docs/how/cmake_vulkan/typescript.cmake b/docs/how/cmake_vulkan/typescript.cmake index 343c5c38c..e37101694 100644 --- a/docs/how/cmake_vulkan/typescript.cmake +++ b/docs/how/cmake_vulkan/typescript.cmake @@ -1,23 +1,23 @@ -set (ROOT_PATH "I:\\tsc\\57") +set (ROOT_PATH "I:\\tslang\\57") set (_3RD_PARTY_PATH "${ROOT_PATH}") set (BUILD_PATH "${ROOT_PATH}") -set (TSCPATH "${BUILD_PATH}") +set (TSLANGPATH "${BUILD_PATH}") set (GCLIBPATH "${_3RD_PARTY_PATH}") -find_program(TSC_APP tsc.exe HINTS "${TSCPATH}" DOC "path to tsc") +find_program(TSLANG_APP tslang.exe HINTS "${TSLANGPATH}" DOC "path to tslang") -if (NOT TSC_APP) - message(FATAL_ERROR "Can't find tsc.exe") +if (NOT TSLANG_APP) + message(FATAL_ERROR "Can't find tslang.exe") endif() -macro(add_tsc_files subpath) +macro(add_tslang_files subpath) set (baseDir ${CMAKE_CURRENT_SOURCE_DIR}) set (outputDir ${CMAKE_CURRENT_BINARY_DIR}) set (fileSelectPath "${baseDir}/${subpath}") set (TSExt "ts") set (LLExt "ll") - file(GLOB TSC_SRC "${fileSelectPath}/*.${TSExt}") + file(GLOB TSLANG_SRC "${fileSelectPath}/*.${TSExt}") if (CMAKE_BUILD_TYPE STREQUAL "Release") set (TS_FLAGS "-opt") @@ -27,7 +27,7 @@ macro(add_tsc_files subpath) endif() set (TS_FILES) - foreach(F IN LISTS TSC_SRC) + foreach(F IN LISTS TSLANG_SRC) get_filename_component(FileName "${F}" NAME_WE BASE_DIR "${baseDir}") get_filename_component(Ext "${F}" EXT BASE_DIR "${baseDir}") string(TOUPPER ${Ext} ExtUpperCase) @@ -43,7 +43,7 @@ macro(add_tsc_files subpath) add_custom_command( OUTPUT "${obj_file}" - COMMAND "${TSC_APP}" --emit=obj --export=none -o="${obj_file}" ${TS_FLAGS} "${source_file}" + COMMAND "${TSLANG_APP}" --emit=obj --export=none -o="${obj_file}" ${TS_FLAGS} "${source_file}" DEPENDS "${source_file}" BYPRODUCTS "${obj_file}" COMMENT "Compiling ${source_file} to ${obj_file}" diff --git a/docs/how/cmake_winapp/CMakeLists.txt b/docs/how/cmake_winapp/CMakeLists.txt index 16c76baec..5dc58e0e9 100644 --- a/docs/how/cmake_winapp/CMakeLists.txt +++ b/docs/how/cmake_winapp/CMakeLists.txt @@ -14,7 +14,7 @@ cmake_policy(SET CMP0054 NEW) include("typescript.cmake") -add_tsc_files("src") +add_tslang_files("src") add_executable( ${PROJECT_NAME} diff --git a/docs/how/cmake_winapp/typescript.cmake b/docs/how/cmake_winapp/typescript.cmake index 343c5c38c..e37101694 100644 --- a/docs/how/cmake_winapp/typescript.cmake +++ b/docs/how/cmake_winapp/typescript.cmake @@ -1,23 +1,23 @@ -set (ROOT_PATH "I:\\tsc\\57") +set (ROOT_PATH "I:\\tslang\\57") set (_3RD_PARTY_PATH "${ROOT_PATH}") set (BUILD_PATH "${ROOT_PATH}") -set (TSCPATH "${BUILD_PATH}") +set (TSLANGPATH "${BUILD_PATH}") set (GCLIBPATH "${_3RD_PARTY_PATH}") -find_program(TSC_APP tsc.exe HINTS "${TSCPATH}" DOC "path to tsc") +find_program(TSLANG_APP tslang.exe HINTS "${TSLANGPATH}" DOC "path to tslang") -if (NOT TSC_APP) - message(FATAL_ERROR "Can't find tsc.exe") +if (NOT TSLANG_APP) + message(FATAL_ERROR "Can't find tslang.exe") endif() -macro(add_tsc_files subpath) +macro(add_tslang_files subpath) set (baseDir ${CMAKE_CURRENT_SOURCE_DIR}) set (outputDir ${CMAKE_CURRENT_BINARY_DIR}) set (fileSelectPath "${baseDir}/${subpath}") set (TSExt "ts") set (LLExt "ll") - file(GLOB TSC_SRC "${fileSelectPath}/*.${TSExt}") + file(GLOB TSLANG_SRC "${fileSelectPath}/*.${TSExt}") if (CMAKE_BUILD_TYPE STREQUAL "Release") set (TS_FLAGS "-opt") @@ -27,7 +27,7 @@ macro(add_tsc_files subpath) endif() set (TS_FILES) - foreach(F IN LISTS TSC_SRC) + foreach(F IN LISTS TSLANG_SRC) get_filename_component(FileName "${F}" NAME_WE BASE_DIR "${baseDir}") get_filename_component(Ext "${F}" EXT BASE_DIR "${baseDir}") string(TOUPPER ${Ext} ExtUpperCase) @@ -43,7 +43,7 @@ macro(add_tsc_files subpath) add_custom_command( OUTPUT "${obj_file}" - COMMAND "${TSC_APP}" --emit=obj --export=none -o="${obj_file}" ${TS_FLAGS} "${source_file}" + COMMAND "${TSLANG_APP}" --emit=obj --export=none -o="${obj_file}" ${TS_FLAGS} "${source_file}" DEPENDS "${source_file}" BYPRODUCTS "${obj_file}" COMMENT "Compiling ${source_file} to ${obj_file}" diff --git a/docs/how/wasm/test/test_wasm.ps1 b/docs/how/wasm/test/test_wasm.ps1 index e9403c156..a3d626396 100644 --- a/docs/how/wasm/test/test_wasm.ps1 +++ b/docs/how/wasm/test/test_wasm.ps1 @@ -1,9 +1,9 @@ -$files = Get-ChildItem -Path C:\dev\TypeScriptCompiler\tsc\test\tester\tests\ -Filter *.ts -Force +$files = Get-ChildItem -Path C:\dev\TypeScriptCompiler\tslang\test\tester\tests\ -Filter *.ts -Force $Env:GC_LIB_PATH="C:\dev\TypeScriptCompiler\__build\gc\msbuild\x64\debug\Debug" $Env:LLVM_LIB_PATH="C:\dev\TypeScriptCompiler\__build\llvm\msbuild\x64\debug\Debug\lib" -$Env:TSC_LIB_PATH="C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-debug\lib" -$Env:TSC_BIN_PATH="C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-debug\bin" +$Env:TSLANG_LIB_PATH="C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-debug\lib" +$Env:TSLANG_BIN_PATH="C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-debug\bin" #foreach ($file in $files) $files | ForEach-Object -Parallel { @@ -13,7 +13,7 @@ $files | ForEach-Object -Parallel { $out += "Compiling $file ... " - $exe = "$Env:TSC_BIN_PATH\tsc.exe" + $exe = "$Env:TSLANG_BIN_PATH\tslang.exe" $outFileName = $file.BaseName + ".wasm" $stdOutputFileName = $file.BaseName + ".txt" $errOutputFileName = $file.BaseName + ".err" diff --git a/docs/how/wasm/wasm/tsc_wasm.bat b/docs/how/wasm/wasm/tsc_wasm.bat index 543c8640e..529f6761f 100644 --- a/docs/how/wasm/wasm/tsc_wasm.bat +++ b/docs/how/wasm/wasm/tsc_wasm.bat @@ -1,5 +1,5 @@ set GC_LIB_PATH=C:\dev\TypeScriptCompiler\__build\gc\msbuild\x64\debug\Debug set LLVM_LIB_PATH=C:\dev\TypeScriptCompiler\__build\llvm\msbuild\x64\debug\Debug\lib -set TSC_LIB_PATH=C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-debug\lib -C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-debug\bin\tsc.exe --emit=exe --nogc --di -mtriple=wasm32-unknown-unknown C:\temp\1.ts +set TSLANG_LIB_PATH=C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-debug\lib +C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-debug\bin\tslang.exe --emit=exe --nogc --di -mtriple=wasm32-unknown-unknown C:\temp\1.ts copy 1.wasm C:\temp\webassembly3\hello.wasm \ No newline at end of file diff --git a/docs/how/wasm/wasm/tsc_wasm_emscripten.bat b/docs/how/wasm/wasm/tsc_wasm_emscripten.bat index 8002fb7e6..f9ed9055b 100644 --- a/docs/how/wasm/wasm/tsc_wasm_emscripten.bat +++ b/docs/how/wasm/wasm/tsc_wasm_emscripten.bat @@ -1,6 +1,6 @@ set GC_LIB_PATH=C:\dev\TypeScriptCompiler\__build\gc\msbuild\x64\debug\Debug set LLVM_LIB_PATH=C:\dev\TypeScriptCompiler\__build\llvm\msbuild\x64\debug\Debug\lib -set TSC_LIB_PATH=C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-debug\lib +set TSLANG_LIB_PATH=C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-debug\lib set EMSDK_SYSROOT_PATH=C:\utils\emsdk\upstream\emscripten\cache\sysroot -C:\dev\TypeScriptCompiler\__build\tsc\windows-msbuild-debug\bin\tsc.exe --emit=exe --nogc -mtriple=wasm32-pc-emscripten C:\temp\1.ts +C:\dev\TypeScriptCompiler\__build\tslang\windows-msbuild-debug\bin\tslang.exe --emit=exe --nogc -mtriple=wasm32-pc-emscripten C:\temp\1.ts copy 1.wasm C:\temp\webassembly3\hello.wasm \ No newline at end of file diff --git a/tsc.code-workspace b/tsc.code-workspace index dbd8bdda7..4b7769ae1 100644 --- a/tsc.code-workspace +++ b/tsc.code-workspace @@ -2,27 +2,27 @@ "folders": [ { "name": "TypeScript Compiler Source (Lib)", - "path": "./tsc/lib" + "path": "./tslang/lib" }, { "name": "TypeScript Compiler Include", - "path": "./tsc/include" + "path": "./tslang/include" }, { "name": "TypeScript Compiler", - "path": "./tsc/tsc" + "path": "./tslang/tslang" }, { "name": "TypeScript Compiler Tests", - "path": "./tsc/test" + "path": "./tslang/test" }, { "name": "TypeScript Compiler Unit Tests", - "path": "./tsc/unittests" + "path": "./tslang/unittests" }, { "name": "TypeScript New Parser", - "path": "./tsc/tsc-new-parser" + "path": "./tslang/tsc-new-parser" } ], "settings": { @@ -178,7 +178,7 @@ "[cmake]": { "editor.defaultFormatter": "cheshirekow.cmake-format" }, - "typescript.tsc.autoDetect": "off", + "typescript.tslang.autoDetect": "off", "npm.autoDetect": "off", "[html]": { "editor.defaultFormatter": "vscode.html-language-features" diff --git a/tsc/CMakeLists.txt b/tsc/CMakeLists.txt index f2f9fbebf..f7ec648d5 100644 --- a/tsc/CMakeLists.txt +++ b/tsc/CMakeLists.txt @@ -17,7 +17,7 @@ if(POLICY CMP0116) cmake_policy(SET CMP0116 NEW) endif() -project(tsc LANGUAGES CXX C) +project(tslang LANGUAGES CXX C) find_program(CCACHE_FOUND ccache) if(CCACHE_FOUND) @@ -162,7 +162,7 @@ enable_testing() add_subdirectory(include) add_subdirectory(lib) add_subdirectory(test) -add_subdirectory(tsc) +add_subdirectory(tslang) add_subdirectory(tsc-new-parser) if (NOT DEFINED TYPESCRIPT_IGNORE_UNIT_TESTS) diff --git a/tsc/CMakePresets.json b/tsc/CMakePresets.json index 9a53fafbf..7d274ab7e 100644 --- a/tsc/CMakePresets.json +++ b/tsc/CMakePresets.json @@ -11,10 +11,10 @@ "hidden": true, "displayName": "Default Config", "description": "Default build", - "binaryDir": "${sourceDir}/../__build/tsc/${presetName}", + "binaryDir": "${sourceDir}/../__build/tslang/${presetName}", "cacheVariables": { "CMAKE_INSTALL_PREFIX": "${sourceDir}/../__build/install/${presetName}", - "TSC_PACKAGE_VERSION": "$env{TSC_PACKAGE_VERSION}" + "TSLANG_PACKAGE_VERSION": "$env{TSLANG_PACKAGE_VERSION}" } }, { diff --git a/tsc/build_tsc_debug-test.bat b/tsc/build_tsc_debug-test.bat index 462b1735f..b860689af 100644 --- a/tsc/build_tsc_debug-test.bat +++ b/tsc/build_tsc_debug-test.bat @@ -1,5 +1,5 @@ pushd -cd ../__build/tsc/msbuild/x64/debug +cd ../__build/tslang/msbuild/x64/debug set CTEST_OUTPUT_ON_FAILURE=TRUE set CTEST_PARALLEL_LEVEL=16 cmake --build . --target RUN_TESTS --config Debug --parallel diff --git a/tsc/build_tsc_debug-test.sh b/tsc/build_tsc_debug-test.sh index 1a51b3208..bb043f184 100755 --- a/tsc/build_tsc_debug-test.sh +++ b/tsc/build_tsc_debug-test.sh @@ -1,3 +1,3 @@ #!/bin/sh -cd ../__build/tsc/ninja/debug +cd ../__build/tslang/ninja/debug ctest -j18 -C Debug -T test --output-on-failure -T test --output-on-failure \ No newline at end of file diff --git a/tsc/build_tsc_debug-unittests.bat b/tsc/build_tsc_debug-unittests.bat index f8fce7cb7..8cc8dddcd 100644 --- a/tsc/build_tsc_debug-unittests.bat +++ b/tsc/build_tsc_debug-unittests.bat @@ -1,4 +1,4 @@ pushd -cd ../__build/tsc/msbuild/x64/debug +cd ../__build/tslang/msbuild/x64/debug cmake --build . --target MLIRTypeScriptUnitTests --config Debug -j 16 popd \ No newline at end of file diff --git a/tsc/build_tsc_debug.bat b/tsc/build_tsc_debug.bat index f966590b5..296ee6d57 100644 --- a/tsc/build_tsc_debug.bat +++ b/tsc/build_tsc_debug.bat @@ -1,4 +1,4 @@ pushd -cd ../__build/tsc/msbuild/x64/debug +cd ../__build/tslang/msbuild/x64/debug cmake --build . --config Debug -j 24 popd \ No newline at end of file diff --git a/tsc/build_tsc_debug.sh b/tsc/build_tsc_debug.sh index e1c136a9f..4191122bc 100755 --- a/tsc/build_tsc_debug.sh +++ b/tsc/build_tsc_debug.sh @@ -1,4 +1,4 @@ #!/bin/sh -cd ../__build/tsc/ninja/debug +cd ../__build/tslang/ninja/debug cmake --build . --config Debug -j 8 -bash -f ../../../../scripts/separate_debug_info.sh ./bin/tsc +bash -f ../../../../scripts/separate_debug_info.sh ./bin/tslang diff --git a/tsc/build_tsc_defaultlib_debug.bat b/tsc/build_tsc_defaultlib_debug.bat index 594d982d3..023acfea6 100644 --- a/tsc/build_tsc_defaultlib_debug.bat +++ b/tsc/build_tsc_defaultlib_debug.bat @@ -2,8 +2,8 @@ pushd cd ../../TypeScriptCompilerDefaultLib/ call build.bat -xcopy dll\*.* "../TypeScriptCompiler/__build/tsc/windows-msbuild-2026-debug/bin/defaultlib/dll/" /i /y -xcopy lib\*.* "../TypeScriptCompiler/__build/tsc/windows-msbuild-2026-debug/bin/defaultlib/lib/" /i /y -xcopy src\*.d.ts "../TypeScriptCompiler/__build/tsc/windows-msbuild-2026-debug/bin/defaultlib/" /i /y +xcopy dll\*.* "../TypeScriptCompiler/__build/tslang/windows-msbuild-2026-debug/bin/defaultlib/dll/" /i /y +xcopy lib\*.* "../TypeScriptCompiler/__build/tslang/windows-msbuild-2026-debug/bin/defaultlib/lib/" /i /y +xcopy src\*.d.ts "../TypeScriptCompiler/__build/tslang/windows-msbuild-2026-debug/bin/defaultlib/" /i /y popd diff --git a/tsc/build_tsc_defaultlib_release.bat b/tsc/build_tsc_defaultlib_release.bat index 7e93297fb..3bc90bad7 100644 --- a/tsc/build_tsc_defaultlib_release.bat +++ b/tsc/build_tsc_defaultlib_release.bat @@ -2,8 +2,8 @@ pushd cd ../../TypeScriptCompilerDefaultLib/ call build.bat -xcopy dll\*.* "../TypeScriptCompiler/__build/tsc/windows-msbuild-2026-release/bin/defaultlib/dll/" /i /y -xcopy lib\*.* "../TypeScriptCompiler/__build/tsc/windows-msbuild-2026-release/bin/defaultlib/lib/" /i /y -xcopy src\*.d.ts "../TypeScriptCompiler/__build/tsc/windows-msbuild-2026-release/bin/defaultlib/" /i /y +xcopy dll\*.* "../TypeScriptCompiler/__build/tslang/windows-msbuild-2026-release/bin/defaultlib/dll/" /i /y +xcopy lib\*.* "../TypeScriptCompiler/__build/tslang/windows-msbuild-2026-release/bin/defaultlib/lib/" /i /y +xcopy src\*.d.ts "../TypeScriptCompiler/__build/tslang/windows-msbuild-2026-release/bin/defaultlib/" /i /y popd diff --git a/tsc/build_tsc_release-test.bat b/tsc/build_tsc_release-test.bat index 1d9945408..9d0a0bf8c 100644 --- a/tsc/build_tsc_release-test.bat +++ b/tsc/build_tsc_release-test.bat @@ -1,5 +1,5 @@ pushd -cd ../__build/tsc/msbuild/x64/release +cd ../__build/tslang/msbuild/x64/release cmake --build . --config Release -j 24 set CTEST_OUTPUT_ON_FAILURE=TRUE cmake --build . --target RUN_TESTS --config Release -j 24 diff --git a/tsc/build_tsc_release-test.sh b/tsc/build_tsc_release-test.sh index ea4c64607..b8dab78ce 100755 --- a/tsc/build_tsc_release-test.sh +++ b/tsc/build_tsc_release-test.sh @@ -1,3 +1,3 @@ #!/bin/sh -cd ../__build/tsc/ninja/release +cd ../__build/tslang/ninja/release ctest -j18 -C Release -T test --output-on-failure -T test --output-on-failure \ No newline at end of file diff --git a/tsc/build_tsc_release.bat b/tsc/build_tsc_release.bat index 1c5b7348a..7dbd97dfd 100644 --- a/tsc/build_tsc_release.bat +++ b/tsc/build_tsc_release.bat @@ -1,4 +1,4 @@ pushd -cd ../__build/tsc/msbuild/x64/release +cd ../__build/tslang/msbuild/x64/release cmake --build . --config Release -j 24 popd \ No newline at end of file diff --git a/tsc/build_tsc_release.sh b/tsc/build_tsc_release.sh index 0b7c9db16..6c48c2b74 100755 --- a/tsc/build_tsc_release.sh +++ b/tsc/build_tsc_release.sh @@ -1,3 +1,3 @@ #!/bin/sh -cd ../__build/tsc/ninja/release +cd ../__build/tslang/ninja/release cmake --build . --config Release -j 8 diff --git a/tsc/config_tsc_debug.bat b/tsc/config_tsc_debug.bat index 59e754fc6..bebc64df3 100644 --- a/tsc/config_tsc_debug.bat +++ b/tsc/config_tsc_debug.bat @@ -1,5 +1,5 @@ pushd -mkdir "../__build/tsc/msbuild/x64/debug" -cd "../__build/tsc/msbuild/x64/debug" -cmake ../../../../../tsc -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=Debug -DTSC_PACKAGE_VERSION:STRING=1.2.3 -DTYPESCRIPT_INCLUDE_TESTS=any -Wno-dev %EXTRA_PARAM% +mkdir "../__build/tslang/msbuild/x64/debug" +cd "../__build/tslang/msbuild/x64/debug" +cmake ../../../../../tslang -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=Debug -DTSLANG_PACKAGE_VERSION:STRING=1.2.3 -DTYPESCRIPT_INCLUDE_TESTS=any -Wno-dev %EXTRA_PARAM% popd diff --git a/tsc/config_tsc_debug.sh b/tsc/config_tsc_debug.sh index eb8484697..cf6dcb247 100755 --- a/tsc/config_tsc_debug.sh +++ b/tsc/config_tsc_debug.sh @@ -1,5 +1,5 @@ #!/bin/sh -mkdir -p ../__build/tsc/ninja/debug -cd ../__build/tsc/ninja/debug -cmake ../../../../tsc -G "Ninja" -DCMAKE_BUILD_TYPE=Debug -Wno-dev +mkdir -p ../__build/tslang/ninja/debug +cd ../__build/tslang/ninja/debug +cmake ../../../../tslang -G "Ninja" -DCMAKE_BUILD_TYPE=Debug -Wno-dev diff --git a/tsc/config_tsc_release.bat b/tsc/config_tsc_release.bat index 936b422b3..bfaef01da 100644 --- a/tsc/config_tsc_release.bat +++ b/tsc/config_tsc_release.bat @@ -1,5 +1,5 @@ pushd -mkdir "../__build/tsc/msbuild/x64/release" -cd "../__build/tsc/msbuild/x64/release" -cmake ../../../../../tsc -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=Release -Wno-dev %EXTRA_PARAM% +mkdir "../__build/tslang/msbuild/x64/release" +cd "../__build/tslang/msbuild/x64/release" +cmake ../../../../../tslang -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=Release -Wno-dev %EXTRA_PARAM% popd diff --git a/tsc/config_tsc_release.sh b/tsc/config_tsc_release.sh index c07743035..bab7313ab 100755 --- a/tsc/config_tsc_release.sh +++ b/tsc/config_tsc_release.sh @@ -1,5 +1,5 @@ #!/bin/sh -mkdir -p ../__build/tsc/ninja/release -cd ../__build/tsc/ninja/release -cmake ../../../../tsc -G "Ninja" -DCMAKE_BUILD_TYPE=Release -Wno-dev +mkdir -p ../__build/tslang/ninja/release +cd ../__build/tslang/ninja/release +cmake ../../../../tslang -G "Ninja" -DCMAKE_BUILD_TYPE=Release -Wno-dev diff --git a/tsc/include/.vscode/c_cpp_properties.json b/tsc/include/.vscode/c_cpp_properties.json index 23c07f147..d9f4cb455 100644 --- a/tsc/include/.vscode/c_cpp_properties.json +++ b/tsc/include/.vscode/c_cpp_properties.json @@ -6,7 +6,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", - "${workspaceFolder}/../../__build/tsc/windows-msbuild-debug/include", + "${workspaceFolder}/../../__build/tslang/windows-msbuild-debug/include", "${workspaceFolder}/../tsc-new-parser", "${workspaceFolder}" ], @@ -27,7 +27,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/debug/include", - "${workspaceFolder}/../../__build/tsc/linux-ninja/include", + "${workspaceFolder}/../../__build/tslang/linux-ninja/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ diff --git a/tsc/include/TypeScript/VSCodeTemplate/Files.h b/tsc/include/TypeScript/VSCodeTemplate/Files.h index f35df0930..039d29c13 100644 --- a/tsc/include/TypeScript/VSCodeTemplate/Files.h +++ b/tsc/include/TypeScript/VSCodeTemplate/Files.h @@ -78,12 +78,12 @@ const auto TASKS_JSON_DATA = R"raw( "tasks": [ { "label": "build EXE (Debug)", - "command": "<>", + "command": "<>", "type": "shell", "args": [ "--gc-lib-path=<>", "--llvm-lib-path=<>", - "--tsc-lib-path=<>", + "--tslang-lib-path=<>", "--default-lib-path=<>", "--no-default-lib", "--di", @@ -102,12 +102,12 @@ const auto TASKS_JSON_DATA = R"raw( }, { "label": "build EXE (Release)", - "command": "<>", + "command": "<>", "type": "shell", "args": [ "--gc-lib-path=<>", "--llvm-lib-path=<>", - "--tsc-lib-path=<>", + "--tslang-lib-path=<>", "--default-lib-path=<>", "--no-default-lib", "--opt", @@ -126,12 +126,12 @@ const auto TASKS_JSON_DATA = R"raw( }, { "label": "build DLL (Debug)", - "command": "<>", + "command": "<>", "type": "shell", "args": [ "--gc-lib-path=<>", "--llvm-lib-path=<>", - "--tsc-lib-path=<>", + "--tslang-lib-path=<>", "--default-lib-path=<>", "--no-default-lib", "--di", @@ -150,12 +150,12 @@ const auto TASKS_JSON_DATA = R"raw( }, { "label": "build DLL (Release)", - "command": "<>", + "command": "<>", "type": "shell", "args": [ "--gc-lib-path=<>", "--llvm-lib-path=<>", - "--tsc-lib-path=<>", + "--tslang-lib-path=<>", "--default-lib-path=<>", "--no-default-lib", "--opt", @@ -217,12 +217,12 @@ const auto LAUNCH_JSON_DATA_WIN32 = R"raw( "name": "Current File - JIT", "type": "cppvsdbg", "request": "launch", - "program": "<>", + "program": "<>", "args": [ - "--shared-libs=<>\\TypeScriptRuntime.dll", + "--shared-libs=<>\\TypeScriptRuntime.dll", "--gc-lib-path=<>", "--llvm-lib-path=<>", - "--tsc-lib-path=<>", + "--tslang-lib-path=<>", "--default-lib-path=<>", "--no-default-lib", "--opt", @@ -279,12 +279,12 @@ const auto LAUNCH_JSON_DATA_LINUX = R"raw( "name": "Current File - JIT", "type": "cppdbg", "request": "launch", - "program": "<>", + "program": "<>", "args": [ - "--shared-libs=<>/libTypeScriptRuntime.so", + "--shared-libs=<>/libTypeScriptRuntime.so", "--gc-lib-path=<>", "--llvm-lib-path=<>", - "--tsc-lib-path=<>", + "--tslang-lib-path=<>", "--default-lib-path=<>", "--no-default-lib", "--opt", diff --git a/tsc/include/TypeScript/Version.h b/tsc/include/TypeScript/Version.h index b2b8436af..de469b5fd 100644 --- a/tsc/include/TypeScript/Version.h +++ b/tsc/include/TypeScript/Version.h @@ -1,3 +1,3 @@ -#ifndef TSC_PACKAGE_VERSION -#define TSC_PACKAGE_VERSION "0.0.0-not-set" +#ifndef TSLANG_PACKAGE_VERSION +#define TSLANG_PACKAGE_VERSION "0.0.0-not-set" #endif \ No newline at end of file diff --git a/tsc/lib/.vscode/c_cpp_properties.json b/tsc/lib/.vscode/c_cpp_properties.json index 486e573f6..9d6d0549f 100644 --- a/tsc/lib/.vscode/c_cpp_properties.json +++ b/tsc/lib/.vscode/c_cpp_properties.json @@ -6,7 +6,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", - "${workspaceFolder}/../../__build/tsc/windows-msbuild-debug/include", + "${workspaceFolder}/../../__build/tslang/windows-msbuild-debug/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ @@ -26,7 +26,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/debug/include", - "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/include", + "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ diff --git a/tsc/lib/TypeScript/MLIRGen.cpp b/tsc/lib/TypeScript/MLIRGen.cpp index 7f5caeb52..4601cf952 100644 --- a/tsc/lib/TypeScript/MLIRGen.cpp +++ b/tsc/lib/TypeScript/MLIRGen.cpp @@ -18195,7 +18195,7 @@ genContext); } // INFO: you can't use standart Static Field declarastion because of RTTI should be declared before used - // example: C:/dev/TypeScriptCompiler/tsc/test/tester/tests/dependencies.ts + // example: C:/dev/TypeScriptCompiler/tslang/test/tester/tests/dependencies.ts mlir::LogicalResult mlirGenCustomRTTI(mlir::Location location, ClassLikeDeclaration classDeclarationAST, ClassInfo::TypePtr newClassPtr, const GenContext &genContext) { @@ -18236,7 +18236,7 @@ genContext); } // INFO: you can't use standart Static Field declarastion because of RTTI should be declared before used - // example: C:/dev/TypeScriptCompiler/tsc/test/tester/tests/dependencies.ts + // example: C:/dev/TypeScriptCompiler/tslang/test/tester/tests/dependencies.ts mlir::LogicalResult mlirGenCustomRTTIDynamicImport(mlir::Location location, ClassLikeDeclaration classDeclarationAST, ClassInfo::TypePtr newClassPtr, const GenContext &genContext) { diff --git a/tsc/test/.vscode/c_cpp_properties.json b/tsc/test/.vscode/c_cpp_properties.json index 3f18d42bb..589d8efc9 100644 --- a/tsc/test/.vscode/c_cpp_properties.json +++ b/tsc/test/.vscode/c_cpp_properties.json @@ -6,7 +6,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", - "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/include", + "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ @@ -25,7 +25,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/debug/include", - "${workspaceFolder}/../../__build/tsc/linux-ninja/include", + "${workspaceFolder}/../../__build/tslang/linux-ninja/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ diff --git a/tsc/test/.vscode/launch.json b/tsc/test/.vscode/launch.json index ea3c25a2d..faa9e7e01 100644 --- a/tsc/test/.vscode/launch.json +++ b/tsc/test/.vscode/launch.json @@ -8,61 +8,61 @@ "name": "(Windows) test-runner.exe - Launch (JIT - Shared)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/tester/Debug/test-runner.exe", - "args": ["-shared", "-jit", "${workspaceFolder}/../../tsc/test/tester/tests/use_shared.ts", "${workspaceFolder}/../../tsc/test/tester/tests/shared.ts"], + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/tester/Debug/test-runner.exe", + "args": ["-shared", "-jit", "${workspaceFolder}/../../tslang/test/tester/tests/use_shared.ts", "${workspaceFolder}/../../tslang/test/tester/tests/shared.ts"], "stopAtEntry": false, - "cwd": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/tester/Debug/", + "cwd": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/tester/Debug/", "environment": [], "externalConsole": true, - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { "name": "(Windows) test-runner.exe - Launch (Compile - Shared)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/tester/Debug/test-runner.exe", - "args": ["-shared", "${workspaceFolder}/../../tsc/test/tester/tests/emit_class.ts", "${workspaceFolder}/../../tsc/test/tester/tests/decl_class.ts"], + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/tester/Debug/test-runner.exe", + "args": ["-shared", "${workspaceFolder}/../../tslang/test/tester/tests/emit_class.ts", "${workspaceFolder}/../../tslang/test/tester/tests/decl_class.ts"], "stopAtEntry": false, - "cwd": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/tester/Debug/", + "cwd": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/tester/Debug/", "environment": [], "externalConsole": true, - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { "name": "(Windows) test-runner.exe - Launch (Compile - Shared - Gctors-as-method)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/tester/Debug/test-runner.exe", - "args": ["-shared", "-gctors-as-method", "${workspaceFolder}/../../tsc/test/tester/tests/import_object_literal_with_interface.ts ", "${workspaceFolder}/../../tsc/test/tester/tests/export_object_literal_with_interface.ts"], + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/tester/Debug/test-runner.exe", + "args": ["-shared", "-gctors-as-method", "${workspaceFolder}/../../tslang/test/tester/tests/import_object_literal_with_interface.ts ", "${workspaceFolder}/../../tslang/test/tester/tests/export_object_literal_with_interface.ts"], "stopAtEntry": false, - "cwd": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/tester/Debug/", + "cwd": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/tester/Debug/", "environment": [], "externalConsole": true, - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { "name": "(Windows) test-runner.exe - Launch (Compile-Time)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/tester/Debug/test-runner.exe", - "args": ["-shared", "-compile-time", "${workspaceFolder}/../../tsc/test/tester/tests/emit_compiletime_class.ts", "${workspaceFolder}/../../tsc/test/tester/tests/decl_class.ts"], + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/tester/Debug/test-runner.exe", + "args": ["-shared", "-compile-time", "${workspaceFolder}/../../tslang/test/tester/tests/emit_compiletime_class.ts", "${workspaceFolder}/../../tslang/test/tester/tests/decl_class.ts"], "stopAtEntry": false, - "cwd": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/tester/Debug/", + "cwd": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/tester/Debug/", "environment": [], "externalConsole": true, - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { "name": "(Windows) printer-tester.exe - Launch", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/test/print-tester/Debug/printer-tester.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/test/print-tester/Debug/printer-tester.exe", "args": ["c:\\temp\\dll.ts", "declare"], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" } ] } \ No newline at end of file diff --git a/tsc/test/tester/CMakeLists.txt b/tsc/test/tester/CMakeLists.txt index ad4e93ee6..c18fdf16e 100644 --- a/tsc/test/tester/CMakeLists.txt +++ b/tsc/test/tester/CMakeLists.txt @@ -84,14 +84,14 @@ if (WIN32) target_compile_definitions(test-runner PUBLIC "TEST_UCRTPATH=\"${WINDOWS_KITS_DIR_UCRT_LIB}\"") target_compile_definitions(test-runner PUBLIC "CMAKE_C_STANDARD_LIBRARIES=\"${CMAKE_C_STANDARD_LIBRARIES}\"") target_compile_definitions(test-runner PUBLIC "TEST_GCPATH=\"${TEST_GC_LIBDIR}\"") - target_compile_definitions(test-runner PUBLIC "TEST_TSC_EXEPATH=\"${CMAKE_BINARY_DIR}/bin\"") - target_compile_definitions(test-runner PUBLIC "TEST_TSC_LIBPATH=\"${CMAKE_BINARY_DIR}/lib\"") + target_compile_definitions(test-runner PUBLIC "TEST_TSLANG_EXEPATH=\"${CMAKE_BINARY_DIR}/bin\"") + target_compile_definitions(test-runner PUBLIC "TEST_TSLANG_LIBPATH=\"${CMAKE_BINARY_DIR}/lib\"") target_compile_definitions(test-runner PUBLIC "TEST_LLVM_EXEPATH=\"${PROJECT_SOURCE_DIR}/../3rdParty/llvm/x64/${CMAKE_BUILD_TYPE_LOWERCASE}/bin\"") target_compile_definitions(test-runner PUBLIC "TEST_LLVM_LIBPATH=\"${PROJECT_SOURCE_DIR}/../3rdParty/llvm/x64/${CMAKE_BUILD_TYPE_LOWERCASE}/lib\"") else() target_compile_definitions(test-runner PUBLIC "TEST_GCPATH=\"${TEST_GC_LIBDIR}\"") - target_compile_definitions(test-runner PUBLIC "TEST_TSC_EXEPATH=\"${CMAKE_BINARY_DIR}/bin\"") - target_compile_definitions(test-runner PUBLIC "TEST_TSC_LIBPATH=\"${CMAKE_BINARY_DIR}/lib\"") + target_compile_definitions(test-runner PUBLIC "TEST_TSLANG_EXEPATH=\"${CMAKE_BINARY_DIR}/bin\"") + target_compile_definitions(test-runner PUBLIC "TEST_TSLANG_LIBPATH=\"${CMAKE_BINARY_DIR}/lib\"") target_compile_definitions(test-runner PUBLIC "TEST_LLVM_EXEPATH=\"${PROJECT_SOURCE_DIR}/../3rdParty/llvm/${CMAKE_BUILD_TYPE_LOWERCASE}/bin\"") target_compile_definitions(test-runner PUBLIC "TEST_LLVM_LIBPATH=\"${PROJECT_SOURCE_DIR}/../3rdParty/llvm/${CMAKE_BUILD_TYPE_LOWERCASE}/lib\"") target_compile_definitions(test-runner PUBLIC "TEST_COMPILER=\"${CMAKE_CXX_COMPILER}\"") @@ -108,7 +108,7 @@ file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/compiled.sh" "${CMAKE_CURRENT_BINARY_DIR}/jitd.sh") ######## enable testing ############ -# open __build\tsc +# open __build\tslang # ctest.exe -j4 -C Release -T test --output-on-failure add_test(NAME test-compile-00-print COMMAND test-runner "${PROJECT_SOURCE_DIR}/test/tester/tests/00print.ts") add_test(NAME test-compile-00-assert COMMAND test-runner "${PROJECT_SOURCE_DIR}/test/tester/tests/00assert.ts") diff --git a/tsc/test/tester/test-runner.cpp b/tsc/test/tester/test-runner.cpp index 530aab430..305f90152 100644 --- a/tsc/test/tester/test-runner.cpp +++ b/tsc/test/tester/test-runner.cpp @@ -52,12 +52,12 @@ #error TEST_LLVM_LIBPATH must be provided #endif -#ifndef TEST_TSC_EXEPATH -#error TEST_TSC_EXEPATH must be provided +#ifndef TEST_TSLANG_EXEPATH +#error TEST_TSLANG_EXEPATH must be provided #endif -#ifndef TEST_TSC_LIBPATH -#error TEST_TSC_LIBPATH must be provided +#ifndef TEST_TSLANG_LIBPATH +#error TEST_TSLANG_LIBPATH must be provided #endif #ifndef TEST_GCPATH @@ -90,17 +90,17 @@ auto sharedLibCompileTime = false; auto gctorsAsMethod = false; #ifndef COMPILE_DEBUG auto opt = true; -auto tsc_opt = "--opt --opt_level=3"; +auto tslang_opt = "--opt --opt_level=3"; #define JIT_NAME "jit" #define COMPILE_NAME "compile" #else auto opt = false; -auto tsc_opt = "--di --opt_level=0"; +auto tslang_opt = "--di --opt_level=0"; #define JIT_NAME "jitd" #define COMPILE_NAME "compiled" #endif -auto tsc_opt_ext = ""; +auto tslang_opt_ext = ""; void createJitBatchFile() { @@ -114,9 +114,9 @@ void createJitBatchFile() batFile << "echo off" << std::endl; batFile << "set FILENAME=%1" << std::endl; batFile << "set FILEPATH=%2" << std::endl; - batFile << "set TSCEXEPATH=" << TEST_TSC_EXEPATH << std::endl; + batFile << "set TSLANGEXEPATH=" << TEST_TSLANG_EXEPATH << std::endl; batFile << "echo on" << std::endl; - batFile << "%TSCEXEPATH%\\tsc.exe --emit=jit " << tsc_opt << " " << tsc_opt_ext << " --shared-libs=%TSCEXEPATH%/TypeScriptRuntime.dll %FILEPATH% 1> %FILENAME%.txt 2> %FILENAME%.err" + batFile << "%TSLANGEXEPATH%\\tslang.exe --emit=jit " << tslang_opt << " " << tslang_opt_ext << " --shared-libs=%TSLANGEXEPATH%/TypeScriptRuntime.dll %FILEPATH% 1> %FILENAME%.txt 2> %FILENAME%.err" << std::endl; batFile.close(); #else @@ -128,8 +128,8 @@ void createJitBatchFile() std::ofstream batFile(JIT_NAME BAT_NAME); batFile << "FILENAME=$1" << std::endl; batFile << "FILEPATH=$2" << std::endl; - batFile << "TSCEXEPATH=" << TEST_TSC_EXEPATH << std::endl; - batFile << "$TSCEXEPATH/tsc --emit=jit " << tsc_opt << " " << tsc_opt_ext << " --shared-libs=../../lib/libTypeScriptRuntime.so $FILEPATH 1> $FILENAME.txt 2> $FILENAME.err" + batFile << "TSLANGEXEPATH=" << TEST_TSLANG_EXEPATH << std::endl; + batFile << "$TSLANGEXEPATH/tslang --emit=jit " << tslang_opt << " " << tslang_opt_ext << " --shared-libs=../../lib/libTypeScriptRuntime.so $FILEPATH 1> $FILENAME.txt 2> $FILENAME.err" << std::endl; batFile.close(); #endif @@ -153,13 +153,13 @@ void createCompileBatchFile() batFile << "set UCRTPATH=\"" << TEST_UCRTPATH << "\"" << std::endl; batFile << "set LLVMEXEPATH=" << TEST_LLVM_EXEPATH << std::endl; batFile << "set LLVM_LIB_PATH=" << TEST_LLVM_LIBPATH << std::endl; - batFile << "set TSCEXEPATH=" << TEST_TSC_EXEPATH << std::endl; - batFile << "set TSC_LIB_PATH=" << TEST_TSC_LIBPATH << std::endl; + batFile << "set TSLANGEXEPATH=" << TEST_TSLANG_EXEPATH << std::endl; + batFile << "set TSLANG_LIB_PATH=" << TEST_TSLANG_LIBPATH << std::endl; batFile << "set GC_LIB_PATH=" << TEST_GCPATH << std::endl; - batFile << "%TSCEXEPATH%\\tsc.exe --emit=obj " << tsc_opt << " " << tsc_opt_ext << " %FILEPATH% -o=%FILENAME%.obj" << std::endl; + batFile << "%TSLANGEXEPATH%\\tslang.exe --emit=obj " << tslang_opt << " " << tslang_opt_ext << " %FILEPATH% -o=%FILENAME%.obj" << std::endl; batFile << "%LLVMEXEPATH%\\lld.exe -flavor link %FILENAME%.obj %LINKER_OPTS% " << LIBS << TYPESCRIPT_LIB << GC_LIB << LLVM_LIBS << CMAKE_C_STANDARD_LIBRARIES - << " /libpath:%GC_LIB_PATH% /libpath:%LLVM_LIB_PATH% /libpath:%TSC_LIB_PATH%" + << " /libpath:%GC_LIB_PATH% /libpath:%LLVM_LIB_PATH% /libpath:%TSLANG_LIB_PATH%" << " /libpath:%LIBPATH% /libpath:%SDKPATH% /libpath:%UCRTPATH%" << std::endl; batFile << "del %FILENAME%.obj" << std::endl; @@ -179,13 +179,13 @@ void createCompileBatchFile() batFile << "FILENAME=$1" << std::endl; batFile << "FILEPATH=$2" << std::endl; batFile << "LINKER_OPTS=$3" << std::endl; - batFile << "TSCEXEPATH=" << TEST_TSC_EXEPATH << std::endl; - batFile << "TSC_LIB_PATH=" << TEST_TSC_LIBPATH << std::endl; + batFile << "TSLANGEXEPATH=" << TEST_TSLANG_EXEPATH << std::endl; + batFile << "TSLANG_LIB_PATH=" << TEST_TSLANG_LIBPATH << std::endl; batFile << "LLVM_EXEPATH=" << TEST_LLVM_EXEPATH << std::endl; batFile << "LLVM_LIBPATH=" << TEST_LLVM_LIBPATH << std::endl; batFile << "GC_LIB_PATH=" << TEST_GCPATH << std::endl; - batFile << "$TSCEXEPATH/tsc --emit=obj " << tsc_opt << " " << tsc_opt_ext << " $FILEPATH -relocation-model=pic -o=$FILENAME.o" << std::endl; - batFile << TEST_COMPILER << " -o $FILENAME $LINKER_OPTS -L$LLVM_LIBPATH -L$GC_LIB_PATH -L$TSC_LIB_PATH $FILENAME.o " + batFile << "$TSLANGEXEPATH/tslang --emit=obj " << tslang_opt << " " << tslang_opt_ext << " $FILEPATH -relocation-model=pic -o=$FILENAME.o" << std::endl; + batFile << TEST_COMPILER << " -o $FILENAME $LINKER_OPTS -L$LLVM_LIBPATH -L$GC_LIB_PATH -L$TSLANG_LIB_PATH $FILENAME.o " << TYPESCRIPT_LIB << GC_LIB << LLVM_LIBS << LIBS << std::endl; batFile << "./$FILENAME 1> $FILENAME.txt 2> $FILENAME.err" << std::endl; batFile << "rm -f $FILENAME.o" << std::endl; @@ -335,7 +335,7 @@ void createMultiCompileBatchFile(std::string tempOutputFileNameNoExt, std::vecto { if (gctorsAsMethod) { - tsc_opt_ext = "--gctors-as-method"; + tslang_opt_ext = "--gctors-as-method"; } #ifdef WIN32 @@ -347,8 +347,8 @@ void createMultiCompileBatchFile(std::string tempOutputFileNameNoExt, std::vecto batFile << "set UCRTPATH=\"" << TEST_UCRTPATH << "\"" << std::endl; batFile << "set LLVMEXEPATH=" << TEST_LLVM_EXEPATH << std::endl; batFile << "set LLVM_LIB_PATH=" << TEST_LLVM_LIBPATH << std::endl; - batFile << "set TSCEXEPATH=" << TEST_TSC_EXEPATH << std::endl; - batFile << "set TSC_LIB_PATH=" << TEST_TSC_LIBPATH << std::endl; + batFile << "set TSLANGEXEPATH=" << TEST_TSLANG_EXEPATH << std::endl; + batFile << "set TSLANG_LIB_PATH=" << TEST_TSLANG_LIBPATH << std::endl; batFile << "set GC_LIB_PATH=" << TEST_GCPATH << std::endl; std::stringstream objs; @@ -357,13 +357,13 @@ void createMultiCompileBatchFile(std::string tempOutputFileNameNoExt, std::vecto { auto fileNameWithoutExt = fs::path(file).stem().string(); objs << fileNameWithoutExt << ".obj "; - batFile << "%TSCEXEPATH%\\tsc.exe --emit=obj " << tsc_opt << " " << (isFirst ? "" : tsc_opt_ext) << " " << file << " -o=" << fileNameWithoutExt << ".obj" << std::endl; + batFile << "%TSLANGEXEPATH%\\tslang.exe --emit=obj " << tslang_opt << " " << (isFirst ? "" : tslang_opt_ext) << " " << file << " -o=" << fileNameWithoutExt << ".obj" << std::endl; isFirst = false; } batFile << "%LLVMEXEPATH%\\lld.exe -flavor link /out:%FILENAME%.exe " << objs.str() << " " << LIBS << TYPESCRIPT_LIB << GC_LIB << LLVM_LIBS << CMAKE_C_STANDARD_LIBRARIES - << " /libpath:%GC_LIB_PATH% /libpath:%LLVM_LIB_PATH% /libpath:%TSC_LIB_PATH%" + << " /libpath:%GC_LIB_PATH% /libpath:%LLVM_LIB_PATH% /libpath:%TSLANG_LIB_PATH%" << " /libpath:%LIBPATH% /libpath:%SDKPATH% /libpath:%UCRTPATH%" << std::endl; @@ -377,8 +377,8 @@ void createMultiCompileBatchFile(std::string tempOutputFileNameNoExt, std::vecto #else std::ofstream batFile(tempOutputFileNameNoExt + BAT_NAME); batFile << "FILENAME=" << tempOutputFileNameNoExt << std::endl; - batFile << "TSCEXEPATH=" << TEST_TSC_EXEPATH << std::endl; - batFile << "TSC_LIB_PATH=" << TEST_TSC_LIBPATH << std::endl; + batFile << "TSLANGEXEPATH=" << TEST_TSLANG_EXEPATH << std::endl; + batFile << "TSLANG_LIB_PATH=" << TEST_TSLANG_LIBPATH << std::endl; batFile << "LLVM_EXEPATH=" << TEST_LLVM_EXEPATH << std::endl; batFile << "LLVM_LIBPATH=" << TEST_LLVM_LIBPATH << std::endl; batFile << "GC_LIB_PATH=" << TEST_GCPATH << std::endl; @@ -390,12 +390,12 @@ void createMultiCompileBatchFile(std::string tempOutputFileNameNoExt, std::vecto // prefix with the unique temp name so parallel tests reusing the same source files don't stomp each other's object files auto fileNameWithoutExt = tempOutputFileNameNoExt + "_" + fs::path(file).stem().string(); objs << fileNameWithoutExt << ".o "; - batFile << "$TSCEXEPATH/tsc --emit=obj " << tsc_opt << " " << (isFirst ? "" : tsc_opt_ext) << " " << file << " -relocation-model=pic -o=" << fileNameWithoutExt << ".o" << std::endl; + batFile << "$TSLANGEXEPATH/tslang --emit=obj " << tslang_opt << " " << (isFirst ? "" : tslang_opt_ext) << " " << file << " -relocation-model=pic -o=" << fileNameWithoutExt << ".o" << std::endl; isFirst = false; } batFile << TEST_COMPILER << " -o $FILENAME " << objs.str() - << "-L$LLVM_LIBPATH -L$GC_LIB_PATH -L$TSC_LIB_PATH " + << "-L$LLVM_LIBPATH -L$GC_LIB_PATH -L$TSLANG_LIB_PATH " << TYPESCRIPT_LIB << GC_LIB << LLVM_LIBS << LIBS << std::endl; batFile << "./$FILENAME 1> $FILENAME.txt 2> $FILENAME.err" << std::endl; @@ -410,7 +410,7 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector { if (gctorsAsMethod) { - tsc_opt_ext = "--gctors-as-method"; + tslang_opt_ext = "--gctors-as-method"; } auto linker_opt = SHARED_LIB_OPT; @@ -424,8 +424,8 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector batFile << "set UCRTPATH=\"" << TEST_UCRTPATH << "\"" << std::endl; batFile << "set LLVMEXEPATH=" << TEST_LLVM_EXEPATH << std::endl; batFile << "set LLVM_LIB_PATH=" << TEST_LLVM_LIBPATH << std::endl; - batFile << "set TSCEXEPATH=" << TEST_TSC_EXEPATH << std::endl; - batFile << "set TSC_LIB_PATH=" << TEST_TSC_LIBPATH << std::endl; + batFile << "set TSLANGEXEPATH=" << TEST_TSLANG_EXEPATH << std::endl; + batFile << "set TSLANG_LIB_PATH=" << TEST_TSLANG_LIBPATH << std::endl; batFile << "set GC_LIB_PATH=" << TEST_GCPATH << std::endl; // run everything inside a unique per-test working directory: the shared lib must keep its @@ -462,7 +462,7 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector } } - (first ? execBat : sharedBat) << "%TSCEXEPATH%\\tsc.exe --emit=obj " << tsc_opt << " " << (first ? "" : tsc_opt_ext) << " " << file << " -o=" << fileNameWithoutExt << ".obj" << std::endl; + (first ? execBat : sharedBat) << "%TSLANGEXEPATH%\\tslang.exe --emit=obj " << tslang_opt << " " << (first ? "" : tslang_opt_ext) << " " << file << " -o=" << fileNameWithoutExt << ".obj" << std::endl; first = false; } @@ -470,7 +470,7 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector batFile << sharedBat.str(); batFile << "%LLVMEXEPATH%\\lld.exe -flavor link /out:" << shared_filenameNoExt << ".dll " << linker_opt << " " << shared_objs.str() << " " << LIBS << TYPESCRIPT_LIB << GC_LIB << LLVM_LIBS << CMAKE_C_STANDARD_LIBRARIES - << " /libpath:%GC_LIB_PATH% /libpath:%LLVM_LIB_PATH% /libpath:%TSC_LIB_PATH%" + << " /libpath:%GC_LIB_PATH% /libpath:%LLVM_LIB_PATH% /libpath:%TSLANG_LIB_PATH%" << " /libpath:%LIBPATH% /libpath:%SDKPATH% /libpath:%UCRTPATH%" << std::endl; @@ -482,7 +482,7 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector if (jitRun) { - batFile << "%TSCEXEPATH%\\tsc.exe --emit=jit " << tsc_opt << " --shared-libs=%TSCEXEPATH%/TypeScriptRuntime.dll " << *files.begin() << " 1> ..\\%FILENAME%.txt 2> ..\\%FILENAME%.err" + batFile << "%TSLANGEXEPATH%\\tslang.exe --emit=jit " << tslang_opt << " --shared-libs=%TSLANGEXEPATH%/TypeScriptRuntime.dll " << *files.begin() << " 1> ..\\%FILENAME%.txt 2> ..\\%FILENAME%.err" << std::endl; batFile << "del " << shared_libs.str() << std::endl; @@ -498,7 +498,7 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector } batFile << LIBS << TYPESCRIPT_LIB << GC_LIB << LLVM_LIBS << CMAKE_C_STANDARD_LIBRARIES - << " /libpath:%GC_LIB_PATH% /libpath:%LLVM_LIB_PATH% /libpath:%TSC_LIB_PATH%" + << " /libpath:%GC_LIB_PATH% /libpath:%LLVM_LIB_PATH% /libpath:%TSLANG_LIB_PATH%" << " /libpath:%LIBPATH% /libpath:%SDKPATH% /libpath:%UCRTPATH%" << std::endl; @@ -526,8 +526,8 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector #else std::ofstream batFile(tempOutputFileNameNoExt + BAT_NAME); batFile << "FILENAME=" << tempOutputFileNameNoExt << std::endl; - batFile << "TSCEXEPATH=" << TEST_TSC_EXEPATH << std::endl; - batFile << "TSC_LIB_PATH=" << TEST_TSC_LIBPATH << std::endl; + batFile << "TSLANGEXEPATH=" << TEST_TSLANG_EXEPATH << std::endl; + batFile << "TSLANG_LIB_PATH=" << TEST_TSLANG_LIBPATH << std::endl; batFile << "LLVM_EXEPATH=" << TEST_LLVM_EXEPATH << std::endl; batFile << "LLVM_LIBPATH=" << TEST_LLVM_LIBPATH << std::endl; batFile << "GC_LIB_PATH=" << TEST_GCPATH << std::endl; @@ -557,7 +557,7 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector } } - (first ? execBat : sharedBat) << "$TSCEXEPATH/tsc --emit=obj " << tsc_opt << " " << (first ? "" : tsc_opt_ext) << " " << file << " -relocation-model=pic -o=" << fileNameWithoutExt << ".o" << std::endl; + (first ? execBat : sharedBat) << "$TSLANGEXEPATH/tslang --emit=obj " << tslang_opt << " " << (first ? "" : tslang_opt_ext) << " " << file << " -relocation-model=pic -o=" << fileNameWithoutExt << ".o" << std::endl; first = false; } @@ -571,21 +571,21 @@ void createSharedMultiBatchFile(std::string tempOutputFileNameNoExt, std::vector batFile << sharedBat.str(); batFile << TEST_COMPILER << " " << linker_opt << " -o lib" << shared_filenameNoExt << ".so " << shared_objs.str() - << "-L$LLVM_LIBPATH -L$GC_LIB_PATH -L$TSC_LIB_PATH " + << "-L$LLVM_LIBPATH -L$GC_LIB_PATH -L$TSLANG_LIB_PATH " << TYPESCRIPT_LIB << GC_LIB << LLVM_LIBS << LIBS << std::endl; batFile << "rm -f " << shared_objs.str() << std::endl; if (jitRun) { // one extra "../" because we run from the per-test working directory - batFile << "$TSCEXEPATH/tsc --emit=jit " << tsc_opt << " --shared-libs=../../../lib/libTypeScriptRuntime.so --shared-libs=./lib" << shared_filenameNoExt << ".so " << *files.begin() << " 1> ../$FILENAME.txt 2> ../$FILENAME.err" + batFile << "$TSLANGEXEPATH/tslang --emit=jit " << tslang_opt << " --shared-libs=../../../lib/libTypeScriptRuntime.so --shared-libs=./lib" << shared_filenameNoExt << ".so " << *files.begin() << " 1> ../$FILENAME.txt 2> ../$FILENAME.err" << std::endl; } else { batFile << execBat.str(); batFile << TEST_COMPILER << " -o $FILENAME " << exec_objs.str() << " "; - batFile << "-L$LLVM_LIBPATH -L$GC_LIB_PATH -L$TSC_LIB_PATH "; + batFile << "-L$LLVM_LIBPATH -L$GC_LIB_PATH -L$TSLANG_LIB_PATH "; if (sharedLib) { // dynamics and compile-time shared modes both link the produced shared lib; diff --git a/tsc/tsc-new-parser/.vscode/c_cpp_properties.json b/tsc/tsc-new-parser/.vscode/c_cpp_properties.json index 934207912..9d483bb0f 100644 --- a/tsc/tsc-new-parser/.vscode/c_cpp_properties.json +++ b/tsc/tsc-new-parser/.vscode/c_cpp_properties.json @@ -6,7 +6,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/debug/include", - "${workspaceFolder}/../../__build/tsc/include", + "${workspaceFolder}/../../__build/tslang/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ @@ -26,7 +26,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/debug/include", - "${workspaceFolder}/../../__build/tsc/linux-ninja/include", + "${workspaceFolder}/../../__build/tslang/linux-ninja/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ diff --git a/tsc/tsc-new-parser/.vscode/launch.json b/tsc/tsc-new-parser/.vscode/launch.json index 5a5d7c9f6..5f2a598ac 100644 --- a/tsc/tsc-new-parser/.vscode/launch.json +++ b/tsc/tsc-new-parser/.vscode/launch.json @@ -5,28 +5,28 @@ "version": "0.2.0", "configurations": [ { - "name": "(Windows) tsc-new-scanner.exe - Launch", + "name": "(Windows) tslang-new-scanner.exe - Launch", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-debug/tsc-new-parser/Debug/tsc-new-scanner.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-debug/tsc-new-parser/Debug/tslang-new-scanner.exe", "args": ["C:/temp/test_scanner/1.ts"], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { "name": "(Windows) tsc-new-parser.exe - Launch", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-debug/tsc-new-parser/Debug/tsc-new-parser.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-debug/tsc-new-parser/Debug/tsc-new-parser.exe", "args": ["C:/temp/test_scanner/1.ts"], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" } ] } \ No newline at end of file diff --git a/tsc/tsc-new-parser/CMakeLists.txt b/tsc/tsc-new-parser/CMakeLists.txt index 4d4d0b7b2..b378de2d4 100644 --- a/tsc/tsc-new-parser/CMakeLists.txt +++ b/tsc/tsc-new-parser/CMakeLists.txt @@ -2,9 +2,9 @@ set_Options_With_FS() add_library(tsc-new-parser-lib parser.cpp node_factory.cpp parenthesizer_rules.cpp scanner.cpp) -add_executable(tsc-new-scanner scanner_run.cpp scanner.cpp) +add_executable(tslang-new-scanner scanner_run.cpp scanner.cpp) -target_link_libraries(tsc-new-scanner PRIVATE ${LIBS}) +target_link_libraries(tslang-new-scanner PRIVATE ${LIBS}) add_executable(tsc-new-parser parser_run.cpp parser.cpp node_factory.cpp parenthesizer_rules.cpp scanner.cpp) diff --git a/tsc/tsc/.vscode/c_cpp_properties.json b/tsc/tsc/.vscode/c_cpp_properties.json index d509a99bb..1866cd927 100644 --- a/tsc/tsc/.vscode/c_cpp_properties.json +++ b/tsc/tsc/.vscode/c_cpp_properties.json @@ -6,7 +6,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", - "${workspaceFolder}/../../tsc/include", + "${workspaceFolder}/../../tslang/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ @@ -26,7 +26,7 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/debug/include", - "${workspaceFolder}/../../__build/tsc/linux-ninja/include", + "${workspaceFolder}/../../__build/tslang/linux-ninja/include", "${workspaceFolder}/../tsc-new-parser" ], "defines": [ diff --git a/tsc/tsc/.vscode/launch.json b/tsc/tsc/.vscode/launch.json index 4979b5b30..94e4d6b15 100644 --- a/tsc/tsc/.vscode/launch.json +++ b/tsc/tsc/.vscode/launch.json @@ -5,10 +5,10 @@ "version": "0.2.0", "configurations": [ { - "name": "(Windows) tsc.exe - DUMP", + "name": "(Windows) tslang.exe - DUMP", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=ast", "C:/temp/1.ts" @@ -17,13 +17,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - MLIR", + "name": "(Windows) tslang.exe - MLIR", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=mlir", "-debug-only=mlir", @@ -34,13 +34,13 @@ "cwd": "C:/temp/", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) ./tsc - MLIR", + "name": "(Linux) ./tslang - MLIR", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=mlir", "-debug-only=mlir", @@ -53,13 +53,13 @@ "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - MLIR-AFFINE", + "name": "(Windows) tslang.exe - MLIR-AFFINE", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=mlir-affine", "--opt", @@ -71,13 +71,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) ./tsc - MLIR-AFFINE", + "name": "(Linux) ./tslang - MLIR-AFFINE", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=mlir-affine", "-debug-only=affine", @@ -89,13 +89,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - MLIR-LLVM", + "name": "(Windows) tslang.exe - MLIR-LLVM", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=mlir-llvm", "-debug-only=affine,llvm", @@ -106,13 +106,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) ./tsc - MLIR-LLVM", + "name": "(Linux) ./tslang - MLIR-LLVM", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=mlir-llvm", "/mnt/c/temp/1.ts" @@ -121,13 +121,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - LLVM", + "name": "(Windows) tslang.exe - LLVM", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=llvm", "-mlir-disable-threading", @@ -142,13 +142,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) ./tsc - LLVM", + "name": "(Linux) ./tslang - LLVM", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=llvm", "/mnt/c/temp/1.ts" @@ -157,13 +157,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - BC", + "name": "(Windows) tslang.exe - BC", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=bc", "-opt", @@ -174,31 +174,31 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - OBJ", + "name": "(Windows) tslang.exe - OBJ", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-release/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-release/bin/tslang.exe", "args": [ "-emit=obj", "--opt", "--opt_level=3", "-o=c:/temp/1.obj", - "I:/TypeScriptCompiler/tsc/test/tester/tests/00object_new.ts" + "I:/TypeScriptCompiler/tslang/test/tester/tests/00object_new.ts" ], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - ASM", + "name": "(Windows) tslang.exe - ASM", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=asm", "-opt", @@ -211,13 +211,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - EXE", + "name": "(Windows) tslang.exe - EXE", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=exe", "-di", @@ -242,18 +242,18 @@ "value": "${workspaceFolder}/../../__build/llvm/msbuild/x64/debug/Debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/lib" }, ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) (ClangCL) tsc.exe - EXE", + "name": "(Windows) (ClangCL) tslang.exe - EXE", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-ninja-clangcl-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-ninja-clangcl-debug/bin/tslang.exe", "args": [ "-emit=exe", "-di", @@ -279,20 +279,20 @@ "value": "${workspaceFolder}/../../__build/llvm/msbuild/x64/debug/Debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/lib" }, ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis", + "visualizerFile": "${workspaceFolder}/../tslang.natvis", "MIMode": "gdb", "MIDebuggerPath": "lldb.exe", }, { - "name": "(Windows) tsc.exe - EXE(DI) - NO DEFAULT", + "name": "(Windows) tslang.exe - EXE(DI) - NO DEFAULT", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=exe", "--di", @@ -316,18 +316,18 @@ "value": "${workspaceFolder}/../../__build/llvm/msbuild/x64/debug/Debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/lib" }, ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - EXE(OPT) - NO DEFAULT", + "name": "(Windows) tslang.exe - EXE(OPT) - NO DEFAULT", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=exe", "--opt", @@ -351,18 +351,18 @@ "value": "${workspaceFolder}/../../__build/llvm/msbuild/x64/release/Release/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/windows-msbuild-release/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/windows-msbuild-release/lib" }, ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - EXE(OPT) (Release EXE) - NO DEFAULT", + "name": "(Windows) tslang.exe - EXE(OPT) (Release EXE) - NO DEFAULT", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-release/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-release/bin/tslang.exe", "args": [ "-emit=exe", "--opt", @@ -385,18 +385,18 @@ "value": "${workspaceFolder}/../../__build/llvm/msbuild/x64/release/Release/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/windows-msbuild-release/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/windows-msbuild-release/lib" }, ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - LLVM - NO DEFAULT", + "name": "(Windows) tslang.exe - LLVM - NO DEFAULT", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=llvm", "-di", @@ -419,22 +419,22 @@ "value": "${workspaceFolder}/../../__build/llvm/msbuild/x64/debug/Debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/lib" }, ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - DLL", + "name": "(Windows) tslang.exe - DLL", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=dll", "-opt", - "-debug-only=tsc,llvm,pass", + "-debug-only=tslang,llvm,pass", "-mlir-disable-threading", "--gctors-as-method", "-o=I:/Playground/export_vars.dll", @@ -452,18 +452,18 @@ "value": "${workspaceFolder}/../../__build/llvm/msbuild/x64/debug/Debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/lib" }, ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - WASM", + "name": "(Windows) tslang.exe - WASM", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=exe", "-opt", @@ -476,13 +476,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - WASM - emscripten", + "name": "(Windows) tslang.exe - WASM - emscripten", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=exe", "-mlir-disable-threading", @@ -497,13 +497,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - JIT", + "name": "(Windows) tslang.exe - JIT", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=jit", "I:/Playground/1.ts", @@ -511,19 +511,19 @@ "-mlir-disable-threading", "-di", "--default-lib-path=I:/TypeScriptCompilerDefaultLib/__build/debug", - "--shared-libs=${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/TypeScriptRuntime.dll" + "--shared-libs=${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/TypeScriptRuntime.dll" ], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - JIT (no default)", + "name": "(Windows) tslang.exe - JIT (no default)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=jit", "I:/Playground/1.ts", @@ -531,19 +531,19 @@ "-mlir-disable-threading", "-di", "--no-default-lib", - "--shared-libs=${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/TypeScriptRuntime.dll" + "--shared-libs=${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/TypeScriptRuntime.dll" ], "stopAtEntry": false, "cwd": "I:/Playground", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - JIT-OBJ", + "name": "(Windows) tslang.exe - JIT-OBJ", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=jit", "-nogc", @@ -555,17 +555,17 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) tsc - JIT", + "name": "(Linux) tslang - JIT", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=jit", - "-debug-only=tsc", - "--shared-libs=${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/lib/libTypeScriptRuntime.so", + "-debug-only=tslang", + "--shared-libs=${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/lib/libTypeScriptRuntime.so", "--default-lib-path=${workspaceFolder}/../../../TypeScriptCompilerDefaultLib/__build/debug", "${workspaceFolder}/../../../playground/1.ts" ], @@ -573,13 +573,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) tsc - Compile (EXE - PIC)", + "name": "(Linux) tslang - Compile (EXE - PIC)", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=exe", "-relocation-model=pic", @@ -599,18 +599,18 @@ "value": "${workspaceFolder}/../../__build/llvm/ninja/debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/lib" } ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) tsc - Compile (EXE)", + "name": "(Linux) tslang - Compile (EXE)", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=exe", "--di", @@ -629,8 +629,8 @@ "value": "${workspaceFolder}/../../__build/llvm/ninja/debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/lib" }, { "name": "DEFAULT_LIB_PATH", @@ -638,13 +638,13 @@ }, ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) tsc - Compile (DLL - PIC)", + "name": "(Linux) tslang - Compile (DLL - PIC)", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=dll", "-relocation-model=pic", @@ -664,18 +664,18 @@ "value": "${workspaceFolder}/../../__build/llvm/ninja/debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/lib" } ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) tsc - Compile (Default Lib - linux file)", + "name": "(Linux) tslang - Compile (Default Lib - linux file)", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=dll", "-relocation-model=pic", @@ -694,18 +694,18 @@ "value": "${workspaceFolder}/../../__build/llvm/ninja/debug/lib" }, { - "name": "TSC_LIB_PATH", - "value": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/lib" + "name": "TSLANG_LIB_PATH", + "value": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/lib" } ], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - DefaultLib Compile (DLL)", + "name": "(Windows) tslang.exe - DefaultLib Compile (DLL)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=dll", "-debug-only=mlir,llvm", @@ -718,13 +718,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - DefaultLib Compile (MLIR)", + "name": "(Windows) tslang.exe - DefaultLib Compile (MLIR)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=mlir", "-debug-only=mlir,llvm", @@ -737,13 +737,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - DefaultLib Compile (DI) (OBJ)", + "name": "(Windows) tslang.exe - DefaultLib Compile (DI) (OBJ)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=obj", "-debug-only=mlir,llvm", @@ -757,13 +757,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - DefaultLib Compile (opt) (OBJ)", + "name": "(Windows) tslang.exe - DefaultLib Compile (opt) (OBJ)", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "-emit=obj", "-debug-only=mlir,llvm", @@ -780,13 +780,13 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) tsc - DefaultLib Compile (OBJ)", + "name": "(Linux) tslang - DefaultLib Compile (OBJ)", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "-emit=obj", "--export=none", @@ -801,7 +801,7 @@ "cwd": "${workspaceFolder}", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { "name": "(Windows-cppvsdbg) (cmake_winapp) TypeScriptApp.exe", @@ -818,10 +818,10 @@ }, }, { - "name": "(Windows) tsc.exe - new VSCode project", + "name": "(Windows) tslang.exe - new VSCode project", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "--new", "Test1" @@ -830,13 +830,13 @@ "cwd": "I:/Playground", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Windows) tsc.exe - Install Default lib", + "name": "(Windows) tslang.exe - Install Default lib", "type": "cppvsdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/windows-msbuild-2026-debug/bin/tsc.exe", + "program": "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/bin/tslang.exe", "args": [ "--install-default-lib" ], @@ -844,20 +844,20 @@ "cwd": "I:/Playground", "environment": [], "console": "externalTerminal", - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" }, { - "name": "(Linux) tsc - Install Default lib", + "name": "(Linux) tslang - Install Default lib", "type": "cppdbg", "request": "launch", - "program": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug/bin/tsc", + "program": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug/bin/tslang", "args": [ "--install-default-lib" ], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], - "visualizerFile": "${workspaceFolder}/../tsc.natvis" + "visualizerFile": "${workspaceFolder}/../tslang.natvis" } ] } \ No newline at end of file diff --git a/tsc/tsc/.vscode/tasks.json b/tsc/tsc/.vscode/tasks.json index ba18739c9..73eb664b4 100644 --- a/tsc/tsc/.vscode/tasks.json +++ b/tsc/tsc/.vscode/tasks.json @@ -4,10 +4,10 @@ "version": "2.0.0", "tasks": [ { - "label": "config TSC", - "detail": "config_tsc_debug", + "label": "config TSLANG", + "detail": "config_tslang_debug", "type": "shell", - "command": "./config_tsc_debug.bat", + "command": "./config_tslang_debug.bat", "args": [], "problemMatcher": [], "options": { @@ -15,10 +15,10 @@ } }, { - "label": "build TSC", - "detail": "build_tsc_debug", + "label": "build TSLANG", + "detail": "build_tslang_debug", "type": "shell", - "command": "./build_tsc_debug.bat", + "command": "./build_tslang_debug.bat", "args": [], "problemMatcher": [], "options": { @@ -41,12 +41,12 @@ }, "windows": { "options": { - "cwd": "${workspaceFolder}/../../__build/tsc/windows-msbuild-debug" + "cwd": "${workspaceFolder}/../../__build/tslang/windows-msbuild-debug" } }, "linux": { "options": { - "cwd": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug" + "cwd": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug" } } }, @@ -62,12 +62,12 @@ }, "windows": { "options": { - "cwd": "${workspaceFolder}/../../__build/tsc/windows-msbuild-debug" + "cwd": "${workspaceFolder}/../../__build/tslang/windows-msbuild-debug" } }, "linux": { "options": { - "cwd": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-debug" + "cwd": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-debug" } } }, @@ -83,12 +83,12 @@ }, "windows": { "options": { - "cwd": "${workspaceFolder}/../../__build/tsc/windows-msbuild-release" + "cwd": "${workspaceFolder}/../../__build/tslang/windows-msbuild-release" } }, "linux": { "options": { - "cwd": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-release" + "cwd": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-release" } } }, @@ -104,12 +104,12 @@ }, "windows": { "options": { - "cwd": "${workspaceFolder}/../../__build/tsc/windows-msbuild-release" + "cwd": "${workspaceFolder}/../../__build/tslang/windows-msbuild-release" } }, "linux": { "options": { - "cwd": "${workspaceFolder}/../../__build/tsc/linux-ninja-gcc-release" + "cwd": "${workspaceFolder}/../../__build/tslang/linux-ninja-gcc-release" } } } diff --git a/tsc/tsc/CMakeLists.txt b/tsc/tsc/CMakeLists.txt index bf26fcc08..e3dffa501 100644 --- a/tsc/tsc/CMakeLists.txt +++ b/tsc/tsc/CMakeLists.txt @@ -51,8 +51,8 @@ set(LIBS TypeScriptMemAllocPass ) -add_llvm_executable(tsc - tsc.cpp +add_llvm_executable(tslang + tslang.cpp compile.cpp transform.cpp dump.cpp @@ -67,10 +67,10 @@ add_llvm_executable(tsc vscode.cpp defaultlib.cpp) -llvm_update_compile_flags(tsc) -target_link_libraries(tsc PRIVATE ${LIBS}) -target_compile_definitions(tsc PUBLIC TSC_PACKAGE_VERSION="${TSC_PACKAGE_VERSION}") +llvm_update_compile_flags(tslang) +target_link_libraries(tslang PRIVATE ${LIBS}) +target_compile_definitions(tslang PUBLIC TSLANG_PACKAGE_VERSION="${TSLANG_PACKAGE_VERSION}") -MESSAGE (STATUS "VERSION = " ${TSC_PACKAGE_VERSION}) +MESSAGE (STATUS "VERSION = " ${TSLANG_PACKAGE_VERSION}) -mlir_check_all_link_libraries(tsc) +mlir_check_all_link_libraries(tslang) diff --git a/tsc/tsc/compile.cpp b/tsc/tsc/compile.cpp index 66af41155..a9b13a641 100644 --- a/tsc/tsc/compile.cpp +++ b/tsc/tsc/compile.cpp @@ -14,7 +14,7 @@ #include "TypeScript/TypeScriptCompiler/Defines.h" -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" using namespace typescript; namespace cl = llvm::cl; @@ -36,7 +36,7 @@ int compileTypeScriptFileIntoMLIR(mlir::MLIRContext &context, llvm::StringRef fi auto fileOrErr = llvm::MemoryBuffer::getFileOrSTDIN(absoluteFilePath); if (std::error_code ec = fileOrErr.getError()) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Could not open input file: " << ec.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Could not open input file: " << ec.message() << "\n"; return -1; } diff --git a/tsc/tsc/declarationInline.cpp b/tsc/tsc/declarationInline.cpp index f25f8f432..a873b9c2a 100644 --- a/tsc/tsc/declarationInline.cpp +++ b/tsc/tsc/declarationInline.cpp @@ -18,7 +18,7 @@ #include -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" using namespace typescript; namespace cl = llvm::cl; @@ -41,7 +41,7 @@ llvm::ErrorOr> getFileDeclarationContentForO auto fileOrErr = llvm::MemoryBuffer::getFileOrSTDIN(path); if (std::error_code ec = fileOrErr.getError()) { - llvm::WithColor::warning(llvm::errs(), "tsc") << "Missing declaration file '.d.ts' for obj file: " << objFileName << " error: " << ec.message() << "\n"; + llvm::WithColor::warning(llvm::errs(), "tslang") << "Missing declaration file '.d.ts' for obj file: " << objFileName << " error: " << ec.message() << "\n"; } return fileOrErr; @@ -53,7 +53,7 @@ int declarationInline(int argc, char **argv, mlir::MLIRContext &context, llvm::S auto fileOrErr = llvm::MemoryBuffer::getFileOrSTDIN(tsFileName); if (std::error_code ec = fileOrErr.getError()) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Could not open input file: " << ec.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Could not open input file: " << ec.message() << "\n"; return -1; } diff --git a/tsc/tsc/defaultlib.cpp b/tsc/tsc/defaultlib.cpp index c7e89899c..4810e0330 100644 --- a/tsc/tsc/defaultlib.cpp +++ b/tsc/tsc/defaultlib.cpp @@ -22,7 +22,7 @@ #include #include -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" #ifdef WIN32 #define PUTENV _putenv @@ -47,7 +47,7 @@ int buildLinux(const SmallVectorImpl&, SmallVectorImpl&); std::string getExecutablePath(const char *); std::string getGCLibPath(); std::string getLLVMLibPath(); -std::string getTscLibPath(); +std::string getTslangLibPath(); std::string getDefaultLibPath(); std::string getpath(std::string, const SmallVectorImpl&); std::error_code copy_from_to(const SmallVectorImpl&, const SmallVectorImpl&); @@ -72,13 +72,13 @@ int installDefaultLib(int argc, char **argv) SmallVector tempFolder; if (auto error_code = fs::createUniqueDirectory("defaultLibBuild", tempFolder)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't create Temp folder/directory '" << tempFolder << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't create Temp folder/directory '" << tempFolder << "' : " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::set_current_path(tempFolder)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't open folder/directory '" << tempFolder << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << tempFolder << "' : " << error_code.message() << "\n"; return -1; } @@ -90,7 +90,7 @@ int installDefaultLib(int argc, char **argv) // open TypeScriptCompilerDefaultLib if (auto error_code = fs::set_current_path("TypeScriptCompilerDefaultLib")) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't open folder/directory '" << "TypeScriptCompilerDefaultLib " << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << "TypeScriptCompilerDefaultLib " << "' : " << error_code.message() << "\n"; return -1; } @@ -132,7 +132,7 @@ int installDefaultLib(int argc, char **argv) if (destPath.empty()) { - llvm::WithColor::error(llvm::errs(), "tsc") << "installation destination is not provided. use option --default-lib-path to set it or set environment variable DEFAULT_LIB_PATH\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "installation destination is not provided. use option --default-lib-path to set it or set environment variable DEFAULT_LIB_PATH\n"; return -1; } @@ -149,14 +149,14 @@ int installDefaultLib(int argc, char **argv) if (!result) { - llvm::WithColor::error(llvm::errs(), "tsc") << "It seems the compilation process has failed, try to check settings for --gc-lib-path, --llvm-lib-path and --tsc-lib-path or their environment variables GC_LIB_PATH, LLVM_LIB_PATH, TSC_LIB_PATH\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "It seems the compilation process has failed, try to check settings for --gc-lib-path, --llvm-lib-path and --tslang-lib-path or their environment variables GC_LIB_PATH, LLVM_LIB_PATH, TSLANG_LIB_PATH\n"; return -1; } // copy if (auto error_code = copy_from_to(builtPath, destPath)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't copy built library into destination folder/directory : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't copy built library into destination folder/directory : " << error_code.message() << "\n"; return -1; } @@ -172,7 +172,7 @@ int clone() auto fromPath = llvm::sys::findProgramByName("git"); if (!fromPath) { - llvm::WithColor::error(llvm::errs(), "tsc") << "'git' not found on PATH" << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "'git' not found on PATH" << "\n"; return -1; } @@ -194,7 +194,7 @@ int clone() if (returnCode < 0) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Error running git clone. " << errMsg << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Error running git clone. " << errMsg << "\n"; return -1; } @@ -207,7 +207,7 @@ int buildWin32(const SmallVectorImpl& appPath, SmallVectorImpl& buil auto fromPath = llvm::sys::findProgramByName("cmd"); if (!fromPath) { - llvm::WithColor::error(llvm::errs(), "tsc") << "'cmd' not found on PATH" << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "'cmd' not found on PATH" << "\n"; return -1; } @@ -225,19 +225,19 @@ int buildWin32(const SmallVectorImpl& appPath, SmallVectorImpl& buil auto gcLibPath = getpath(getGCLibPath(), appPath); auto llvmLibPath = getpath(getLLVMLibPath(), appPath); - auto tscLibPath = getpath(getTscLibPath(), appPath); + auto tslangLibPath = getpath(getTslangLibPath(), appPath); auto defaultLibPath = getpath(getDefaultLibPath(), appPath); std::string appPathVar = llvm::formatv("{0}={1}", "TOOL_PATH", appPath); std::string gcLibPathVar = llvm::formatv("{0}={1}", "GC_LIB_PATH", gcLibPath); std::string llvmLibPathVar = llvm::formatv("{0}={1}", "LLVM_LIB_PATH", llvmLibPath); - std::string tscLibPathVar = llvm::formatv("{0}={1}", "TSC_LIB_PATH", tscLibPath); + std::string tslangLibPathVar = llvm::formatv("{0}={1}", "TSLANG_LIB_PATH", tslangLibPath); std::string defaultLibPathVar = llvm::formatv("{0}={1}", "DEFAULT_LIB_PATH", defaultLibPath); PUTENV(appPathVar.data()); PUTENV(gcLibPathVar.data()); PUTENV(llvmLibPathVar.data()); - PUTENV(tscLibPathVar.data()); + PUTENV(tslangLibPathVar.data()); PUTENV(defaultLibPathVar.data()); std::string errMsg; @@ -246,13 +246,13 @@ int buildWin32(const SmallVectorImpl& appPath, SmallVectorImpl& buil if (returnCode < 0) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Error running build command. " << errMsg << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Error running build command. " << errMsg << "\n"; return -1; } if (auto error_code = fs::current_path(builtPath)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't open get info about current folder/directory : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open get info about current folder/directory : " << error_code.message() << "\n"; return -1; } @@ -275,19 +275,19 @@ int buildLinux(const SmallVectorImpl& appPath, SmallVectorImpl& buil auto gcLibPath = getpath(getGCLibPath(), appPath); auto llvmLibPath = getpath(getLLVMLibPath(), appPath); - auto tscLibPath = getpath(getTscLibPath(), appPath); + auto tslangLibPath = getpath(getTslangLibPath(), appPath); auto defaultLibPath = getpath(getDefaultLibPath(), appPath); std::string appPathVar = llvm::formatv("{0}={1}", "TOOL_PATH", appPath); std::string gcLibPathVar = llvm::formatv("{0}={1}", "GC_LIB_PATH", gcLibPath); std::string llvmLibPathVar = llvm::formatv("{0}={1}", "LLVM_LIB_PATH", llvmLibPath); - std::string tscLibPathVar = llvm::formatv("{0}={1}", "TSC_LIB_PATH", tscLibPath); + std::string tslangLibPathVar = llvm::formatv("{0}={1}", "TSLANG_LIB_PATH", tslangLibPath); std::string defaultLibPathVar = llvm::formatv("{0}={1}", "DEFAULT_LIB_PATH", defaultLibPath); PUTENV(appPathVar.data()); PUTENV(gcLibPathVar.data()); PUTENV(llvmLibPathVar.data()); - PUTENV(tscLibPathVar.data()); + PUTENV(tslangLibPathVar.data()); PUTENV(defaultLibPathVar.data()); std::string errMsg; @@ -296,13 +296,13 @@ int buildLinux(const SmallVectorImpl& appPath, SmallVectorImpl& buil if (returnCode < 0) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Error running build command. " << errMsg << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Error running build command. " << errMsg << "\n"; return -1; } if (auto error_code = fs::current_path(builtPath)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't open get info about current folder/directory : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open get info about current folder/directory : " << error_code.message() << "\n"; return -1; } diff --git a/tsc/tsc/dump.cpp b/tsc/tsc/dump.cpp index e99cfcbcf..6f051fefd 100644 --- a/tsc/tsc/dump.cpp +++ b/tsc/tsc/dump.cpp @@ -16,7 +16,7 @@ #include "TypeScript/TypeScriptCompiler/Defines.h" -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" using namespace typescript; namespace cl = llvm::cl; @@ -39,7 +39,7 @@ int dumpAST() auto fileOrErr = llvm::MemoryBuffer::getFileOrSTDIN(inputFilename); if (std::error_code ec = fileOrErr.getError()) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Could not open input file: " << ec.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Could not open input file: " << ec.message() << "\n"; return 0; } @@ -57,7 +57,7 @@ int dumpLLVMIR(enum Action emitAction, std::string outputFile, mlir::ModuleOp mo auto llvmModule = mlir::translateModuleToLLVMIR(module, llvmContext); if (!llvmModule) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Failed to emit LLVM IR\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Failed to emit LLVM IR\n"; return -1; } @@ -79,7 +79,7 @@ int dumpLLVMIR(enum Action emitAction, std::string outputFile, mlir::ModuleOp mo auto optPipeline = getTransformer(enableOpt, optLevel, sizeLevel, compileOptions); if (auto err = optPipeline(llvmModule.get())) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Failed to optimize LLVM IR " << err << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Failed to optimize LLVM IR " << err << "\n"; return -1; } diff --git a/tsc/tsc/exe.cpp b/tsc/tsc/exe.cpp index 8c3be973b..8fac6d680 100644 --- a/tsc/tsc/exe.cpp +++ b/tsc/tsc/exe.cpp @@ -29,7 +29,7 @@ extern cl::opt TargetTriple; extern cl::opt defaultlibpath; extern cl::opt gclibpath; extern cl::opt llvmlibpath; -extern cl::opt tsclibpath; +extern cl::opt tslanglibpath; extern cl::opt emsdksysrootpath; extern cl::opt enableOpt; extern cl::list libs; @@ -105,7 +105,7 @@ bool checkFileExistsAtPath(std::string path, std::string fileName) if (!llvm::sys::fs::exists(destPath)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "path: '" << path << "' is not pointing to file '" << fileName << "'\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "path: '" << path << "' is not pointing to file '" << fileName << "'\n"; return false; } @@ -132,7 +132,7 @@ void checkLLVMLibPath(std::string path) checkFileExistsAtPath(path, libName); } -void checkTscLibPath(std::string path) +void checkTslangLibPath(std::string path) { #ifdef WIN32 const auto libName = "TypeScriptAsyncRuntime.lib"; @@ -176,18 +176,18 @@ std::string getLLVMLibPath() return ""; } -std::string getTscLibPath() +std::string getTslangLibPath() { - if (!tsclibpath.empty()) + if (!tslanglibpath.empty()) { - checkTscLibPath(tsclibpath); - return tsclibpath; + checkTslangLibPath(tslanglibpath); + return tslanglibpath; } - if (auto tscLibEnvValue = llvm::sys::Process::GetEnv("TSC_LIB_PATH")) + if (auto tslangLibEnvValue = llvm::sys::Process::GetEnv("TSLANG_LIB_PATH")) { - checkTscLibPath(tscLibEnvValue.value()); - return tscLibEnvValue.value(); + checkTslangLibPath(tslangLibEnvValue.value()); + return tslangLibEnvValue.value(); } return ""; @@ -274,7 +274,7 @@ int buildExe(int argc, char **argv, std::string objFileName, std::string additio //llvm::SmallVector args(argv, argv + argc); llvm::SmallVector args(argv, argv + 1); - clang::driver::ParsedClangName targetAndMode("tsc", "--driver-mode=tsc"); + clang::driver::ParsedClangName targetAndMode("tslang", "--driver-mode=tslang"); std::string driverPath = getExecutablePath(args[0]); llvm::BumpPtrAllocator a; @@ -290,7 +290,7 @@ int buildExe(int argc, char **argv, std::string objFileName, std::string additio if (llvm::StringRef(args[1]).starts_with("-cc1")) { llvm::errs() << "error: unknown integrated tool '" << args[1] << "'. " - << "Valid tools include '-tsc'.\n"; + << "Valid tools include '-tslang'.\n"; return 1; } @@ -314,14 +314,14 @@ int buildExe(int argc, char **argv, std::string objFileName, std::string additio //args.insert(args.begin() + 1, "-fms-runtime-lib=static_dbg"); std::string gcLibPathOpt; - std::string tscLibPathOpt; + std::string tslangLibPathOpt; std::string llvmLibPathOpt; std::string emsdkSysRootPathOpt; std::string defaultLibPathOpt; std::string defaultLibFileOpt; auto isLLVMLibNeeded = true; - auto isTscLibNeeded = true; + auto isTslangLibNeeded = true; auto os = TheTriple.getOS(); auto arch = TheTriple.getArch(); @@ -335,7 +335,7 @@ int buildExe(int argc, char **argv, std::string objFileName, std::string additio if (wasm) { isLLVMLibNeeded = false; - isTscLibNeeded = false; + isTslangLibNeeded = false; } args.push_back(objFileName.c_str()); @@ -425,12 +425,12 @@ int buildExe(int argc, char **argv, std::string objFileName, std::string additio } } - if (isTscLibNeeded) + if (isTslangLibNeeded) { - tscLibPathOpt = getLibsPathOpt(getTscLibPath()); - if (!tscLibPathOpt.empty()) + tslangLibPathOpt = getLibsPathOpt(getTslangLibPath()); + if (!tslangLibPathOpt.empty()) { - args.push_back(tscLibPathOpt.c_str()); + args.push_back(tslangLibPathOpt.c_str()); } } @@ -460,13 +460,13 @@ int buildExe(int argc, char **argv, std::string objFileName, std::string additio args.push_back("-lntdll"); } - // tsc libs + // tslang libs if (!disableGC) { args.push_back("-lgc"); } - if (isTscLibNeeded) + if (isTslangLibNeeded) { args.push_back("-lTypeScriptAsyncRuntime"); } @@ -546,7 +546,7 @@ int buildExe(int argc, char **argv, std::string objFileName, std::string additio // Prepare the driver clang::driver::Driver theDriver(driverPath, targetTriple, diags, - "tsc LLVM compiler"); + "tslang LLVM compiler"); theDriver.setTargetAndMode(targetAndMode); std::unique_ptr c(theDriver.BuildCompilation(args)); diff --git a/tsc/tsc/jit.cpp b/tsc/tsc/jit.cpp index c7759facd..341620fd9 100644 --- a/tsc/tsc/jit.cpp +++ b/tsc/tsc/jit.cpp @@ -20,7 +20,7 @@ #include "TypeScript/Defines.h" -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" namespace cl = llvm::cl; @@ -56,7 +56,7 @@ int loadLibrary(mlir::SmallString<256> &libPath, llvm::StringMap &export if (errMsg.size() > 0) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Loading error lib: " << errMsg << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Loading error lib: " << errMsg << "\n"; return -1; } @@ -145,7 +145,7 @@ int runJit(int argc, char **argv, mlir::ModuleOp module, CompileOptions &compile if (absPath2.empty()) { /* - llvm::WithColor::error(llvm::errs(), "tsc") << "JIT initialization failed. Missing GC library. Did you forget to provide it via " + llvm::WithColor::error(llvm::errs(), "tslang") << "JIT initialization failed. Missing GC library. Did you forget to provide it via " "'--shared-libs=" LIB_NAME "TypeScriptRuntime." LIB_EXT "'? or you can switch it off by using '-nogc'\n"; return -1; */ @@ -177,11 +177,11 @@ int runJit(int argc, char **argv, mlir::ModuleOp module, CompileOptions &compile } #ifdef _WIN32 - // tsc.exe links the CRT statically (/MT[d]), so its libc symbols are not in + // tslang.exe links the CRT statically (/MT[d]), so its libc symbols are not in // any DLL export table. The JIT's process-symbol resolver would otherwise bind // libc calls (puts/printf/malloc/...) to a *different* CRT instance loaded as a // DLL (ucrtbase.dll), giving JIT'd code a separate stdout buffer and heap from - // tsc.exe. That mismatch loses output and corrupts state on teardown. + // tslang.exe. That mismatch loses output and corrupts state on teardown. // // Add our own CRT entry points to the process symbol table *before* creating // the engine: the JIT's GetForCurrentProcess generator consults this table @@ -207,7 +207,7 @@ int runJit(int argc, char **argv, mlir::ModuleOp module, CompileOptions &compile auto maybeEngine = mlir::ExecutionEngine::create(module, engineOptions); if (!maybeEngine) { - llvm::WithColor::error(llvm::errs(), "tsc") << "failed to construct an execution engine, error: " << maybeEngine.takeError() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "failed to construct an execution engine, error: " << maybeEngine.takeError() << "\n"; return -1; } auto &engine = maybeEngine.get(); @@ -217,7 +217,7 @@ int runJit(int argc, char **argv, mlir::ModuleOp module, CompileOptions &compile auto expectedFPtr = engine->lookup(mainFuncName); if (!expectedFPtr) { - llvm::WithColor::error(llvm::errs(), "tsc") << expectedFPtr.takeError(); + llvm::WithColor::error(llvm::errs(), "tslang") << expectedFPtr.takeError(); return -1; } @@ -242,7 +242,7 @@ int runJit(int argc, char **argv, mlir::ModuleOp module, CompileOptions &compile { if (auto gctorsResult = engine->invokePacked(MLIR_GCTORS)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "JIT calling global constructors failed, error: " << gctorsResult << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "JIT calling global constructors failed, error: " << gctorsResult << "\n"; return -1; } } @@ -250,7 +250,7 @@ int runJit(int argc, char **argv, mlir::ModuleOp module, CompileOptions &compile // Invoke the JIT-compiled function. if (auto invocationResult = engine->invokePacked(mainFuncName)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "JIT invocation failed, error: " << invocationResult << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "JIT invocation failed, error: " << invocationResult << "\n"; return -1; } diff --git a/tsc/tsc/obj.cpp b/tsc/tsc/obj.cpp index 815fcdac5..496405324 100644 --- a/tsc/tsc/obj.cpp +++ b/tsc/tsc/obj.cpp @@ -25,7 +25,7 @@ #include "TypeScript/TypeScriptCompiler/Defines.h" #include "TypeScript/DataStructs.h" -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" namespace cl = llvm::cl; @@ -198,7 +198,7 @@ int setupTargetTriple(llvm::Module *llvmModule, std::unique_ptr(SplitDwarfOutputFile, EC, llvm::sys::fs::OF_None); if (EC) { - llvm::WithColor::error(llvm::errs(), "tsc") << EC.message() << SplitDwarfOutputFile << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << EC.message() << SplitDwarfOutputFile << "\n"; return -1; } } @@ -327,14 +327,14 @@ int dumpObjOrAssembly(int argc, char **argv, enum Action emitAction, std::string if (!NoVerify && llvm::verifyModule(*llvmModule.get(), &llvm::errs())) { - llvm::WithColor::error(llvm::errs(), "tsc") << "input module cannot be verified\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "input module cannot be verified\n"; return -1; } auto fileFormat = emitAction == DumpObj ? llvm::CodeGenFileType::ObjectFile : emitAction == DumpAssembly ? llvm::CodeGenFileType::AssemblyFile : llvm::CodeGenFileType::Null; if (llvm::mc::getExplicitRelaxAll() && /*llvm::codegen::getFileType()*/ fileFormat != llvm::CodeGenFileType::ObjectFile) { - llvm::WithColor::warning(llvm::errs(), "tsc") << ": warning: ignoring -mc-relax-all because filetype != obj"; + llvm::WithColor::warning(llvm::errs(), "tslang") << ": warning: ignoring -mc-relax-all because filetype != obj"; } { @@ -358,7 +358,7 @@ int dumpObjOrAssembly(int argc, char **argv, enum Action emitAction, std::string PM, *OS, DwoOut ? &DwoOut->os() : nullptr, fileFormat /*llvm::codegen::getFileType()*/, true, MMIWP)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "target does not support generation of this file type\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "target does not support generation of this file type\n"; } const_cast(LLVMTM.getObjFileLowering())->Initialize(MMIWP->getMMI().getContext(), *Target); @@ -371,7 +371,7 @@ int dumpObjOrAssembly(int argc, char **argv, enum Action emitAction, std::string auto HasError = ((const LLCDiagnosticHandler *)(Context.getDiagHandlerPtr()))->HasError; if (*HasError) { - llvm::WithColor::error(llvm::errs(), "tsc") << "diagnostic error(s)\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "diagnostic error(s)\n"; return 1; } diff --git a/tsc/tsc/opts.cpp b/tsc/tsc/opts.cpp index 62ee028fb..57e4baddd 100644 --- a/tsc/tsc/opts.cpp +++ b/tsc/tsc/opts.cpp @@ -9,7 +9,7 @@ #include "TypeScript/TypeScriptCompiler/Defines.h" #include "TypeScript/DataStructs.h" -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" namespace cl = llvm::cl; diff --git a/tsc/tsc/transform.cpp b/tsc/tsc/transform.cpp index cbe1eb313..898545395 100644 --- a/tsc/tsc/transform.cpp +++ b/tsc/tsc/transform.cpp @@ -53,7 +53,7 @@ // TODO: if you uncomment it you will have exception in test 00try_finally.ts error: empty block: expect at least a terminator // #define AFFINE_MODULE_PASS 1 -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" namespace cl = llvm::cl; diff --git a/tsc/tsc/tsc.cpp b/tsc/tsc/tsc.cpp index b65672955..62cbf0492 100644 --- a/tsc/tsc/tsc.cpp +++ b/tsc/tsc/tsc.cpp @@ -29,7 +29,7 @@ #include "TypeScript/DataStructs.h" #include "TypeScript/Defines.h" -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" namespace cl = llvm::cl; @@ -116,7 +116,7 @@ cl::opt embedExportDeclarationsAction("embed-declarations", cl::desc("Embe cl::opt defaultlibpath("default-lib-path", cl::desc("JS library path. Should point to folder/directory with subfolder '" DEFAULT_LIB_DIR "' or DEFAULT_LIB_PATH environmental variable"), cl::value_desc("defaultlibpath"), cl::cat(TypeScriptCompilerBuildCategory)); cl::opt gclibpath("gc-lib-path", cl::desc("GC library path. Should point to file 'gc.lib' or GC_LIB_PATH environmental variable"), cl::value_desc("gclibpath"), cl::cat(TypeScriptCompilerBuildCategory)); cl::opt llvmlibpath("llvm-lib-path", cl::desc("LLVM library path. Should point to file 'LLVMSupport.lib' and 'LLVMDemangle' in linux or LLVM_LIB_PATH environmental variable"), cl::value_desc("llvmlibpath"), cl::cat(TypeScriptCompilerBuildCategory)); -cl::opt tsclibpath("tsc-lib-path", cl::desc("TypeScript Compiler Runtime library path. Should point to file 'TypeScriptAsyncRuntime.lib' or TSC_LIB_PATH environmental variable"), cl::value_desc("tsclibpath"), cl::cat(TypeScriptCompilerBuildCategory)); +cl::opt tslanglibpath("tslang-lib-path", cl::desc("TypeScript Compiler Runtime library path. Should point to file 'TypeScriptAsyncRuntime.lib' or TSLANG_LIB_PATH environmental variable"), cl::value_desc("tslanglibpath"), cl::cat(TypeScriptCompilerBuildCategory)); cl::opt emsdksysrootpath("emsdk-sysroot-path", cl::desc("TypeScript Compiler Runtime library path. Should point to dir '<...>/emsdk/upstream/emscripten/cache/sysroot' or EMSDK_SYSROOT_PATH environmental variable. (used when '-mtriple=wasm32-pc-emscripten')"), cl::value_desc("emsdksysrootpath"), cl::cat(TypeScriptCompilerBuildCategory)); cl::list libs{"lib", cl::desc("Libraries to link statically. (used in --emit=exe)"), cl::ZeroOrMore, cl::MiscFlags::CommaSeparated, cl::cat(TypeScriptCompilerBuildCategory)}; cl::list objs{"obj", cl::desc("Object files to link statically. (used in --emit=exe and --emit=dll)"), cl::ZeroOrMore, cl::MiscFlags::CommaSeparated, cl::cat(TypeScriptCompilerBuildCategory)}; @@ -130,9 +130,9 @@ cl::opt strictNullChecks("strict-null-checks", cl::desc("Strict Null Check cl::opt newVSCodeFolder("new", cl::desc("New VS Code Project"), cl::cat(TypeScriptCompilerCategory)); cl::opt installDefaultLibCmd("install-default-lib", cl::desc("Install Default Library. use default-lib-path to provide path where to install the lib"), cl::cat(TypeScriptCompilerCategory)); -static void TscPrintVersion(llvm::raw_ostream &OS) { +static void TslangPrintVersion(llvm::raw_ostream &OS) { OS << "TypeScript Native Compiler (https://github.com/ASDAlexander77/TypeScriptCompiler):" << '\n'; - OS << " TySC version " << TSC_PACKAGE_VERSION << '\n' << '\n'; + OS << " TySC version " << TSLANG_PACKAGE_VERSION << '\n' << '\n'; cl::PrintVersionMessage(); } @@ -211,7 +211,7 @@ bool prepareDefaultLib(CompileOptions &compileOptions) auto isDir = llvm::sys::fs::is_directory(fullPath); if (!defaultLibPathVariable.empty() && !isDir) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Default lib path: " << fullPath + llvm::WithColor::error(llvm::errs(), "tslang") << "Default lib path: " << fullPath << " does not exist or is not a directory\n"; return false; } @@ -238,7 +238,7 @@ int main(int argc, char **argv) #endif // version printer - cl::SetVersionPrinter(TscPrintVersion); + cl::SetVersionPrinter(TslangPrintVersion); // Register any command line options. mlir::registerAsmPrinterCLOptions(); @@ -394,6 +394,6 @@ int main(int argc, char **argv) return runJit(argc, argv, *module, compileOptions); } - llvm::WithColor::error(llvm::errs(), "tsc") << "No action specified (parsing only?), use -emit=\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "No action specified (parsing only?), use -emit=\n"; return -1; } diff --git a/tsc/tsc/utils.cpp b/tsc/tsc/utils.cpp index 36b750afa..971c53e8d 100644 --- a/tsc/tsc/utils.cpp +++ b/tsc/tsc/utils.cpp @@ -7,7 +7,7 @@ #include "TypeScript/TypeScriptCompiler/Defines.h" -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" namespace cl = llvm::cl; @@ -214,7 +214,7 @@ std::unique_ptr getOutputStream(enum Action emitAction, st auto FDOut = std::make_unique(outputFilename, EC, openFlags); if (EC) { - llvm::WithColor::error(llvm::errs(), "tsc") << EC.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << EC.message() << "\n"; return nullptr; } diff --git a/tsc/tsc/vscode.cpp b/tsc/tsc/vscode.cpp index 5a2449a13..dabfbc132 100644 --- a/tsc/tsc/vscode.cpp +++ b/tsc/tsc/vscode.cpp @@ -18,7 +18,7 @@ #include -#define DEBUG_TYPE "tsc" +#define DEBUG_TYPE "tslang" using namespace typescript; using namespace llvm; @@ -34,7 +34,7 @@ int substitute(StringRef data, StringMap &values, SmallString<128> &r std::string getExecutablePath(const char *); std::string getGCLibPath(); std::string getLLVMLibPath(); -std::string getTscLibPath(); +std::string getTslangLibPath(); std::string getDefaultLibPath(); std::string fixpath(std::string, const SmallVectorImpl&); @@ -42,19 +42,19 @@ int createVSCodeFolder(int argc, char **argv) { auto projectName = llvm::StringRef(inputFilename); if (projectName == "-") { - llvm::WithColor::error(llvm::errs(), "tsc") << "Name is not provided. (use file name without file extension)\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Name is not provided. (use file name without file extension)\n"; return -1; } if (auto error_code = fs::create_directory(projectName)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Could not create project: " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Could not create project: " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::set_current_path(projectName)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't open folder/directory: " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory: " << error_code.message() << "\n"; return -1; } @@ -85,20 +85,20 @@ int createVSCodeFolder(int argc, char **argv) SmallString<128> projectPath; if (auto error_code = fs::current_path(projectPath)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't get info about current folder: " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't get info about current folder: " << error_code.message() << "\n"; return -1; } // node_modules if (auto error_code = fs::create_directories(NODE_MODULE_TSNC_PATH)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Could not create folder/directory '" << NODE_MODULE_TSNC_PATH << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Could not create folder/directory '" << NODE_MODULE_TSNC_PATH << "' : " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::set_current_path(NODE_MODULE_TSNC_PATH)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't open folder/directory '" << NODE_MODULE_TSNC_PATH << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << NODE_MODULE_TSNC_PATH << "' : " << error_code.message() << "\n"; return -1; } @@ -110,19 +110,19 @@ int createVSCodeFolder(int argc, char **argv) // need to create .vscode if (auto error_code = fs::set_current_path(projectPath)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't open folder/directory '" << projectPath << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << projectPath << "' : " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::create_directory(DOT_VSCODE_PATH)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Could not create folder/directory '" << DOT_VSCODE_PATH << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Could not create folder/directory '" << DOT_VSCODE_PATH << "' : " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::set_current_path(DOT_VSCODE_PATH)) { - llvm::WithColor::error(llvm::errs(), "tsc") << "Can't open folder/directory '" << DOT_VSCODE_PATH << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << DOT_VSCODE_PATH << "' : " << error_code.message() << "\n"; return -1; } @@ -140,16 +140,16 @@ int createVSCodeFolder(int argc, char **argv) appPath.append(driverPath.begin(), driverPath.end()); path::remove_filename(appPath); - auto tscCmd = fixpath(driverPath, appPath); + auto tslangCmd = fixpath(driverPath, appPath); auto gcLibPath = fixpath(getGCLibPath(), appPath); auto llvmLibPath = fixpath(getLLVMLibPath(), appPath); - auto tscLibPath = fixpath(getTscLibPath(), appPath); + auto tslangLibPath = fixpath(getTslangLibPath(), appPath); auto defaultLibPath = fixpath(getDefaultLibPath(), appPath); - vals["TSC_CMD"] = tscCmd; + vals["TSLANG_CMD"] = tslangCmd; vals["GC_LIB_PATH"] = gcLibPath; vals["LLVM_LIB_PATH"] = llvmLibPath; - vals["TSC_LIB_PATH"] = tscLibPath; + vals["TSLANG_LIB_PATH"] = tslangLibPath; vals["DEFAULT_LIB_PATH"] = defaultLibPath; StringRef tasks(TASKS_JSON_DATA); From 2c35a8522241802233771d6883baf5dc66b33805 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Tue, 30 Jun 2026 23:39:21 +0100 Subject: [PATCH 02/27] Rename TypeScript Compiler to TSLang - Updated the executable name from `tsc` to `tslang` in CMakeLists.txt and related files. - Changed debug type definitions from "tsc" to "tslang" across multiple source files. - Modified error and warning messages to reflect the new name. - Adjusted library path variables and command line options to use `tslang` instead of `tsc`. - Updated version printing function to display TSLANG_PACKAGE_VERSION. --- tsc/CMakeLists.txt | 2 +- tsc/{build_tsc_debug-test.bat => build_tslang_debug-test.bat} | 0 tsc/{build_tsc_debug-test.sh => build_tslang_debug-test.sh} | 0 ...tsc_debug-unittests.bat => build_tslang_debug-unittests.bat} | 0 tsc/{build_tsc_debug.bat => build_tslang_debug.bat} | 0 tsc/{build_tsc_debug.sh => build_tslang_debug.sh} | 0 ...c_defaultlib_debug.bat => build_tslang_defaultlib_debug.bat} | 0 ...faultlib_release.bat => build_tslang_defaultlib_release.bat} | 0 ...build_tsc_release-test.bat => build_tslang_release-test.bat} | 0 tsc/{build_tsc_release-test.sh => build_tslang_release-test.sh} | 0 tsc/{build_tsc_release.bat => build_tslang_release.bat} | 0 tsc/{build_tsc_release.sh => build_tslang_release.sh} | 0 tsc/{config_tsc_debug.bat => config_tslang_debug.bat} | 0 tsc/{config_tsc_debug.sh => config_tslang_debug.sh} | 0 tsc/{config_tsc_release.bat => config_tslang_release.bat} | 0 tsc/{config_tsc_release.sh => config_tslang_release.sh} | 0 .../.vscode/c_cpp_properties.json | 0 tsc/{tsc-new-parser => ts-new-parser}/.vscode/launch.json | 0 tsc/{tsc-new-parser => ts-new-parser}/.vscode/settings.json | 0 tsc/{tsc-new-parser => ts-new-parser}/CMakeLists.txt | 0 tsc/{tsc-new-parser => ts-new-parser}/config.h | 0 tsc/{tsc-new-parser => ts-new-parser}/core.h | 0 tsc/{tsc-new-parser => ts-new-parser}/debug.h | 0 tsc/{tsc-new-parser => ts-new-parser}/diagnostics.h | 0 tsc/{tsc-new-parser => ts-new-parser}/dump.h | 0 tsc/{tsc-new-parser => ts-new-parser}/enums.h | 0 tsc/{tsc-new-parser => ts-new-parser}/file_helper.h | 0 tsc/{tsc-new-parser => ts-new-parser}/incremental_parser.cpp | 0 tsc/{tsc-new-parser => ts-new-parser}/incremental_parser.h | 0 tsc/{tsc-new-parser => ts-new-parser}/node_factory.cpp | 0 tsc/{tsc-new-parser => ts-new-parser}/node_factory.h | 0 tsc/{tsc-new-parser => ts-new-parser}/node_test.h | 0 tsc/{tsc-new-parser => ts-new-parser}/parenthesizer_rules.cpp | 0 tsc/{tsc-new-parser => ts-new-parser}/parenthesizer_rules.h | 0 tsc/{tsc-new-parser => ts-new-parser}/parser.cpp | 0 tsc/{tsc-new-parser => ts-new-parser}/parser.h | 0 tsc/{tsc-new-parser => ts-new-parser}/parser_fwd_types.h | 0 tsc/{tsc-new-parser => ts-new-parser}/parser_jdoc.cpp | 0 tsc/{tsc-new-parser => ts-new-parser}/parser_jdoc.h | 0 tsc/{tsc-new-parser => ts-new-parser}/parser_run.cpp | 0 tsc/{tsc-new-parser => ts-new-parser}/parser_types.h | 0 tsc/{tsc-new-parser => ts-new-parser}/scanner.cpp | 0 tsc/{tsc-new-parser => ts-new-parser}/scanner.h | 0 tsc/{tsc-new-parser => ts-new-parser}/scanner_enums.h | 0 tsc/{tsc-new-parser => ts-new-parser}/scanner_run.cpp | 0 tsc/{tsc-new-parser => ts-new-parser}/types.h | 0 tsc/{tsc-new-parser => ts-new-parser}/undefined.h | 0 tsc/{tsc-new-parser => ts-new-parser}/utilities.h | 0 tsc/{tsc => tslang}/.vscode/c_cpp_properties.json | 0 tsc/{tsc => tslang}/.vscode/launch.json | 0 tsc/{tsc => tslang}/.vscode/settings.json | 0 tsc/{tsc => tslang}/.vscode/tasks.json | 0 tsc/{tsc => tslang}/CMakeLists.txt | 0 tsc/{tsc => tslang}/TextDiagnostic.cpp | 0 tsc/{tsc => tslang}/TextDiagnosticPrinter.cpp | 0 tsc/{tsc => tslang}/compile.cpp | 0 tsc/{tsc => tslang}/declarationInline.cpp | 0 tsc/{tsc => tslang}/defaultlib.cpp | 0 tsc/{tsc => tslang}/dump.cpp | 0 tsc/{tsc => tslang}/exe.cpp | 0 tsc/{tsc => tslang}/jit.cpp | 0 tsc/{tsc => tslang}/obj.cpp | 0 tsc/{tsc => tslang}/opts.cpp | 0 tsc/{tsc => tslang}/transform.cpp | 0 tsc/{tsc/tsc.cpp => tslang/tslang.cpp} | 0 tsc/{tsc => tslang}/utils.cpp | 0 tsc/{tsc => tslang}/vscode.cpp | 0 67 files changed, 1 insertion(+), 1 deletion(-) rename tsc/{build_tsc_debug-test.bat => build_tslang_debug-test.bat} (100%) rename tsc/{build_tsc_debug-test.sh => build_tslang_debug-test.sh} (100%) mode change 100755 => 100644 rename tsc/{build_tsc_debug-unittests.bat => build_tslang_debug-unittests.bat} (100%) rename tsc/{build_tsc_debug.bat => build_tslang_debug.bat} (100%) rename tsc/{build_tsc_debug.sh => build_tslang_debug.sh} (100%) mode change 100755 => 100644 rename tsc/{build_tsc_defaultlib_debug.bat => build_tslang_defaultlib_debug.bat} (100%) rename tsc/{build_tsc_defaultlib_release.bat => build_tslang_defaultlib_release.bat} (100%) rename tsc/{build_tsc_release-test.bat => build_tslang_release-test.bat} (100%) rename tsc/{build_tsc_release-test.sh => build_tslang_release-test.sh} (100%) mode change 100755 => 100644 rename tsc/{build_tsc_release.bat => build_tslang_release.bat} (100%) rename tsc/{build_tsc_release.sh => build_tslang_release.sh} (100%) mode change 100755 => 100644 rename tsc/{config_tsc_debug.bat => config_tslang_debug.bat} (100%) rename tsc/{config_tsc_debug.sh => config_tslang_debug.sh} (100%) mode change 100755 => 100644 rename tsc/{config_tsc_release.bat => config_tslang_release.bat} (100%) rename tsc/{config_tsc_release.sh => config_tslang_release.sh} (100%) mode change 100755 => 100644 rename tsc/{tsc-new-parser => ts-new-parser}/.vscode/c_cpp_properties.json (100%) rename tsc/{tsc-new-parser => ts-new-parser}/.vscode/launch.json (100%) rename tsc/{tsc-new-parser => ts-new-parser}/.vscode/settings.json (100%) rename tsc/{tsc-new-parser => ts-new-parser}/CMakeLists.txt (100%) rename tsc/{tsc-new-parser => ts-new-parser}/config.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/core.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/debug.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/diagnostics.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/dump.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/enums.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/file_helper.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/incremental_parser.cpp (100%) rename tsc/{tsc-new-parser => ts-new-parser}/incremental_parser.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/node_factory.cpp (100%) rename tsc/{tsc-new-parser => ts-new-parser}/node_factory.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/node_test.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parenthesizer_rules.cpp (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parenthesizer_rules.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parser.cpp (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parser.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parser_fwd_types.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parser_jdoc.cpp (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parser_jdoc.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parser_run.cpp (100%) rename tsc/{tsc-new-parser => ts-new-parser}/parser_types.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/scanner.cpp (100%) rename tsc/{tsc-new-parser => ts-new-parser}/scanner.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/scanner_enums.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/scanner_run.cpp (100%) rename tsc/{tsc-new-parser => ts-new-parser}/types.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/undefined.h (100%) rename tsc/{tsc-new-parser => ts-new-parser}/utilities.h (100%) rename tsc/{tsc => tslang}/.vscode/c_cpp_properties.json (100%) rename tsc/{tsc => tslang}/.vscode/launch.json (100%) rename tsc/{tsc => tslang}/.vscode/settings.json (100%) rename tsc/{tsc => tslang}/.vscode/tasks.json (100%) rename tsc/{tsc => tslang}/CMakeLists.txt (100%) rename tsc/{tsc => tslang}/TextDiagnostic.cpp (100%) rename tsc/{tsc => tslang}/TextDiagnosticPrinter.cpp (100%) rename tsc/{tsc => tslang}/compile.cpp (100%) rename tsc/{tsc => tslang}/declarationInline.cpp (100%) rename tsc/{tsc => tslang}/defaultlib.cpp (100%) rename tsc/{tsc => tslang}/dump.cpp (100%) rename tsc/{tsc => tslang}/exe.cpp (100%) rename tsc/{tsc => tslang}/jit.cpp (100%) rename tsc/{tsc => tslang}/obj.cpp (100%) rename tsc/{tsc => tslang}/opts.cpp (100%) rename tsc/{tsc => tslang}/transform.cpp (100%) rename tsc/{tsc/tsc.cpp => tslang/tslang.cpp} (100%) rename tsc/{tsc => tslang}/utils.cpp (100%) rename tsc/{tsc => tslang}/vscode.cpp (100%) diff --git a/tsc/CMakeLists.txt b/tsc/CMakeLists.txt index f7ec648d5..3663cc189 100644 --- a/tsc/CMakeLists.txt +++ b/tsc/CMakeLists.txt @@ -163,7 +163,7 @@ add_subdirectory(include) add_subdirectory(lib) add_subdirectory(test) add_subdirectory(tslang) -add_subdirectory(tsc-new-parser) +add_subdirectory(ts-new-parser) if (NOT DEFINED TYPESCRIPT_IGNORE_UNIT_TESTS) # enable unit tests diff --git a/tsc/build_tsc_debug-test.bat b/tsc/build_tslang_debug-test.bat similarity index 100% rename from tsc/build_tsc_debug-test.bat rename to tsc/build_tslang_debug-test.bat diff --git a/tsc/build_tsc_debug-test.sh b/tsc/build_tslang_debug-test.sh old mode 100755 new mode 100644 similarity index 100% rename from tsc/build_tsc_debug-test.sh rename to tsc/build_tslang_debug-test.sh diff --git a/tsc/build_tsc_debug-unittests.bat b/tsc/build_tslang_debug-unittests.bat similarity index 100% rename from tsc/build_tsc_debug-unittests.bat rename to tsc/build_tslang_debug-unittests.bat diff --git a/tsc/build_tsc_debug.bat b/tsc/build_tslang_debug.bat similarity index 100% rename from tsc/build_tsc_debug.bat rename to tsc/build_tslang_debug.bat diff --git a/tsc/build_tsc_debug.sh b/tsc/build_tslang_debug.sh old mode 100755 new mode 100644 similarity index 100% rename from tsc/build_tsc_debug.sh rename to tsc/build_tslang_debug.sh diff --git a/tsc/build_tsc_defaultlib_debug.bat b/tsc/build_tslang_defaultlib_debug.bat similarity index 100% rename from tsc/build_tsc_defaultlib_debug.bat rename to tsc/build_tslang_defaultlib_debug.bat diff --git a/tsc/build_tsc_defaultlib_release.bat b/tsc/build_tslang_defaultlib_release.bat similarity index 100% rename from tsc/build_tsc_defaultlib_release.bat rename to tsc/build_tslang_defaultlib_release.bat diff --git a/tsc/build_tsc_release-test.bat b/tsc/build_tslang_release-test.bat similarity index 100% rename from tsc/build_tsc_release-test.bat rename to tsc/build_tslang_release-test.bat diff --git a/tsc/build_tsc_release-test.sh b/tsc/build_tslang_release-test.sh old mode 100755 new mode 100644 similarity index 100% rename from tsc/build_tsc_release-test.sh rename to tsc/build_tslang_release-test.sh diff --git a/tsc/build_tsc_release.bat b/tsc/build_tslang_release.bat similarity index 100% rename from tsc/build_tsc_release.bat rename to tsc/build_tslang_release.bat diff --git a/tsc/build_tsc_release.sh b/tsc/build_tslang_release.sh old mode 100755 new mode 100644 similarity index 100% rename from tsc/build_tsc_release.sh rename to tsc/build_tslang_release.sh diff --git a/tsc/config_tsc_debug.bat b/tsc/config_tslang_debug.bat similarity index 100% rename from tsc/config_tsc_debug.bat rename to tsc/config_tslang_debug.bat diff --git a/tsc/config_tsc_debug.sh b/tsc/config_tslang_debug.sh old mode 100755 new mode 100644 similarity index 100% rename from tsc/config_tsc_debug.sh rename to tsc/config_tslang_debug.sh diff --git a/tsc/config_tsc_release.bat b/tsc/config_tslang_release.bat similarity index 100% rename from tsc/config_tsc_release.bat rename to tsc/config_tslang_release.bat diff --git a/tsc/config_tsc_release.sh b/tsc/config_tslang_release.sh old mode 100755 new mode 100644 similarity index 100% rename from tsc/config_tsc_release.sh rename to tsc/config_tslang_release.sh diff --git a/tsc/tsc-new-parser/.vscode/c_cpp_properties.json b/tsc/ts-new-parser/.vscode/c_cpp_properties.json similarity index 100% rename from tsc/tsc-new-parser/.vscode/c_cpp_properties.json rename to tsc/ts-new-parser/.vscode/c_cpp_properties.json diff --git a/tsc/tsc-new-parser/.vscode/launch.json b/tsc/ts-new-parser/.vscode/launch.json similarity index 100% rename from tsc/tsc-new-parser/.vscode/launch.json rename to tsc/ts-new-parser/.vscode/launch.json diff --git a/tsc/tsc-new-parser/.vscode/settings.json b/tsc/ts-new-parser/.vscode/settings.json similarity index 100% rename from tsc/tsc-new-parser/.vscode/settings.json rename to tsc/ts-new-parser/.vscode/settings.json diff --git a/tsc/tsc-new-parser/CMakeLists.txt b/tsc/ts-new-parser/CMakeLists.txt similarity index 100% rename from tsc/tsc-new-parser/CMakeLists.txt rename to tsc/ts-new-parser/CMakeLists.txt diff --git a/tsc/tsc-new-parser/config.h b/tsc/ts-new-parser/config.h similarity index 100% rename from tsc/tsc-new-parser/config.h rename to tsc/ts-new-parser/config.h diff --git a/tsc/tsc-new-parser/core.h b/tsc/ts-new-parser/core.h similarity index 100% rename from tsc/tsc-new-parser/core.h rename to tsc/ts-new-parser/core.h diff --git a/tsc/tsc-new-parser/debug.h b/tsc/ts-new-parser/debug.h similarity index 100% rename from tsc/tsc-new-parser/debug.h rename to tsc/ts-new-parser/debug.h diff --git a/tsc/tsc-new-parser/diagnostics.h b/tsc/ts-new-parser/diagnostics.h similarity index 100% rename from tsc/tsc-new-parser/diagnostics.h rename to tsc/ts-new-parser/diagnostics.h diff --git a/tsc/tsc-new-parser/dump.h b/tsc/ts-new-parser/dump.h similarity index 100% rename from tsc/tsc-new-parser/dump.h rename to tsc/ts-new-parser/dump.h diff --git a/tsc/tsc-new-parser/enums.h b/tsc/ts-new-parser/enums.h similarity index 100% rename from tsc/tsc-new-parser/enums.h rename to tsc/ts-new-parser/enums.h diff --git a/tsc/tsc-new-parser/file_helper.h b/tsc/ts-new-parser/file_helper.h similarity index 100% rename from tsc/tsc-new-parser/file_helper.h rename to tsc/ts-new-parser/file_helper.h diff --git a/tsc/tsc-new-parser/incremental_parser.cpp b/tsc/ts-new-parser/incremental_parser.cpp similarity index 100% rename from tsc/tsc-new-parser/incremental_parser.cpp rename to tsc/ts-new-parser/incremental_parser.cpp diff --git a/tsc/tsc-new-parser/incremental_parser.h b/tsc/ts-new-parser/incremental_parser.h similarity index 100% rename from tsc/tsc-new-parser/incremental_parser.h rename to tsc/ts-new-parser/incremental_parser.h diff --git a/tsc/tsc-new-parser/node_factory.cpp b/tsc/ts-new-parser/node_factory.cpp similarity index 100% rename from tsc/tsc-new-parser/node_factory.cpp rename to tsc/ts-new-parser/node_factory.cpp diff --git a/tsc/tsc-new-parser/node_factory.h b/tsc/ts-new-parser/node_factory.h similarity index 100% rename from tsc/tsc-new-parser/node_factory.h rename to tsc/ts-new-parser/node_factory.h diff --git a/tsc/tsc-new-parser/node_test.h b/tsc/ts-new-parser/node_test.h similarity index 100% rename from tsc/tsc-new-parser/node_test.h rename to tsc/ts-new-parser/node_test.h diff --git a/tsc/tsc-new-parser/parenthesizer_rules.cpp b/tsc/ts-new-parser/parenthesizer_rules.cpp similarity index 100% rename from tsc/tsc-new-parser/parenthesizer_rules.cpp rename to tsc/ts-new-parser/parenthesizer_rules.cpp diff --git a/tsc/tsc-new-parser/parenthesizer_rules.h b/tsc/ts-new-parser/parenthesizer_rules.h similarity index 100% rename from tsc/tsc-new-parser/parenthesizer_rules.h rename to tsc/ts-new-parser/parenthesizer_rules.h diff --git a/tsc/tsc-new-parser/parser.cpp b/tsc/ts-new-parser/parser.cpp similarity index 100% rename from tsc/tsc-new-parser/parser.cpp rename to tsc/ts-new-parser/parser.cpp diff --git a/tsc/tsc-new-parser/parser.h b/tsc/ts-new-parser/parser.h similarity index 100% rename from tsc/tsc-new-parser/parser.h rename to tsc/ts-new-parser/parser.h diff --git a/tsc/tsc-new-parser/parser_fwd_types.h b/tsc/ts-new-parser/parser_fwd_types.h similarity index 100% rename from tsc/tsc-new-parser/parser_fwd_types.h rename to tsc/ts-new-parser/parser_fwd_types.h diff --git a/tsc/tsc-new-parser/parser_jdoc.cpp b/tsc/ts-new-parser/parser_jdoc.cpp similarity index 100% rename from tsc/tsc-new-parser/parser_jdoc.cpp rename to tsc/ts-new-parser/parser_jdoc.cpp diff --git a/tsc/tsc-new-parser/parser_jdoc.h b/tsc/ts-new-parser/parser_jdoc.h similarity index 100% rename from tsc/tsc-new-parser/parser_jdoc.h rename to tsc/ts-new-parser/parser_jdoc.h diff --git a/tsc/tsc-new-parser/parser_run.cpp b/tsc/ts-new-parser/parser_run.cpp similarity index 100% rename from tsc/tsc-new-parser/parser_run.cpp rename to tsc/ts-new-parser/parser_run.cpp diff --git a/tsc/tsc-new-parser/parser_types.h b/tsc/ts-new-parser/parser_types.h similarity index 100% rename from tsc/tsc-new-parser/parser_types.h rename to tsc/ts-new-parser/parser_types.h diff --git a/tsc/tsc-new-parser/scanner.cpp b/tsc/ts-new-parser/scanner.cpp similarity index 100% rename from tsc/tsc-new-parser/scanner.cpp rename to tsc/ts-new-parser/scanner.cpp diff --git a/tsc/tsc-new-parser/scanner.h b/tsc/ts-new-parser/scanner.h similarity index 100% rename from tsc/tsc-new-parser/scanner.h rename to tsc/ts-new-parser/scanner.h diff --git a/tsc/tsc-new-parser/scanner_enums.h b/tsc/ts-new-parser/scanner_enums.h similarity index 100% rename from tsc/tsc-new-parser/scanner_enums.h rename to tsc/ts-new-parser/scanner_enums.h diff --git a/tsc/tsc-new-parser/scanner_run.cpp b/tsc/ts-new-parser/scanner_run.cpp similarity index 100% rename from tsc/tsc-new-parser/scanner_run.cpp rename to tsc/ts-new-parser/scanner_run.cpp diff --git a/tsc/tsc-new-parser/types.h b/tsc/ts-new-parser/types.h similarity index 100% rename from tsc/tsc-new-parser/types.h rename to tsc/ts-new-parser/types.h diff --git a/tsc/tsc-new-parser/undefined.h b/tsc/ts-new-parser/undefined.h similarity index 100% rename from tsc/tsc-new-parser/undefined.h rename to tsc/ts-new-parser/undefined.h diff --git a/tsc/tsc-new-parser/utilities.h b/tsc/ts-new-parser/utilities.h similarity index 100% rename from tsc/tsc-new-parser/utilities.h rename to tsc/ts-new-parser/utilities.h diff --git a/tsc/tsc/.vscode/c_cpp_properties.json b/tsc/tslang/.vscode/c_cpp_properties.json similarity index 100% rename from tsc/tsc/.vscode/c_cpp_properties.json rename to tsc/tslang/.vscode/c_cpp_properties.json diff --git a/tsc/tsc/.vscode/launch.json b/tsc/tslang/.vscode/launch.json similarity index 100% rename from tsc/tsc/.vscode/launch.json rename to tsc/tslang/.vscode/launch.json diff --git a/tsc/tsc/.vscode/settings.json b/tsc/tslang/.vscode/settings.json similarity index 100% rename from tsc/tsc/.vscode/settings.json rename to tsc/tslang/.vscode/settings.json diff --git a/tsc/tsc/.vscode/tasks.json b/tsc/tslang/.vscode/tasks.json similarity index 100% rename from tsc/tsc/.vscode/tasks.json rename to tsc/tslang/.vscode/tasks.json diff --git a/tsc/tsc/CMakeLists.txt b/tsc/tslang/CMakeLists.txt similarity index 100% rename from tsc/tsc/CMakeLists.txt rename to tsc/tslang/CMakeLists.txt diff --git a/tsc/tsc/TextDiagnostic.cpp b/tsc/tslang/TextDiagnostic.cpp similarity index 100% rename from tsc/tsc/TextDiagnostic.cpp rename to tsc/tslang/TextDiagnostic.cpp diff --git a/tsc/tsc/TextDiagnosticPrinter.cpp b/tsc/tslang/TextDiagnosticPrinter.cpp similarity index 100% rename from tsc/tsc/TextDiagnosticPrinter.cpp rename to tsc/tslang/TextDiagnosticPrinter.cpp diff --git a/tsc/tsc/compile.cpp b/tsc/tslang/compile.cpp similarity index 100% rename from tsc/tsc/compile.cpp rename to tsc/tslang/compile.cpp diff --git a/tsc/tsc/declarationInline.cpp b/tsc/tslang/declarationInline.cpp similarity index 100% rename from tsc/tsc/declarationInline.cpp rename to tsc/tslang/declarationInline.cpp diff --git a/tsc/tsc/defaultlib.cpp b/tsc/tslang/defaultlib.cpp similarity index 100% rename from tsc/tsc/defaultlib.cpp rename to tsc/tslang/defaultlib.cpp diff --git a/tsc/tsc/dump.cpp b/tsc/tslang/dump.cpp similarity index 100% rename from tsc/tsc/dump.cpp rename to tsc/tslang/dump.cpp diff --git a/tsc/tsc/exe.cpp b/tsc/tslang/exe.cpp similarity index 100% rename from tsc/tsc/exe.cpp rename to tsc/tslang/exe.cpp diff --git a/tsc/tsc/jit.cpp b/tsc/tslang/jit.cpp similarity index 100% rename from tsc/tsc/jit.cpp rename to tsc/tslang/jit.cpp diff --git a/tsc/tsc/obj.cpp b/tsc/tslang/obj.cpp similarity index 100% rename from tsc/tsc/obj.cpp rename to tsc/tslang/obj.cpp diff --git a/tsc/tsc/opts.cpp b/tsc/tslang/opts.cpp similarity index 100% rename from tsc/tsc/opts.cpp rename to tsc/tslang/opts.cpp diff --git a/tsc/tsc/transform.cpp b/tsc/tslang/transform.cpp similarity index 100% rename from tsc/tsc/transform.cpp rename to tsc/tslang/transform.cpp diff --git a/tsc/tsc/tsc.cpp b/tsc/tslang/tslang.cpp similarity index 100% rename from tsc/tsc/tsc.cpp rename to tsc/tslang/tslang.cpp diff --git a/tsc/tsc/utils.cpp b/tsc/tslang/utils.cpp similarity index 100% rename from tsc/tsc/utils.cpp rename to tsc/tslang/utils.cpp diff --git a/tsc/tsc/vscode.cpp b/tsc/tslang/vscode.cpp similarity index 100% rename from tsc/tsc/vscode.cpp rename to tsc/tslang/vscode.cpp From 89eb7b06efd52348f8d266acd342b79f356298c0 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Tue, 30 Jun 2026 23:46:50 +0100 Subject: [PATCH 03/27] renameing --- tsc.code-workspace => tslang.code-workspace | 2 +- {tsc => tslang}/CMakeLists.txt | 0 {tsc => tslang}/CMakePresets.json | 0 {tsc => tslang}/build_tslang_debug-test.bat | 0 {tsc => tslang}/build_tslang_debug-test.sh | 0 {tsc => tslang}/build_tslang_debug-unittests.bat | 0 {tsc => tslang}/build_tslang_debug.bat | 0 {tsc => tslang}/build_tslang_debug.sh | 0 {tsc => tslang}/build_tslang_defaultlib_debug.bat | 0 {tsc => tslang}/build_tslang_defaultlib_release.bat | 0 {tsc => tslang}/build_tslang_release-test.bat | 0 {tsc => tslang}/build_tslang_release-test.sh | 0 {tsc => tslang}/build_tslang_release.bat | 0 {tsc => tslang}/build_tslang_release.sh | 0 {tsc => tslang}/cmake/config_macros.cmake | 0 {tsc => tslang}/config_tslang_debug.bat | 0 {tsc => tslang}/config_tslang_debug.sh | 0 {tsc => tslang}/config_tslang_release.bat | 0 {tsc => tslang}/config_tslang_release.sh | 0 {tsc => tslang}/include/.vscode/c_cpp_properties.json | 0 {tsc => tslang}/include/.vscode/settings.json | 0 {tsc => tslang}/include/CMakeLists.txt | 0 {tsc => tslang}/include/TypeScript/AsyncDialectTranslation.h | 0 {tsc => tslang}/include/TypeScript/CMakeLists.txt | 0 {tsc => tslang}/include/TypeScript/Config.h | 0 {tsc => tslang}/include/TypeScript/DOM.h | 0 {tsc => tslang}/include/TypeScript/DataStructs.h | 0 {tsc => tslang}/include/TypeScript/Defines.h | 0 {tsc => tslang}/include/TypeScript/DiagnosticHelper.h | 0 {tsc => tslang}/include/TypeScript/Helper.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/AnyLogic.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/AssertLogic.h | 0 .../include/TypeScript/LowerToLLVM/CastLogicHelper.h | 0 .../include/TypeScript/LowerToLLVM/CodeLogicHelper.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/ConvertLogic.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/DefaultLogic.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMCodeHelper.h | 0 .../include/TypeScript/LowerToLLVM/LLVMCodeHelperBase.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMDebugInfo.h | 0 .../include/TypeScript/LowerToLLVM/LLVMDebugInfoFixer.h | 0 .../include/TypeScript/LowerToLLVM/LLVMRTTIHelperVC.h | 0 .../include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinux.h | 0 .../include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinuxConst.h | 0 .../include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32.h | 0 .../include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32Const.h | 0 .../include/TypeScript/LowerToLLVM/LLVMTypeConverterHelper.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/LocationHelper.h | 0 .../include/TypeScript/LowerToLLVM/OptionalLogicHelper.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/ThrowLogic.h | 0 .../include/TypeScript/LowerToLLVM/TypeConverterHelper.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVM/TypeHelper.h | 0 .../include/TypeScript/LowerToLLVM/UnaryBinLogicalOrHelper.h | 0 .../include/TypeScript/LowerToLLVM/UndefLogicHelper.h | 0 {tsc => tslang}/include/TypeScript/LowerToLLVMLogic.h | 0 {tsc => tslang}/include/TypeScript/MLIRGen.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRCodeLogic.h | 0 .../include/TypeScript/MLIRLogic/MLIRDebugInfoHelper.h | 0 .../include/TypeScript/MLIRLogic/MLIRDeclarationPrinter.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRDefines.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRGenContext.h | 0 .../include/TypeScript/MLIRLogic/MLIRGenContextDefines.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRGenStore.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRHelper.h | 0 .../include/TypeScript/MLIRLogic/MLIRLocationGuard.h | 0 .../include/TypeScript/MLIRLogic/MLIRNamespaceGuard.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRPrinter.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRRTTIHelperVC.h | 0 .../include/TypeScript/MLIRLogic/MLIRRTTIHelperVCLinux.h | 0 .../include/TypeScript/MLIRLogic/MLIRRTTIHelperVCWin32.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRTypeCore.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRTypeHelper.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRTypeIterator.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRValueGuard.h | 0 {tsc => tslang}/include/TypeScript/MLIRLogic/TypeOfOpHelper.h | 0 {tsc => tslang}/include/TypeScript/ObjDumper.h | 0 {tsc => tslang}/include/TypeScript/Pass/AliasPass.h | 0 {tsc => tslang}/include/TypeScript/Pass/DebugInfoPatchPass.h | 0 {tsc => tslang}/include/TypeScript/Pass/ExportFixPass.h | 0 {tsc => tslang}/include/TypeScript/Pass/FunctionPass.h | 0 {tsc => tslang}/include/TypeScript/Pass/LandingPadFixPass.h | 0 {tsc => tslang}/include/TypeScript/Pass/MemAllocFixPass.h | 0 {tsc => tslang}/include/TypeScript/Pass/ModulePass.h | 0 {tsc => tslang}/include/TypeScript/Pass/Win32ExceptionPass.h | 0 {tsc => tslang}/include/TypeScript/Passes.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptCompiler/Defines.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptDialect.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptDialect.td | 0 .../include/TypeScript/TypeScriptDialectTranslation.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptFunctionPass.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptGC.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptInterfaces.td | 0 .../include/TypeScript/TypeScriptLang/TextDiagnostic.h | 0 .../include/TypeScript/TypeScriptLang/TextDiagnosticPrinter.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptOps.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptOps.td | 0 {tsc => tslang}/include/TypeScript/TypeScriptPassContext.h | 0 {tsc => tslang}/include/TypeScript/TypeScriptTypes.td | 0 {tsc => tslang}/include/TypeScript/VSCodeTemplate/Files.h | 0 {tsc => tslang}/include/TypeScript/Version.h | 0 {tsc => tslang}/include/TypeScript/VisitorAST.h | 0 {tsc => tslang}/include/TypeScript/gcwrapper.h | 0 {tsc => tslang}/lib/.vscode/c_cpp_properties.json | 0 {tsc => tslang}/lib/.vscode/settings.json | 0 {tsc => tslang}/lib/CMakeLists.txt | 0 {tsc => tslang}/lib/TypeScript/AsyncDialectTranslation.cpp | 0 {tsc => tslang}/lib/TypeScript/CMakeLists.txt | 0 {tsc => tslang}/lib/TypeScript/DeclarationPrinter.cpp | 0 {tsc => tslang}/lib/TypeScript/DiagnosticHelper.cpp | 0 {tsc => tslang}/lib/TypeScript/GCPass.cpp | 0 {tsc => tslang}/lib/TypeScript/LowerToAffineLoops.cpp | 0 {tsc => tslang}/lib/TypeScript/LowerToLLVM.cpp | 0 {tsc => tslang}/lib/TypeScript/MLIRGen.cpp | 0 {tsc => tslang}/lib/TypeScript/ObjDumper.cpp | 0 {tsc => tslang}/lib/TypeScript/RelocateConstantPass.cpp | 0 {tsc => tslang}/lib/TypeScript/TypeScriptDialect.cpp | 0 {tsc => tslang}/lib/TypeScript/TypeScriptDialectTranslation.cpp | 0 {tsc => tslang}/lib/TypeScript/TypeScriptOps.cpp | 0 {tsc => tslang}/lib/TypeScriptAliasPass/AliasPass.cpp | 0 {tsc => tslang}/lib/TypeScriptAliasPass/CMakeLists.txt | 0 {tsc => tslang}/lib/TypeScriptAsyncRuntime/AsyncRuntime.cpp | 0 {tsc => tslang}/lib/TypeScriptAsyncRuntime/CMakeLists.txt | 0 {tsc => tslang}/lib/TypeScriptDebugInfoPass/CMakeLists.txt | 0 .../lib/TypeScriptDebugInfoPass/DebugInfoPatchPass.cpp | 0 {tsc => tslang}/lib/TypeScriptExceptionPass/CMakeLists.txt | 0 .../lib/TypeScriptExceptionPass/LandingPadFixPass.cpp | 0 .../lib/TypeScriptExceptionPass/Win32ExceptionPass.cpp | 0 {tsc => tslang}/lib/TypeScriptExportPass/CMakeLists.txt | 0 {tsc => tslang}/lib/TypeScriptExportPass/ExportFixPass.cpp | 0 {tsc => tslang}/lib/TypeScriptGC/CMakeLists.txt | 0 {tsc => tslang}/lib/TypeScriptGC/TypeScriptGC.cpp | 0 {tsc => tslang}/lib/TypeScriptGC/TypeScriptGCPrinter.cpp | 0 {tsc => tslang}/lib/TypeScriptMemAllocPass/CMakeLists.txt | 0 {tsc => tslang}/lib/TypeScriptMemAllocPass/MemAllocFixPass.cpp | 0 {tsc => tslang}/lib/TypeScriptRuntime/AsyncRuntime.cpp | 0 {tsc => tslang}/lib/TypeScriptRuntime/CMakeLists.txt | 0 {tsc => tslang}/lib/TypeScriptRuntime/DynamicRuntime.cpp | 0 {tsc => tslang}/lib/TypeScriptRuntime/MemRuntime.cpp | 0 {tsc => tslang}/lib/TypeScriptRuntime/TypeScriptGC.cpp | 0 {tsc => tslang}/lib/TypeScriptRuntime/TypeScriptRuntime.def | 0 {tsc => tslang}/lib/TypeScriptRuntime/gc.cpp | 0 {tsc => tslang}/lib/TypeScriptRuntime/mlir_init.cpp | 0 {tsc => tslang}/test/.vscode/c_cpp_properties.json | 0 {tsc => tslang}/test/.vscode/launch.json | 0 {tsc => tslang}/test/.vscode/settings.json | 0 {tsc => tslang}/test/CMakeLists.txt | 0 {tsc => tslang}/test/print-tester/CMakeLists.txt | 0 {tsc => tslang}/test/print-tester/printer-tester.cpp | 0 {tsc => tslang}/test/tester/CMakeLists.txt | 0 {tsc => tslang}/test/tester/helper.h | 0 {tsc => tslang}/test/tester/test-runner.cpp | 0 {tsc => tslang}/test/tester/tests/00any.ts | 0 {tsc => tslang}/test/tester/tests/00any_compare.ts | 0 {tsc => tslang}/test/tester/tests/00any_generic_equals.ts | 0 {tsc => tslang}/test/tester/tests/00any_types.ts | 0 {tsc => tslang}/test/tester/tests/00array.ts | 0 {tsc => tslang}/test/tester/tests/00array2.ts | 0 {tsc => tslang}/test/tester/tests/00array3.ts | 0 {tsc => tslang}/test/tester/tests/00array4_push_pop.ts | 0 {tsc => tslang}/test/tester/tests/00array5_deconst.ts | 0 {tsc => tslang}/test/tester/tests/00array6.ts | 0 {tsc => tslang}/test/tester/tests/00array7.ts | 0 {tsc => tslang}/test/tester/tests/00array8_tuple_spread.ts | 0 {tsc => tslang}/test/tester/tests/00array_assignment5.ts | 0 {tsc => tslang}/test/tester/tests/00array_cond_access.ts | 0 {tsc => tslang}/test/tester/tests/00array_of.ts | 0 {tsc => tslang}/test/tester/tests/00array_view.ts | 0 {tsc => tslang}/test/tester/tests/00arrow_generic.ts | 0 {tsc => tslang}/test/tester/tests/00arrow_global.ts | 0 {tsc => tslang}/test/tester/tests/00arrow_in_arrow.ts | 0 {tsc => tslang}/test/tester/tests/00as.ts | 0 {tsc => tslang}/test/tester/tests/00as_const.ts | 0 {tsc => tslang}/test/tester/tests/00assert.ts | 0 {tsc => tslang}/test/tester/tests/00async_await.ts | 0 {tsc => tslang}/test/tester/tests/00break_continue.ts | 0 {tsc => tslang}/test/tester/tests/00class.ts | 0 {tsc => tslang}/test/tester/tests/00class_abstract.ts | 0 {tsc => tslang}/test/tester/tests/00class_access_control.ts | 0 {tsc => tslang}/test/tester/tests/00class_accessor.ts | 0 {tsc => tslang}/test/tester/tests/00class_accessor2.ts | 0 {tsc => tslang}/test/tester/tests/00class_constr_fields.ts | 0 {tsc => tslang}/test/tester/tests/00class_deconst.ts | 0 {tsc => tslang}/test/tester/tests/00class_def_constr.ts | 0 {tsc => tslang}/test/tester/tests/00class_discover_types.ts | 0 {tsc => tslang}/test/tester/tests/00class_expression.ts | 0 {tsc => tslang}/test/tester/tests/00class_expression2.ts | 0 {tsc => tslang}/test/tester/tests/00class_expression3.ts | 0 {tsc => tslang}/test/tester/tests/00class_from_tuple.ts | 0 {tsc => tslang}/test/tester/tests/00class_generic.ts | 0 {tsc => tslang}/test/tester/tests/00class_generic_iface.ts | 0 {tsc => tslang}/test/tester/tests/00class_generic_method.ts | 0 {tsc => tslang}/test/tester/tests/00class_generic_method2.ts | 0 {tsc => tslang}/test/tester/tests/00class_iface.ts | 0 {tsc => tslang}/test/tester/tests/00class_indexer.ts | 0 {tsc => tslang}/test/tester/tests/00class_iterator.ts | 0 {tsc => tslang}/test/tester/tests/00class_iterator_super.ts | 0 {tsc => tslang}/test/tester/tests/00class_local_decl.ts | 0 {tsc => tslang}/test/tester/tests/00class_nested.ts | 0 {tsc => tslang}/test/tester/tests/00class_new.ts | 0 .../test/tester/tests/00class_or_interface_to_tuple.ts | 0 {tsc => tslang}/test/tester/tests/00class_protected_constr.ts | 0 {tsc => tslang}/test/tester/tests/00class_recursive.ts | 0 {tsc => tslang}/test/tester/tests/00class_stack.ts | 0 {tsc => tslang}/test/tester/tests/00class_static.ts | 0 {tsc => tslang}/test/tester/tests/00class_static_block.ts | 0 {tsc => tslang}/test/tester/tests/00class_static_constr.ts | 0 .../test/tester/tests/00class_static_generic_method.ts | 0 .../test/tester/tests/00class_static_generic_method2.ts | 0 .../test/tester/tests/00class_static_generic_method3.ts | 0 {tsc => tslang}/test/tester/tests/00class_super.ts | 0 {tsc => tslang}/test/tester/tests/00class_super_static.ts | 0 {tsc => tslang}/test/tester/tests/00class_symbol_iterator.ts | 0 {tsc => tslang}/test/tester/tests/00class_var_args.ts | 0 {tsc => tslang}/test/tester/tests/00class_virtual_call.ts | 0 {tsc => tslang}/test/tester/tests/00class_virtual_table.ts | 0 {tsc => tslang}/test/tester/tests/00computedpropertyname.ts | 0 {tsc => tslang}/test/tester/tests/00cond_expr.ts | 0 {tsc => tslang}/test/tester/tests/00conditional_type.ts | 0 {tsc => tslang}/test/tester/tests/00decorators.ts | 0 {tsc => tslang}/test/tester/tests/00disposable.ts | 0 {tsc => tslang}/test/tester/tests/00dowhile.ts | 0 {tsc => tslang}/test/tester/tests/00enum.ts | 0 {tsc => tslang}/test/tester/tests/00enum_multiple.ts | 0 {tsc => tslang}/test/tester/tests/00equals.ts | 0 {tsc => tslang}/test/tester/tests/00every.ts | 0 {tsc => tslang}/test/tester/tests/00extends.ts | 0 {tsc => tslang}/test/tester/tests/00extension.ts | 0 {tsc => tslang}/test/tester/tests/00extension_cond_access.ts | 0 {tsc => tslang}/test/tester/tests/00filter.ts | 0 {tsc => tslang}/test/tester/tests/00for.ts | 0 {tsc => tslang}/test/tester/tests/00for_await.ts | 0 {tsc => tslang}/test/tester/tests/00for_await_yield.ts | 0 {tsc => tslang}/test/tester/tests/00for_in.ts | 0 {tsc => tslang}/test/tester/tests/00for_of.ts | 0 {tsc => tslang}/test/tester/tests/00funcs.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_bindings.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_capture.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_expression_generic.ts | 0 .../test/tester/tests/00funcs_expression_iterator.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_generic.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_generic_arrow.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_generic_iterator.ts | 0 .../test/tester/tests/00funcs_generic_with_typeof.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_nesting.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_nesting_capture.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_nesting_generic.ts | 0 .../test/tester/tests/00funcs_typed_generic_iterator.ts | 0 .../test/tester/tests/00funcs_typeless_function_as_generic.ts | 0 {tsc => tslang}/test/tester/tests/00funcs_vararg.ts | 0 {tsc => tslang}/test/tester/tests/00generator.ts | 0 {tsc => tslang}/test/tester/tests/00generator2.ts | 0 {tsc => tslang}/test/tester/tests/00generator3.ts | 0 {tsc => tslang}/test/tester/tests/00generator4.ts | 0 {tsc => tslang}/test/tester/tests/00generator5.ts | 0 {tsc => tslang}/test/tester/tests/00generator6.ts | 0 .../test/tester/tests/00generic_arguments_name_conflict.ts | 0 {tsc => tslang}/test/tester/tests/00globals.ts | 0 {tsc => tslang}/test/tester/tests/00globals2.ts | 0 {tsc => tslang}/test/tester/tests/00globals3.ts | 0 {tsc => tslang}/test/tester/tests/00if_conditional_compile.ts | 0 {tsc => tslang}/test/tester/tests/00if_return.ts | 0 {tsc => tslang}/test/tester/tests/00in.ts | 0 {tsc => tslang}/test/tester/tests/00infer.ts | 0 {tsc => tslang}/test/tester/tests/00instanceof.ts | 0 {tsc => tslang}/test/tester/tests/00interface.ts | 0 {tsc => tslang}/test/tester/tests/00interface2.ts | 0 {tsc => tslang}/test/tester/tests/00interface_conjunction.ts | 0 {tsc => tslang}/test/tester/tests/00interface_generic.ts | 0 {tsc => tslang}/test/tester/tests/00interface_indexer.ts | 0 {tsc => tslang}/test/tester/tests/00interface_new.ts | 0 {tsc => tslang}/test/tester/tests/00interface_object.ts | 0 {tsc => tslang}/test/tester/tests/00interface_object2.ts | 0 {tsc => tslang}/test/tester/tests/00interface_object3.ts | 0 {tsc => tslang}/test/tester/tests/00interface_object4.ts | 0 {tsc => tslang}/test/tester/tests/00interface_object5.ts | 0 {tsc => tslang}/test/tester/tests/00interface_optional.ts | 0 {tsc => tslang}/test/tester/tests/00interface_partial.ts | 0 {tsc => tslang}/test/tester/tests/00intersection_type.ts | 0 .../test/tester/tests/00intersection_type_generic.ts | 0 {tsc => tslang}/test/tester/tests/00iterator.ts | 0 {tsc => tslang}/test/tester/tests/00iterator_bug.ts | 0 {tsc => tslang}/test/tester/tests/00lambdas.ts | 0 {tsc => tslang}/test/tester/tests/00lambdas_generic_global.ts | 0 {tsc => tslang}/test/tester/tests/00length.ts | 0 {tsc => tslang}/test/tester/tests/00map.ts | 0 {tsc => tslang}/test/tester/tests/00method_access_cond.ts | 0 {tsc => tslang}/test/tester/tests/00names_conflict.ts | 0 {tsc => tslang}/test/tester/tests/00new_delete.ts | 0 {tsc => tslang}/test/tester/tests/00ns.ts | 0 {tsc => tslang}/test/tester/tests/00ns2.ts | 0 {tsc => tslang}/test/tester/tests/00ns3.ts | 0 {tsc => tslang}/test/tester/tests/00ns4.ts | 0 {tsc => tslang}/test/tester/tests/00ns5.ts | 0 {tsc => tslang}/test/tester/tests/00ns_bug.ts | 0 {tsc => tslang}/test/tester/tests/00numbers.ts | 0 {tsc => tslang}/test/tester/tests/00object.ts | 0 {tsc => tslang}/test/tester/tests/00object_accessor.ts | 0 {tsc => tslang}/test/tester/tests/00object_deconst.ts | 0 {tsc => tslang}/test/tester/tests/00object_func.ts | 0 {tsc => tslang}/test/tester/tests/00object_func2.ts | 0 {tsc => tslang}/test/tester/tests/00object_func3.ts | 0 {tsc => tslang}/test/tester/tests/00object_global.ts | 0 {tsc => tslang}/test/tester/tests/00object_new.ts | 0 {tsc => tslang}/test/tester/tests/00optional.ts | 0 {tsc => tslang}/test/tester/tests/00prefix_postfix.ts | 0 {tsc => tslang}/test/tester/tests/00print.ts | 0 {tsc => tslang}/test/tester/tests/00property_access_cond.ts | 0 {tsc => tslang}/test/tester/tests/00question_question.ts | 0 {tsc => tslang}/test/tester/tests/00reduce.ts | 0 {tsc => tslang}/test/tester/tests/00reference_index_bug.ts | 0 {tsc => tslang}/test/tester/tests/00reference_null_bug.ts | 0 {tsc => tslang}/test/tester/tests/00reference_ref_deref.ts | 0 {tsc => tslang}/test/tester/tests/00safe_cast.ts | 0 {tsc => tslang}/test/tester/tests/00safe_cast2.ts | 0 {tsc => tslang}/test/tester/tests/00safe_cast_bug.ts | 0 {tsc => tslang}/test/tester/tests/00safe_cast_field_access.ts | 0 {tsc => tslang}/test/tester/tests/00safe_cast_typeof.ts | 0 {tsc => tslang}/test/tester/tests/00safe_cast_while.ts | 0 {tsc => tslang}/test/tester/tests/00sizeof.ts | 0 {tsc => tslang}/test/tester/tests/00spread.ts | 0 {tsc => tslang}/test/tester/tests/00spread_assignment.ts | 0 {tsc => tslang}/test/tester/tests/00stack_test.ts | 0 {tsc => tslang}/test/tester/tests/00str_null.ts | 0 {tsc => tslang}/test/tester/tests/00strings.ts | 0 {tsc => tslang}/test/tester/tests/00switch.ts | 0 {tsc => tslang}/test/tester/tests/00switch_state.ts | 0 {tsc => tslang}/test/tester/tests/00symbol.ts | 0 {tsc => tslang}/test/tester/tests/00to_primitive_ops.ts | 0 {tsc => tslang}/test/tester/tests/00try_catch.ts | 0 {tsc => tslang}/test/tester/tests/00try_catch_rethrow.ts | 0 {tsc => tslang}/test/tester/tests/00try_catch_return.ts | 0 {tsc => tslang}/test/tester/tests/00try_catch_return_dispose.ts | 0 {tsc => tslang}/test/tester/tests/00try_finally.ts | 0 {tsc => tslang}/test/tester/tests/00try_finally_return.ts | 0 {tsc => tslang}/test/tester/tests/00tuple.ts | 0 {tsc => tslang}/test/tester/tests/00tuple_named.ts | 0 {tsc => tslang}/test/tester/tests/00tuple_with_array.ts | 0 {tsc => tslang}/test/tester/tests/00type_aliases_in_generics.ts | 0 {tsc => tslang}/test/tester/tests/00type_guard_function.ts | 0 {tsc => tslang}/test/tester/tests/00typed_array.ts | 0 {tsc => tslang}/test/tester/tests/00types.ts | 0 {tsc => tslang}/test/tester/tests/00types_indexedaccesstype.ts | 0 {tsc => tslang}/test/tester/tests/00types_keyof_enum.ts | 0 {tsc => tslang}/test/tester/tests/00types_mappedtype.ts | 0 .../test/tester/tests/00types_templateliteraltype.ts | 0 {tsc => tslang}/test/tester/tests/00types_unknown1.ts | 0 {tsc => tslang}/test/tester/tests/00types_utility.ts | 0 {tsc => tslang}/test/tester/tests/00uint_compare_bug.ts | 0 {tsc => tslang}/test/tester/tests/00undef.ts | 0 {tsc => tslang}/test/tester/tests/00union_bin_ops.ts | 0 {tsc => tslang}/test/tester/tests/00union_bin_ops2.ts | 0 {tsc => tslang}/test/tester/tests/00union_errors.ts | 0 {tsc => tslang}/test/tester/tests/00union_ops.ts | 0 {tsc => tslang}/test/tester/tests/00union_to_any.ts | 0 {tsc => tslang}/test/tester/tests/00union_type.ts | 0 {tsc => tslang}/test/tester/tests/00var_bindings.ts | 0 {tsc => tslang}/test/tester/tests/00vars.ts | 0 {tsc => tslang}/test/tester/tests/00void.ts | 0 {tsc => tslang}/test/tester/tests/00while.ts | 0 {tsc => tslang}/test/tester/tests/01any.ts | 0 {tsc => tslang}/test/tester/tests/01arguments.ts | 0 {tsc => tslang}/test/tester/tests/01class_new.ts | 0 {tsc => tslang}/test/tester/tests/01disposable.ts | 0 {tsc => tslang}/test/tester/tests/01enum.ts | 0 {tsc => tslang}/test/tester/tests/01extends.ts | 0 {tsc => tslang}/test/tester/tests/01extension.ts | 0 {tsc => tslang}/test/tester/tests/01funcs_generic.ts | 0 {tsc => tslang}/test/tester/tests/01funcs_generic_iterator.ts | 0 {tsc => tslang}/test/tester/tests/01funcs_vararg.ts | 0 {tsc => tslang}/test/tester/tests/01iterator.ts | 0 {tsc => tslang}/test/tester/tests/01lambdas.ts | 0 {tsc => tslang}/test/tester/tests/01map.ts | 0 {tsc => tslang}/test/tester/tests/01method_access_cond.ts | 0 {tsc => tslang}/test/tester/tests/01optional.ts | 0 {tsc => tslang}/test/tester/tests/01print-bug.ts | 0 {tsc => tslang}/test/tester/tests/01reduce.ts | 0 {tsc => tslang}/test/tester/tests/01safe_cast_while.ts | 0 {tsc => tslang}/test/tester/tests/01sizeof.ts | 0 {tsc => tslang}/test/tester/tests/01spread.ts | 0 {tsc => tslang}/test/tester/tests/01spread_assignment.ts | 0 {tsc => tslang}/test/tester/tests/01switch.ts | 0 {tsc => tslang}/test/tester/tests/01symbol.ts | 0 {tsc => tslang}/test/tester/tests/01try_catch.ts | 0 {tsc => tslang}/test/tester/tests/01try_catch_return_dispose.ts | 0 {tsc => tslang}/test/tester/tests/01try_finally.ts | 0 {tsc => tslang}/test/tester/tests/01tuple.ts | 0 {tsc => tslang}/test/tester/tests/01types_mappedtype.ts | 0 .../test/tester/tests/01types_templateliteraltype.ts | 0 {tsc => tslang}/test/tester/tests/01types_utility.ts | 0 {tsc => tslang}/test/tester/tests/01union_type.ts | 0 {tsc => tslang}/test/tester/tests/02disposable.ts | 0 {tsc => tslang}/test/tester/tests/02extends.ts | 0 {tsc => tslang}/test/tester/tests/02funcs_generic_iterator.ts | 0 {tsc => tslang}/test/tester/tests/02funcs_vararg.ts | 0 {tsc => tslang}/test/tester/tests/02iterator.ts | 0 {tsc => tslang}/test/tester/tests/02numbers.ts | 0 {tsc => tslang}/test/tester/tests/02sizeof.ts | 0 {tsc => tslang}/test/tester/tests/02union_type.ts | 0 {tsc => tslang}/test/tester/tests/03iterator.ts | 0 {tsc => tslang}/test/tester/tests/03union_type.ts | 0 {tsc => tslang}/test/tester/tests/04union_type.ts | 0 {tsc => tslang}/test/tester/tests/05strings.ts | 0 {tsc => tslang}/test/tester/tests/05union_type.ts | 0 {tsc => tslang}/test/tester/tests/06numbercollections.ts | 0 {tsc => tslang}/test/tester/tests/07stringcollections.ts | 0 {tsc => tslang}/test/tester/tests/08stringopertations.ts | 0 {tsc => tslang}/test/tester/tests/09postprefix.ts | 0 {tsc => tslang}/test/tester/tests/10arrayincrement.ts | 0 {tsc => tslang}/test/tester/tests/11equalsoperator.ts | 0 {tsc => tslang}/test/tester/tests/12referencecollection.ts | 0 {tsc => tslang}/test/tester/tests/13actions.ts | 0 {tsc => tslang}/test/tester/tests/14lazyoperations.ts | 0 {tsc => tslang}/test/tester/tests/15references.ts | 0 {tsc => tslang}/test/tester/tests/15references_capture.ts | 0 {tsc => tslang}/test/tester/tests/17classes.ts | 0 {tsc => tslang}/test/tester/tests/18enums.ts | 0 {tsc => tslang}/test/tester/tests/19forof.ts | 0 {tsc => tslang}/test/tester/tests/19forof_capture.ts | 0 {tsc => tslang}/test/tester/tests/20maps.ts | 0 {tsc => tslang}/test/tester/tests/22lambdas.ts | 0 {tsc => tslang}/test/tester/tests/23generics.ts | 0 {tsc => tslang}/test/tester/tests/241arrayforeach.ts | 0 {tsc => tslang}/test/tester/tests/243arrayevery.ts | 0 {tsc => tslang}/test/tester/tests/244arraysome.ts | 0 {tsc => tslang}/test/tester/tests/25lamdacapture.ts | 0 {tsc => tslang}/test/tester/tests/26staticclasses.ts | 0 {tsc => tslang}/test/tester/tests/28boolcasts.ts | 0 {tsc => tslang}/test/tester/tests/29lazyreferences.ts | 0 {tsc => tslang}/test/tester/tests/32complexcalls.ts | 0 {tsc => tslang}/test/tester/tests/33inheritance.ts | 0 {tsc => tslang}/test/tester/tests/34switch.ts | 0 {tsc => tslang}/test/tester/tests/35lambdaparameters.ts | 0 {tsc => tslang}/test/tester/tests/36interfaces.ts | 0 {tsc => tslang}/test/tester/tests/39objectdestructuring.ts | 0 {tsc => tslang}/test/tester/tests/40generics.ts | 0 {tsc => tslang}/test/tester/tests/41anonymoustypes.ts | 0 {tsc => tslang}/test/tester/tests/42lambdaproperties.ts | 0 {tsc => tslang}/test/tester/tests/43nestednamespace.ts | 0 {tsc => tslang}/test/tester/tests/44toplevelcode.ts | 0 {tsc => tslang}/test/tester/tests/45enumtostring.ts | 0 {tsc => tslang}/test/tester/tests/48instanceof.ts | 0 {tsc => tslang}/test/tester/tests/51exceptions.ts | 0 {tsc => tslang}/test/tester/tests/Grammar_and_types.ts | 0 .../test/tester/tests/abstractPropertyInConstructor.ts | 0 .../test/tester/tests/additionOperatorWithNumberAndEnum.ts | 0 {tsc => tslang}/test/tester/tests/arithmeticOperatorWithEnum.ts | 0 .../test/tester/tests/arithmeticOperatorWithTypeParameter.ts | 0 .../tester/tests/arrayFakeFlatNoCrashInferenceDeclarations.ts | 0 {tsc => tslang}/test/tester/tests/arrayLiterals.ts | 0 {tsc => tslang}/test/tester/tests/arrayLiterals2ES5.ts | 0 {tsc => tslang}/test/tester/tests/arrayLiterals3.ts | 0 {tsc => tslang}/test/tester/tests/assignmentTypeNarrowing.ts | 0 .../test/tester/tests/asyncMethodWithSuper_es2017.ts | 0 {tsc => tslang}/test/tester/tests/callWithSpread.ts | 0 .../test/tester/tests/comparisonOperatorWithIdenticalObjects.ts | 0 {tsc => tslang}/test/tester/tests/component.ts | 0 {tsc => tslang}/test/tester/tests/conditionalTypes1.ts | 0 {tsc => tslang}/test/tester/tests/conditionalTypes2.ts | 0 {tsc => tslang}/test/tester/tests/decl_class.ts | 0 {tsc => tslang}/test/tester/tests/decl_enum.ts | 0 {tsc => tslang}/test/tester/tests/decl_interface.ts | 0 {tsc => tslang}/test/tester/tests/decl_type.ts | 0 {tsc => tslang}/test/tester/tests/declarationsAndAssignments.ts | 0 {tsc => tslang}/test/tester/tests/declare_global_var.ts | 0 {tsc => tslang}/test/tester/tests/define_global_var.ts | 0 {tsc => tslang}/test/tester/tests/dependencies.ts | 0 .../test/tester/tests/disallowLineTerminatorBeforeArrow.ts | 0 .../tester/tests/emitDefaultParametersFunctionExpression.ts | 0 {tsc => tslang}/test/tester/tests/emit_class.ts | 0 {tsc => tslang}/test/tester/tests/emit_compiletime_class.ts | 0 {tsc => tslang}/test/tester/tests/emit_compiletime_func.ts | 0 {tsc => tslang}/test/tester/tests/emit_enum.ts | 0 {tsc => tslang}/test/tester/tests/emit_interface.ts | 0 {tsc => tslang}/test/tester/tests/emit_type.ts | 0 {tsc => tslang}/test/tester/tests/export_class_interface.ts | 0 {tsc => tslang}/test/tester/tests/export_enum.ts | 0 .../test/tester/tests/export_object_literal_with_class_types.ts | 0 .../test/tester/tests/export_object_literal_with_interface.ts | 0 {tsc => tslang}/test/tester/tests/export_vars.ts | 0 {tsc => tslang}/test/tester/tests/export_vars2.ts | 0 {tsc => tslang}/test/tester/tests/import_class_interface.ts | 0 {tsc => tslang}/test/tester/tests/import_enum.ts | 0 .../test/tester/tests/import_object_literal_with_class_types.ts | 0 .../test/tester/tests/import_object_literal_with_interface.ts | 0 {tsc => tslang}/test/tester/tests/import_vars.ts | 0 {tsc => tslang}/test/tester/tests/import_vars2.ts | 0 {tsc => tslang}/test/tester/tests/include_global_var.ts | 0 {tsc => tslang}/test/tester/tests/internals.ts | 0 {tsc => tslang}/test/tester/tests/load_store_decorators.ts | 0 {tsc => tslang}/test/tester/tests/logicalAssignment5.ts | 0 {tsc => tslang}/test/tester/tests/logicalAssignment5_2.ts | 0 {tsc => tslang}/test/tester/tests/logicalAssignment5_3.ts | 0 {tsc => tslang}/test/tester/tests/nbody.ts | 0 {tsc => tslang}/test/tester/tests/newWithSpread.ts | 0 .../test/tester/tests/noPropertyAccessFromIndexSignature1.ts | 0 {tsc => tslang}/test/tester/tests/no_main.ts | 0 {tsc => tslang}/test/tester/tests/parser.ts | 0 {tsc => tslang}/test/tester/tests/path.ts | 0 {tsc => tslang}/test/tester/tests/raytrace-0.ts | 0 {tsc => tslang}/test/tester/tests/raytrace.ts | 0 {tsc => tslang}/test/tester/tests/service.ts | 0 {tsc => tslang}/test/tester/tests/shared.ts | 0 {tsc => tslang}/test/tester/tests/structural-typing.ts | 0 {tsc => tslang}/test/tester/tests/thisTypeInClasses.ts | 0 {tsc => tslang}/test/tester/tests/typeGuardFunction.ts | 0 {tsc => tslang}/test/tester/tests/typeGuardOfFormThisMember.ts | 0 .../test/tester/tests/typeGuardOfFormTypeOfBoolean.ts | 0 {tsc => tslang}/test/tester/tests/types_vs_interfaces.ts | 0 {tsc => tslang}/test/tester/tests/use_shared.ts | 0 {tsc => tslang}/ts-new-parser/.vscode/c_cpp_properties.json | 0 {tsc => tslang}/ts-new-parser/.vscode/launch.json | 0 {tsc => tslang}/ts-new-parser/.vscode/settings.json | 0 {tsc => tslang}/ts-new-parser/CMakeLists.txt | 0 {tsc => tslang}/ts-new-parser/config.h | 0 {tsc => tslang}/ts-new-parser/core.h | 0 {tsc => tslang}/ts-new-parser/debug.h | 0 {tsc => tslang}/ts-new-parser/diagnostics.h | 0 {tsc => tslang}/ts-new-parser/dump.h | 0 {tsc => tslang}/ts-new-parser/enums.h | 0 {tsc => tslang}/ts-new-parser/file_helper.h | 0 {tsc => tslang}/ts-new-parser/incremental_parser.cpp | 0 {tsc => tslang}/ts-new-parser/incremental_parser.h | 0 {tsc => tslang}/ts-new-parser/node_factory.cpp | 0 {tsc => tslang}/ts-new-parser/node_factory.h | 0 {tsc => tslang}/ts-new-parser/node_test.h | 0 {tsc => tslang}/ts-new-parser/parenthesizer_rules.cpp | 0 {tsc => tslang}/ts-new-parser/parenthesizer_rules.h | 0 {tsc => tslang}/ts-new-parser/parser.cpp | 0 {tsc => tslang}/ts-new-parser/parser.h | 0 {tsc => tslang}/ts-new-parser/parser_fwd_types.h | 0 {tsc => tslang}/ts-new-parser/parser_jdoc.cpp | 0 {tsc => tslang}/ts-new-parser/parser_jdoc.h | 0 {tsc => tslang}/ts-new-parser/parser_run.cpp | 0 {tsc => tslang}/ts-new-parser/parser_types.h | 0 {tsc => tslang}/ts-new-parser/scanner.cpp | 0 {tsc => tslang}/ts-new-parser/scanner.h | 0 {tsc => tslang}/ts-new-parser/scanner_enums.h | 0 {tsc => tslang}/ts-new-parser/scanner_run.cpp | 0 {tsc => tslang}/ts-new-parser/types.h | 0 {tsc => tslang}/ts-new-parser/undefined.h | 0 {tsc => tslang}/ts-new-parser/utilities.h | 0 {tsc => tslang}/tsc.natvis | 0 {tsc => tslang}/tslang/.vscode/c_cpp_properties.json | 0 {tsc => tslang}/tslang/.vscode/launch.json | 0 {tsc => tslang}/tslang/.vscode/settings.json | 0 {tsc => tslang}/tslang/.vscode/tasks.json | 0 {tsc => tslang}/tslang/CMakeLists.txt | 0 {tsc => tslang}/tslang/TextDiagnostic.cpp | 0 {tsc => tslang}/tslang/TextDiagnosticPrinter.cpp | 0 {tsc => tslang}/tslang/compile.cpp | 0 {tsc => tslang}/tslang/declarationInline.cpp | 0 {tsc => tslang}/tslang/defaultlib.cpp | 0 {tsc => tslang}/tslang/dump.cpp | 0 {tsc => tslang}/tslang/exe.cpp | 0 {tsc => tslang}/tslang/jit.cpp | 0 {tsc => tslang}/tslang/obj.cpp | 0 {tsc => tslang}/tslang/opts.cpp | 0 {tsc => tslang}/tslang/transform.cpp | 0 {tsc => tslang}/tslang/tslang.cpp | 0 {tsc => tslang}/tslang/utils.cpp | 0 {tsc => tslang}/tslang/vscode.cpp | 0 {tsc => tslang}/unittests/.vscode/settings.json | 0 {tsc => tslang}/unittests/CMakeLists.txt | 0 {tsc => tslang}/unittests/Example/CMakeLists.txt | 0 {tsc => tslang}/unittests/Example/Example.cpp | 0 {tsc => tslang}/unittests/MLIRGen/CMakeLists.txt | 0 {tsc => tslang}/unittests/MLIRGen/TypeToString.cpp | 0 566 files changed, 1 insertion(+), 1 deletion(-) rename tsc.code-workspace => tslang.code-workspace (99%) rename {tsc => tslang}/CMakeLists.txt (100%) rename {tsc => tslang}/CMakePresets.json (100%) rename {tsc => tslang}/build_tslang_debug-test.bat (100%) rename {tsc => tslang}/build_tslang_debug-test.sh (100%) rename {tsc => tslang}/build_tslang_debug-unittests.bat (100%) rename {tsc => tslang}/build_tslang_debug.bat (100%) rename {tsc => tslang}/build_tslang_debug.sh (100%) rename {tsc => tslang}/build_tslang_defaultlib_debug.bat (100%) rename {tsc => tslang}/build_tslang_defaultlib_release.bat (100%) rename {tsc => tslang}/build_tslang_release-test.bat (100%) rename {tsc => tslang}/build_tslang_release-test.sh (100%) rename {tsc => tslang}/build_tslang_release.bat (100%) rename {tsc => tslang}/build_tslang_release.sh (100%) rename {tsc => tslang}/cmake/config_macros.cmake (100%) rename {tsc => tslang}/config_tslang_debug.bat (100%) rename {tsc => tslang}/config_tslang_debug.sh (100%) rename {tsc => tslang}/config_tslang_release.bat (100%) rename {tsc => tslang}/config_tslang_release.sh (100%) rename {tsc => tslang}/include/.vscode/c_cpp_properties.json (100%) rename {tsc => tslang}/include/.vscode/settings.json (100%) rename {tsc => tslang}/include/CMakeLists.txt (100%) rename {tsc => tslang}/include/TypeScript/AsyncDialectTranslation.h (100%) rename {tsc => tslang}/include/TypeScript/CMakeLists.txt (100%) rename {tsc => tslang}/include/TypeScript/Config.h (100%) rename {tsc => tslang}/include/TypeScript/DOM.h (100%) rename {tsc => tslang}/include/TypeScript/DataStructs.h (100%) rename {tsc => tslang}/include/TypeScript/Defines.h (100%) rename {tsc => tslang}/include/TypeScript/DiagnosticHelper.h (100%) rename {tsc => tslang}/include/TypeScript/Helper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/AnyLogic.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/AssertLogic.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/CastLogicHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/CodeLogicHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/ConvertLogic.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/DefaultLogic.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMCodeHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMCodeHelperBase.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMDebugInfo.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMDebugInfoFixer.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVC.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinux.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinuxConst.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32Const.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LLVMTypeConverterHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/LocationHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/OptionalLogicHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/ThrowLogic.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/TypeConverterHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/TypeHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/UnaryBinLogicalOrHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVM/UndefLogicHelper.h (100%) rename {tsc => tslang}/include/TypeScript/LowerToLLVMLogic.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRGen.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRCodeLogic.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRDebugInfoHelper.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRDeclarationPrinter.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRDefines.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRGenContext.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRGenContextDefines.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRGenStore.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRHelper.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRLocationGuard.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRNamespaceGuard.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRPrinter.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRRTTIHelperVC.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCLinux.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCWin32.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRTypeCore.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRTypeHelper.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRTypeIterator.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/MLIRValueGuard.h (100%) rename {tsc => tslang}/include/TypeScript/MLIRLogic/TypeOfOpHelper.h (100%) rename {tsc => tslang}/include/TypeScript/ObjDumper.h (100%) rename {tsc => tslang}/include/TypeScript/Pass/AliasPass.h (100%) rename {tsc => tslang}/include/TypeScript/Pass/DebugInfoPatchPass.h (100%) rename {tsc => tslang}/include/TypeScript/Pass/ExportFixPass.h (100%) rename {tsc => tslang}/include/TypeScript/Pass/FunctionPass.h (100%) rename {tsc => tslang}/include/TypeScript/Pass/LandingPadFixPass.h (100%) rename {tsc => tslang}/include/TypeScript/Pass/MemAllocFixPass.h (100%) rename {tsc => tslang}/include/TypeScript/Pass/ModulePass.h (100%) rename {tsc => tslang}/include/TypeScript/Pass/Win32ExceptionPass.h (100%) rename {tsc => tslang}/include/TypeScript/Passes.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptCompiler/Defines.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptDialect.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptDialect.td (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptDialectTranslation.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptFunctionPass.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptGC.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptInterfaces.td (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptLang/TextDiagnostic.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptLang/TextDiagnosticPrinter.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptOps.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptOps.td (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptPassContext.h (100%) rename {tsc => tslang}/include/TypeScript/TypeScriptTypes.td (100%) rename {tsc => tslang}/include/TypeScript/VSCodeTemplate/Files.h (100%) rename {tsc => tslang}/include/TypeScript/Version.h (100%) rename {tsc => tslang}/include/TypeScript/VisitorAST.h (100%) rename {tsc => tslang}/include/TypeScript/gcwrapper.h (100%) rename {tsc => tslang}/lib/.vscode/c_cpp_properties.json (100%) rename {tsc => tslang}/lib/.vscode/settings.json (100%) rename {tsc => tslang}/lib/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScript/AsyncDialectTranslation.cpp (100%) rename {tsc => tslang}/lib/TypeScript/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScript/DeclarationPrinter.cpp (100%) rename {tsc => tslang}/lib/TypeScript/DiagnosticHelper.cpp (100%) rename {tsc => tslang}/lib/TypeScript/GCPass.cpp (100%) rename {tsc => tslang}/lib/TypeScript/LowerToAffineLoops.cpp (100%) rename {tsc => tslang}/lib/TypeScript/LowerToLLVM.cpp (100%) rename {tsc => tslang}/lib/TypeScript/MLIRGen.cpp (100%) rename {tsc => tslang}/lib/TypeScript/ObjDumper.cpp (100%) rename {tsc => tslang}/lib/TypeScript/RelocateConstantPass.cpp (100%) rename {tsc => tslang}/lib/TypeScript/TypeScriptDialect.cpp (100%) rename {tsc => tslang}/lib/TypeScript/TypeScriptDialectTranslation.cpp (100%) rename {tsc => tslang}/lib/TypeScript/TypeScriptOps.cpp (100%) rename {tsc => tslang}/lib/TypeScriptAliasPass/AliasPass.cpp (100%) rename {tsc => tslang}/lib/TypeScriptAliasPass/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScriptAsyncRuntime/AsyncRuntime.cpp (100%) rename {tsc => tslang}/lib/TypeScriptAsyncRuntime/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScriptDebugInfoPass/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScriptDebugInfoPass/DebugInfoPatchPass.cpp (100%) rename {tsc => tslang}/lib/TypeScriptExceptionPass/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScriptExceptionPass/LandingPadFixPass.cpp (100%) rename {tsc => tslang}/lib/TypeScriptExceptionPass/Win32ExceptionPass.cpp (100%) rename {tsc => tslang}/lib/TypeScriptExportPass/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScriptExportPass/ExportFixPass.cpp (100%) rename {tsc => tslang}/lib/TypeScriptGC/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScriptGC/TypeScriptGC.cpp (100%) rename {tsc => tslang}/lib/TypeScriptGC/TypeScriptGCPrinter.cpp (100%) rename {tsc => tslang}/lib/TypeScriptMemAllocPass/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScriptMemAllocPass/MemAllocFixPass.cpp (100%) rename {tsc => tslang}/lib/TypeScriptRuntime/AsyncRuntime.cpp (100%) rename {tsc => tslang}/lib/TypeScriptRuntime/CMakeLists.txt (100%) rename {tsc => tslang}/lib/TypeScriptRuntime/DynamicRuntime.cpp (100%) rename {tsc => tslang}/lib/TypeScriptRuntime/MemRuntime.cpp (100%) rename {tsc => tslang}/lib/TypeScriptRuntime/TypeScriptGC.cpp (100%) rename {tsc => tslang}/lib/TypeScriptRuntime/TypeScriptRuntime.def (100%) rename {tsc => tslang}/lib/TypeScriptRuntime/gc.cpp (100%) rename {tsc => tslang}/lib/TypeScriptRuntime/mlir_init.cpp (100%) rename {tsc => tslang}/test/.vscode/c_cpp_properties.json (100%) rename {tsc => tslang}/test/.vscode/launch.json (100%) rename {tsc => tslang}/test/.vscode/settings.json (100%) rename {tsc => tslang}/test/CMakeLists.txt (100%) rename {tsc => tslang}/test/print-tester/CMakeLists.txt (100%) rename {tsc => tslang}/test/print-tester/printer-tester.cpp (100%) rename {tsc => tslang}/test/tester/CMakeLists.txt (100%) rename {tsc => tslang}/test/tester/helper.h (100%) rename {tsc => tslang}/test/tester/test-runner.cpp (100%) rename {tsc => tslang}/test/tester/tests/00any.ts (100%) rename {tsc => tslang}/test/tester/tests/00any_compare.ts (100%) rename {tsc => tslang}/test/tester/tests/00any_generic_equals.ts (100%) rename {tsc => tslang}/test/tester/tests/00any_types.ts (100%) rename {tsc => tslang}/test/tester/tests/00array.ts (100%) rename {tsc => tslang}/test/tester/tests/00array2.ts (100%) rename {tsc => tslang}/test/tester/tests/00array3.ts (100%) rename {tsc => tslang}/test/tester/tests/00array4_push_pop.ts (100%) rename {tsc => tslang}/test/tester/tests/00array5_deconst.ts (100%) rename {tsc => tslang}/test/tester/tests/00array6.ts (100%) rename {tsc => tslang}/test/tester/tests/00array7.ts (100%) rename {tsc => tslang}/test/tester/tests/00array8_tuple_spread.ts (100%) rename {tsc => tslang}/test/tester/tests/00array_assignment5.ts (100%) rename {tsc => tslang}/test/tester/tests/00array_cond_access.ts (100%) rename {tsc => tslang}/test/tester/tests/00array_of.ts (100%) rename {tsc => tslang}/test/tester/tests/00array_view.ts (100%) rename {tsc => tslang}/test/tester/tests/00arrow_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/00arrow_global.ts (100%) rename {tsc => tslang}/test/tester/tests/00arrow_in_arrow.ts (100%) rename {tsc => tslang}/test/tester/tests/00as.ts (100%) rename {tsc => tslang}/test/tester/tests/00as_const.ts (100%) rename {tsc => tslang}/test/tester/tests/00assert.ts (100%) rename {tsc => tslang}/test/tester/tests/00async_await.ts (100%) rename {tsc => tslang}/test/tester/tests/00break_continue.ts (100%) rename {tsc => tslang}/test/tester/tests/00class.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_abstract.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_access_control.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_accessor.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_accessor2.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_constr_fields.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_deconst.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_def_constr.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_discover_types.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_expression.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_expression2.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_expression3.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_from_tuple.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_generic_iface.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_generic_method.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_generic_method2.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_iface.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_indexer.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_iterator_super.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_local_decl.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_nested.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_new.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_or_interface_to_tuple.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_protected_constr.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_recursive.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_stack.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_static.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_static_block.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_static_constr.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_static_generic_method.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_static_generic_method2.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_static_generic_method3.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_super.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_super_static.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_symbol_iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_var_args.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_virtual_call.ts (100%) rename {tsc => tslang}/test/tester/tests/00class_virtual_table.ts (100%) rename {tsc => tslang}/test/tester/tests/00computedpropertyname.ts (100%) rename {tsc => tslang}/test/tester/tests/00cond_expr.ts (100%) rename {tsc => tslang}/test/tester/tests/00conditional_type.ts (100%) rename {tsc => tslang}/test/tester/tests/00decorators.ts (100%) rename {tsc => tslang}/test/tester/tests/00disposable.ts (100%) rename {tsc => tslang}/test/tester/tests/00dowhile.ts (100%) rename {tsc => tslang}/test/tester/tests/00enum.ts (100%) rename {tsc => tslang}/test/tester/tests/00enum_multiple.ts (100%) rename {tsc => tslang}/test/tester/tests/00equals.ts (100%) rename {tsc => tslang}/test/tester/tests/00every.ts (100%) rename {tsc => tslang}/test/tester/tests/00extends.ts (100%) rename {tsc => tslang}/test/tester/tests/00extension.ts (100%) rename {tsc => tslang}/test/tester/tests/00extension_cond_access.ts (100%) rename {tsc => tslang}/test/tester/tests/00filter.ts (100%) rename {tsc => tslang}/test/tester/tests/00for.ts (100%) rename {tsc => tslang}/test/tester/tests/00for_await.ts (100%) rename {tsc => tslang}/test/tester/tests/00for_await_yield.ts (100%) rename {tsc => tslang}/test/tester/tests/00for_in.ts (100%) rename {tsc => tslang}/test/tester/tests/00for_of.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_bindings.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_capture.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_expression_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_expression_iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_generic_arrow.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_generic_iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_generic_with_typeof.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_nesting.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_nesting_capture.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_nesting_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_typed_generic_iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_typeless_function_as_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/00funcs_vararg.ts (100%) rename {tsc => tslang}/test/tester/tests/00generator.ts (100%) rename {tsc => tslang}/test/tester/tests/00generator2.ts (100%) rename {tsc => tslang}/test/tester/tests/00generator3.ts (100%) rename {tsc => tslang}/test/tester/tests/00generator4.ts (100%) rename {tsc => tslang}/test/tester/tests/00generator5.ts (100%) rename {tsc => tslang}/test/tester/tests/00generator6.ts (100%) rename {tsc => tslang}/test/tester/tests/00generic_arguments_name_conflict.ts (100%) rename {tsc => tslang}/test/tester/tests/00globals.ts (100%) rename {tsc => tslang}/test/tester/tests/00globals2.ts (100%) rename {tsc => tslang}/test/tester/tests/00globals3.ts (100%) rename {tsc => tslang}/test/tester/tests/00if_conditional_compile.ts (100%) rename {tsc => tslang}/test/tester/tests/00if_return.ts (100%) rename {tsc => tslang}/test/tester/tests/00in.ts (100%) rename {tsc => tslang}/test/tester/tests/00infer.ts (100%) rename {tsc => tslang}/test/tester/tests/00instanceof.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface2.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_conjunction.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_indexer.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_new.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_object.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_object2.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_object3.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_object4.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_object5.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_optional.ts (100%) rename {tsc => tslang}/test/tester/tests/00interface_partial.ts (100%) rename {tsc => tslang}/test/tester/tests/00intersection_type.ts (100%) rename {tsc => tslang}/test/tester/tests/00intersection_type_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/00iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/00iterator_bug.ts (100%) rename {tsc => tslang}/test/tester/tests/00lambdas.ts (100%) rename {tsc => tslang}/test/tester/tests/00lambdas_generic_global.ts (100%) rename {tsc => tslang}/test/tester/tests/00length.ts (100%) rename {tsc => tslang}/test/tester/tests/00map.ts (100%) rename {tsc => tslang}/test/tester/tests/00method_access_cond.ts (100%) rename {tsc => tslang}/test/tester/tests/00names_conflict.ts (100%) rename {tsc => tslang}/test/tester/tests/00new_delete.ts (100%) rename {tsc => tslang}/test/tester/tests/00ns.ts (100%) rename {tsc => tslang}/test/tester/tests/00ns2.ts (100%) rename {tsc => tslang}/test/tester/tests/00ns3.ts (100%) rename {tsc => tslang}/test/tester/tests/00ns4.ts (100%) rename {tsc => tslang}/test/tester/tests/00ns5.ts (100%) rename {tsc => tslang}/test/tester/tests/00ns_bug.ts (100%) rename {tsc => tslang}/test/tester/tests/00numbers.ts (100%) rename {tsc => tslang}/test/tester/tests/00object.ts (100%) rename {tsc => tslang}/test/tester/tests/00object_accessor.ts (100%) rename {tsc => tslang}/test/tester/tests/00object_deconst.ts (100%) rename {tsc => tslang}/test/tester/tests/00object_func.ts (100%) rename {tsc => tslang}/test/tester/tests/00object_func2.ts (100%) rename {tsc => tslang}/test/tester/tests/00object_func3.ts (100%) rename {tsc => tslang}/test/tester/tests/00object_global.ts (100%) rename {tsc => tslang}/test/tester/tests/00object_new.ts (100%) rename {tsc => tslang}/test/tester/tests/00optional.ts (100%) rename {tsc => tslang}/test/tester/tests/00prefix_postfix.ts (100%) rename {tsc => tslang}/test/tester/tests/00print.ts (100%) rename {tsc => tslang}/test/tester/tests/00property_access_cond.ts (100%) rename {tsc => tslang}/test/tester/tests/00question_question.ts (100%) rename {tsc => tslang}/test/tester/tests/00reduce.ts (100%) rename {tsc => tslang}/test/tester/tests/00reference_index_bug.ts (100%) rename {tsc => tslang}/test/tester/tests/00reference_null_bug.ts (100%) rename {tsc => tslang}/test/tester/tests/00reference_ref_deref.ts (100%) rename {tsc => tslang}/test/tester/tests/00safe_cast.ts (100%) rename {tsc => tslang}/test/tester/tests/00safe_cast2.ts (100%) rename {tsc => tslang}/test/tester/tests/00safe_cast_bug.ts (100%) rename {tsc => tslang}/test/tester/tests/00safe_cast_field_access.ts (100%) rename {tsc => tslang}/test/tester/tests/00safe_cast_typeof.ts (100%) rename {tsc => tslang}/test/tester/tests/00safe_cast_while.ts (100%) rename {tsc => tslang}/test/tester/tests/00sizeof.ts (100%) rename {tsc => tslang}/test/tester/tests/00spread.ts (100%) rename {tsc => tslang}/test/tester/tests/00spread_assignment.ts (100%) rename {tsc => tslang}/test/tester/tests/00stack_test.ts (100%) rename {tsc => tslang}/test/tester/tests/00str_null.ts (100%) rename {tsc => tslang}/test/tester/tests/00strings.ts (100%) rename {tsc => tslang}/test/tester/tests/00switch.ts (100%) rename {tsc => tslang}/test/tester/tests/00switch_state.ts (100%) rename {tsc => tslang}/test/tester/tests/00symbol.ts (100%) rename {tsc => tslang}/test/tester/tests/00to_primitive_ops.ts (100%) rename {tsc => tslang}/test/tester/tests/00try_catch.ts (100%) rename {tsc => tslang}/test/tester/tests/00try_catch_rethrow.ts (100%) rename {tsc => tslang}/test/tester/tests/00try_catch_return.ts (100%) rename {tsc => tslang}/test/tester/tests/00try_catch_return_dispose.ts (100%) rename {tsc => tslang}/test/tester/tests/00try_finally.ts (100%) rename {tsc => tslang}/test/tester/tests/00try_finally_return.ts (100%) rename {tsc => tslang}/test/tester/tests/00tuple.ts (100%) rename {tsc => tslang}/test/tester/tests/00tuple_named.ts (100%) rename {tsc => tslang}/test/tester/tests/00tuple_with_array.ts (100%) rename {tsc => tslang}/test/tester/tests/00type_aliases_in_generics.ts (100%) rename {tsc => tslang}/test/tester/tests/00type_guard_function.ts (100%) rename {tsc => tslang}/test/tester/tests/00typed_array.ts (100%) rename {tsc => tslang}/test/tester/tests/00types.ts (100%) rename {tsc => tslang}/test/tester/tests/00types_indexedaccesstype.ts (100%) rename {tsc => tslang}/test/tester/tests/00types_keyof_enum.ts (100%) rename {tsc => tslang}/test/tester/tests/00types_mappedtype.ts (100%) rename {tsc => tslang}/test/tester/tests/00types_templateliteraltype.ts (100%) rename {tsc => tslang}/test/tester/tests/00types_unknown1.ts (100%) rename {tsc => tslang}/test/tester/tests/00types_utility.ts (100%) rename {tsc => tslang}/test/tester/tests/00uint_compare_bug.ts (100%) rename {tsc => tslang}/test/tester/tests/00undef.ts (100%) rename {tsc => tslang}/test/tester/tests/00union_bin_ops.ts (100%) rename {tsc => tslang}/test/tester/tests/00union_bin_ops2.ts (100%) rename {tsc => tslang}/test/tester/tests/00union_errors.ts (100%) rename {tsc => tslang}/test/tester/tests/00union_ops.ts (100%) rename {tsc => tslang}/test/tester/tests/00union_to_any.ts (100%) rename {tsc => tslang}/test/tester/tests/00union_type.ts (100%) rename {tsc => tslang}/test/tester/tests/00var_bindings.ts (100%) rename {tsc => tslang}/test/tester/tests/00vars.ts (100%) rename {tsc => tslang}/test/tester/tests/00void.ts (100%) rename {tsc => tslang}/test/tester/tests/00while.ts (100%) rename {tsc => tslang}/test/tester/tests/01any.ts (100%) rename {tsc => tslang}/test/tester/tests/01arguments.ts (100%) rename {tsc => tslang}/test/tester/tests/01class_new.ts (100%) rename {tsc => tslang}/test/tester/tests/01disposable.ts (100%) rename {tsc => tslang}/test/tester/tests/01enum.ts (100%) rename {tsc => tslang}/test/tester/tests/01extends.ts (100%) rename {tsc => tslang}/test/tester/tests/01extension.ts (100%) rename {tsc => tslang}/test/tester/tests/01funcs_generic.ts (100%) rename {tsc => tslang}/test/tester/tests/01funcs_generic_iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/01funcs_vararg.ts (100%) rename {tsc => tslang}/test/tester/tests/01iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/01lambdas.ts (100%) rename {tsc => tslang}/test/tester/tests/01map.ts (100%) rename {tsc => tslang}/test/tester/tests/01method_access_cond.ts (100%) rename {tsc => tslang}/test/tester/tests/01optional.ts (100%) rename {tsc => tslang}/test/tester/tests/01print-bug.ts (100%) rename {tsc => tslang}/test/tester/tests/01reduce.ts (100%) rename {tsc => tslang}/test/tester/tests/01safe_cast_while.ts (100%) rename {tsc => tslang}/test/tester/tests/01sizeof.ts (100%) rename {tsc => tslang}/test/tester/tests/01spread.ts (100%) rename {tsc => tslang}/test/tester/tests/01spread_assignment.ts (100%) rename {tsc => tslang}/test/tester/tests/01switch.ts (100%) rename {tsc => tslang}/test/tester/tests/01symbol.ts (100%) rename {tsc => tslang}/test/tester/tests/01try_catch.ts (100%) rename {tsc => tslang}/test/tester/tests/01try_catch_return_dispose.ts (100%) rename {tsc => tslang}/test/tester/tests/01try_finally.ts (100%) rename {tsc => tslang}/test/tester/tests/01tuple.ts (100%) rename {tsc => tslang}/test/tester/tests/01types_mappedtype.ts (100%) rename {tsc => tslang}/test/tester/tests/01types_templateliteraltype.ts (100%) rename {tsc => tslang}/test/tester/tests/01types_utility.ts (100%) rename {tsc => tslang}/test/tester/tests/01union_type.ts (100%) rename {tsc => tslang}/test/tester/tests/02disposable.ts (100%) rename {tsc => tslang}/test/tester/tests/02extends.ts (100%) rename {tsc => tslang}/test/tester/tests/02funcs_generic_iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/02funcs_vararg.ts (100%) rename {tsc => tslang}/test/tester/tests/02iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/02numbers.ts (100%) rename {tsc => tslang}/test/tester/tests/02sizeof.ts (100%) rename {tsc => tslang}/test/tester/tests/02union_type.ts (100%) rename {tsc => tslang}/test/tester/tests/03iterator.ts (100%) rename {tsc => tslang}/test/tester/tests/03union_type.ts (100%) rename {tsc => tslang}/test/tester/tests/04union_type.ts (100%) rename {tsc => tslang}/test/tester/tests/05strings.ts (100%) rename {tsc => tslang}/test/tester/tests/05union_type.ts (100%) rename {tsc => tslang}/test/tester/tests/06numbercollections.ts (100%) rename {tsc => tslang}/test/tester/tests/07stringcollections.ts (100%) rename {tsc => tslang}/test/tester/tests/08stringopertations.ts (100%) rename {tsc => tslang}/test/tester/tests/09postprefix.ts (100%) rename {tsc => tslang}/test/tester/tests/10arrayincrement.ts (100%) rename {tsc => tslang}/test/tester/tests/11equalsoperator.ts (100%) rename {tsc => tslang}/test/tester/tests/12referencecollection.ts (100%) rename {tsc => tslang}/test/tester/tests/13actions.ts (100%) rename {tsc => tslang}/test/tester/tests/14lazyoperations.ts (100%) rename {tsc => tslang}/test/tester/tests/15references.ts (100%) rename {tsc => tslang}/test/tester/tests/15references_capture.ts (100%) rename {tsc => tslang}/test/tester/tests/17classes.ts (100%) rename {tsc => tslang}/test/tester/tests/18enums.ts (100%) rename {tsc => tslang}/test/tester/tests/19forof.ts (100%) rename {tsc => tslang}/test/tester/tests/19forof_capture.ts (100%) rename {tsc => tslang}/test/tester/tests/20maps.ts (100%) rename {tsc => tslang}/test/tester/tests/22lambdas.ts (100%) rename {tsc => tslang}/test/tester/tests/23generics.ts (100%) rename {tsc => tslang}/test/tester/tests/241arrayforeach.ts (100%) rename {tsc => tslang}/test/tester/tests/243arrayevery.ts (100%) rename {tsc => tslang}/test/tester/tests/244arraysome.ts (100%) rename {tsc => tslang}/test/tester/tests/25lamdacapture.ts (100%) rename {tsc => tslang}/test/tester/tests/26staticclasses.ts (100%) rename {tsc => tslang}/test/tester/tests/28boolcasts.ts (100%) rename {tsc => tslang}/test/tester/tests/29lazyreferences.ts (100%) rename {tsc => tslang}/test/tester/tests/32complexcalls.ts (100%) rename {tsc => tslang}/test/tester/tests/33inheritance.ts (100%) rename {tsc => tslang}/test/tester/tests/34switch.ts (100%) rename {tsc => tslang}/test/tester/tests/35lambdaparameters.ts (100%) rename {tsc => tslang}/test/tester/tests/36interfaces.ts (100%) rename {tsc => tslang}/test/tester/tests/39objectdestructuring.ts (100%) rename {tsc => tslang}/test/tester/tests/40generics.ts (100%) rename {tsc => tslang}/test/tester/tests/41anonymoustypes.ts (100%) rename {tsc => tslang}/test/tester/tests/42lambdaproperties.ts (100%) rename {tsc => tslang}/test/tester/tests/43nestednamespace.ts (100%) rename {tsc => tslang}/test/tester/tests/44toplevelcode.ts (100%) rename {tsc => tslang}/test/tester/tests/45enumtostring.ts (100%) rename {tsc => tslang}/test/tester/tests/48instanceof.ts (100%) rename {tsc => tslang}/test/tester/tests/51exceptions.ts (100%) rename {tsc => tslang}/test/tester/tests/Grammar_and_types.ts (100%) rename {tsc => tslang}/test/tester/tests/abstractPropertyInConstructor.ts (100%) rename {tsc => tslang}/test/tester/tests/additionOperatorWithNumberAndEnum.ts (100%) rename {tsc => tslang}/test/tester/tests/arithmeticOperatorWithEnum.ts (100%) rename {tsc => tslang}/test/tester/tests/arithmeticOperatorWithTypeParameter.ts (100%) rename {tsc => tslang}/test/tester/tests/arrayFakeFlatNoCrashInferenceDeclarations.ts (100%) rename {tsc => tslang}/test/tester/tests/arrayLiterals.ts (100%) rename {tsc => tslang}/test/tester/tests/arrayLiterals2ES5.ts (100%) rename {tsc => tslang}/test/tester/tests/arrayLiterals3.ts (100%) rename {tsc => tslang}/test/tester/tests/assignmentTypeNarrowing.ts (100%) rename {tsc => tslang}/test/tester/tests/asyncMethodWithSuper_es2017.ts (100%) rename {tsc => tslang}/test/tester/tests/callWithSpread.ts (100%) rename {tsc => tslang}/test/tester/tests/comparisonOperatorWithIdenticalObjects.ts (100%) rename {tsc => tslang}/test/tester/tests/component.ts (100%) rename {tsc => tslang}/test/tester/tests/conditionalTypes1.ts (100%) rename {tsc => tslang}/test/tester/tests/conditionalTypes2.ts (100%) rename {tsc => tslang}/test/tester/tests/decl_class.ts (100%) rename {tsc => tslang}/test/tester/tests/decl_enum.ts (100%) rename {tsc => tslang}/test/tester/tests/decl_interface.ts (100%) rename {tsc => tslang}/test/tester/tests/decl_type.ts (100%) rename {tsc => tslang}/test/tester/tests/declarationsAndAssignments.ts (100%) rename {tsc => tslang}/test/tester/tests/declare_global_var.ts (100%) rename {tsc => tslang}/test/tester/tests/define_global_var.ts (100%) rename {tsc => tslang}/test/tester/tests/dependencies.ts (100%) rename {tsc => tslang}/test/tester/tests/disallowLineTerminatorBeforeArrow.ts (100%) rename {tsc => tslang}/test/tester/tests/emitDefaultParametersFunctionExpression.ts (100%) rename {tsc => tslang}/test/tester/tests/emit_class.ts (100%) rename {tsc => tslang}/test/tester/tests/emit_compiletime_class.ts (100%) rename {tsc => tslang}/test/tester/tests/emit_compiletime_func.ts (100%) rename {tsc => tslang}/test/tester/tests/emit_enum.ts (100%) rename {tsc => tslang}/test/tester/tests/emit_interface.ts (100%) rename {tsc => tslang}/test/tester/tests/emit_type.ts (100%) rename {tsc => tslang}/test/tester/tests/export_class_interface.ts (100%) rename {tsc => tslang}/test/tester/tests/export_enum.ts (100%) rename {tsc => tslang}/test/tester/tests/export_object_literal_with_class_types.ts (100%) rename {tsc => tslang}/test/tester/tests/export_object_literal_with_interface.ts (100%) rename {tsc => tslang}/test/tester/tests/export_vars.ts (100%) rename {tsc => tslang}/test/tester/tests/export_vars2.ts (100%) rename {tsc => tslang}/test/tester/tests/import_class_interface.ts (100%) rename {tsc => tslang}/test/tester/tests/import_enum.ts (100%) rename {tsc => tslang}/test/tester/tests/import_object_literal_with_class_types.ts (100%) rename {tsc => tslang}/test/tester/tests/import_object_literal_with_interface.ts (100%) rename {tsc => tslang}/test/tester/tests/import_vars.ts (100%) rename {tsc => tslang}/test/tester/tests/import_vars2.ts (100%) rename {tsc => tslang}/test/tester/tests/include_global_var.ts (100%) rename {tsc => tslang}/test/tester/tests/internals.ts (100%) rename {tsc => tslang}/test/tester/tests/load_store_decorators.ts (100%) rename {tsc => tslang}/test/tester/tests/logicalAssignment5.ts (100%) rename {tsc => tslang}/test/tester/tests/logicalAssignment5_2.ts (100%) rename {tsc => tslang}/test/tester/tests/logicalAssignment5_3.ts (100%) rename {tsc => tslang}/test/tester/tests/nbody.ts (100%) rename {tsc => tslang}/test/tester/tests/newWithSpread.ts (100%) rename {tsc => tslang}/test/tester/tests/noPropertyAccessFromIndexSignature1.ts (100%) rename {tsc => tslang}/test/tester/tests/no_main.ts (100%) rename {tsc => tslang}/test/tester/tests/parser.ts (100%) rename {tsc => tslang}/test/tester/tests/path.ts (100%) rename {tsc => tslang}/test/tester/tests/raytrace-0.ts (100%) rename {tsc => tslang}/test/tester/tests/raytrace.ts (100%) rename {tsc => tslang}/test/tester/tests/service.ts (100%) rename {tsc => tslang}/test/tester/tests/shared.ts (100%) rename {tsc => tslang}/test/tester/tests/structural-typing.ts (100%) rename {tsc => tslang}/test/tester/tests/thisTypeInClasses.ts (100%) rename {tsc => tslang}/test/tester/tests/typeGuardFunction.ts (100%) rename {tsc => tslang}/test/tester/tests/typeGuardOfFormThisMember.ts (100%) rename {tsc => tslang}/test/tester/tests/typeGuardOfFormTypeOfBoolean.ts (100%) rename {tsc => tslang}/test/tester/tests/types_vs_interfaces.ts (100%) rename {tsc => tslang}/test/tester/tests/use_shared.ts (100%) rename {tsc => tslang}/ts-new-parser/.vscode/c_cpp_properties.json (100%) rename {tsc => tslang}/ts-new-parser/.vscode/launch.json (100%) rename {tsc => tslang}/ts-new-parser/.vscode/settings.json (100%) rename {tsc => tslang}/ts-new-parser/CMakeLists.txt (100%) rename {tsc => tslang}/ts-new-parser/config.h (100%) rename {tsc => tslang}/ts-new-parser/core.h (100%) rename {tsc => tslang}/ts-new-parser/debug.h (100%) rename {tsc => tslang}/ts-new-parser/diagnostics.h (100%) rename {tsc => tslang}/ts-new-parser/dump.h (100%) rename {tsc => tslang}/ts-new-parser/enums.h (100%) rename {tsc => tslang}/ts-new-parser/file_helper.h (100%) rename {tsc => tslang}/ts-new-parser/incremental_parser.cpp (100%) rename {tsc => tslang}/ts-new-parser/incremental_parser.h (100%) rename {tsc => tslang}/ts-new-parser/node_factory.cpp (100%) rename {tsc => tslang}/ts-new-parser/node_factory.h (100%) rename {tsc => tslang}/ts-new-parser/node_test.h (100%) rename {tsc => tslang}/ts-new-parser/parenthesizer_rules.cpp (100%) rename {tsc => tslang}/ts-new-parser/parenthesizer_rules.h (100%) rename {tsc => tslang}/ts-new-parser/parser.cpp (100%) rename {tsc => tslang}/ts-new-parser/parser.h (100%) rename {tsc => tslang}/ts-new-parser/parser_fwd_types.h (100%) rename {tsc => tslang}/ts-new-parser/parser_jdoc.cpp (100%) rename {tsc => tslang}/ts-new-parser/parser_jdoc.h (100%) rename {tsc => tslang}/ts-new-parser/parser_run.cpp (100%) rename {tsc => tslang}/ts-new-parser/parser_types.h (100%) rename {tsc => tslang}/ts-new-parser/scanner.cpp (100%) rename {tsc => tslang}/ts-new-parser/scanner.h (100%) rename {tsc => tslang}/ts-new-parser/scanner_enums.h (100%) rename {tsc => tslang}/ts-new-parser/scanner_run.cpp (100%) rename {tsc => tslang}/ts-new-parser/types.h (100%) rename {tsc => tslang}/ts-new-parser/undefined.h (100%) rename {tsc => tslang}/ts-new-parser/utilities.h (100%) rename {tsc => tslang}/tsc.natvis (100%) rename {tsc => tslang}/tslang/.vscode/c_cpp_properties.json (100%) rename {tsc => tslang}/tslang/.vscode/launch.json (100%) rename {tsc => tslang}/tslang/.vscode/settings.json (100%) rename {tsc => tslang}/tslang/.vscode/tasks.json (100%) rename {tsc => tslang}/tslang/CMakeLists.txt (100%) rename {tsc => tslang}/tslang/TextDiagnostic.cpp (100%) rename {tsc => tslang}/tslang/TextDiagnosticPrinter.cpp (100%) rename {tsc => tslang}/tslang/compile.cpp (100%) rename {tsc => tslang}/tslang/declarationInline.cpp (100%) rename {tsc => tslang}/tslang/defaultlib.cpp (100%) rename {tsc => tslang}/tslang/dump.cpp (100%) rename {tsc => tslang}/tslang/exe.cpp (100%) rename {tsc => tslang}/tslang/jit.cpp (100%) rename {tsc => tslang}/tslang/obj.cpp (100%) rename {tsc => tslang}/tslang/opts.cpp (100%) rename {tsc => tslang}/tslang/transform.cpp (100%) rename {tsc => tslang}/tslang/tslang.cpp (100%) rename {tsc => tslang}/tslang/utils.cpp (100%) rename {tsc => tslang}/tslang/vscode.cpp (100%) rename {tsc => tslang}/unittests/.vscode/settings.json (100%) rename {tsc => tslang}/unittests/CMakeLists.txt (100%) rename {tsc => tslang}/unittests/Example/CMakeLists.txt (100%) rename {tsc => tslang}/unittests/Example/Example.cpp (100%) rename {tsc => tslang}/unittests/MLIRGen/CMakeLists.txt (100%) rename {tsc => tslang}/unittests/MLIRGen/TypeToString.cpp (100%) diff --git a/tsc.code-workspace b/tslang.code-workspace similarity index 99% rename from tsc.code-workspace rename to tslang.code-workspace index 4b7769ae1..b7fc55a06 100644 --- a/tsc.code-workspace +++ b/tslang.code-workspace @@ -22,7 +22,7 @@ }, { "name": "TypeScript New Parser", - "path": "./tslang/tsc-new-parser" + "path": "./tslang/ts-new-parser" } ], "settings": { diff --git a/tsc/CMakeLists.txt b/tslang/CMakeLists.txt similarity index 100% rename from tsc/CMakeLists.txt rename to tslang/CMakeLists.txt diff --git a/tsc/CMakePresets.json b/tslang/CMakePresets.json similarity index 100% rename from tsc/CMakePresets.json rename to tslang/CMakePresets.json diff --git a/tsc/build_tslang_debug-test.bat b/tslang/build_tslang_debug-test.bat similarity index 100% rename from tsc/build_tslang_debug-test.bat rename to tslang/build_tslang_debug-test.bat diff --git a/tsc/build_tslang_debug-test.sh b/tslang/build_tslang_debug-test.sh similarity index 100% rename from tsc/build_tslang_debug-test.sh rename to tslang/build_tslang_debug-test.sh diff --git a/tsc/build_tslang_debug-unittests.bat b/tslang/build_tslang_debug-unittests.bat similarity index 100% rename from tsc/build_tslang_debug-unittests.bat rename to tslang/build_tslang_debug-unittests.bat diff --git a/tsc/build_tslang_debug.bat b/tslang/build_tslang_debug.bat similarity index 100% rename from tsc/build_tslang_debug.bat rename to tslang/build_tslang_debug.bat diff --git a/tsc/build_tslang_debug.sh b/tslang/build_tslang_debug.sh similarity index 100% rename from tsc/build_tslang_debug.sh rename to tslang/build_tslang_debug.sh diff --git a/tsc/build_tslang_defaultlib_debug.bat b/tslang/build_tslang_defaultlib_debug.bat similarity index 100% rename from tsc/build_tslang_defaultlib_debug.bat rename to tslang/build_tslang_defaultlib_debug.bat diff --git a/tsc/build_tslang_defaultlib_release.bat b/tslang/build_tslang_defaultlib_release.bat similarity index 100% rename from tsc/build_tslang_defaultlib_release.bat rename to tslang/build_tslang_defaultlib_release.bat diff --git a/tsc/build_tslang_release-test.bat b/tslang/build_tslang_release-test.bat similarity index 100% rename from tsc/build_tslang_release-test.bat rename to tslang/build_tslang_release-test.bat diff --git a/tsc/build_tslang_release-test.sh b/tslang/build_tslang_release-test.sh similarity index 100% rename from tsc/build_tslang_release-test.sh rename to tslang/build_tslang_release-test.sh diff --git a/tsc/build_tslang_release.bat b/tslang/build_tslang_release.bat similarity index 100% rename from tsc/build_tslang_release.bat rename to tslang/build_tslang_release.bat diff --git a/tsc/build_tslang_release.sh b/tslang/build_tslang_release.sh similarity index 100% rename from tsc/build_tslang_release.sh rename to tslang/build_tslang_release.sh diff --git a/tsc/cmake/config_macros.cmake b/tslang/cmake/config_macros.cmake similarity index 100% rename from tsc/cmake/config_macros.cmake rename to tslang/cmake/config_macros.cmake diff --git a/tsc/config_tslang_debug.bat b/tslang/config_tslang_debug.bat similarity index 100% rename from tsc/config_tslang_debug.bat rename to tslang/config_tslang_debug.bat diff --git a/tsc/config_tslang_debug.sh b/tslang/config_tslang_debug.sh similarity index 100% rename from tsc/config_tslang_debug.sh rename to tslang/config_tslang_debug.sh diff --git a/tsc/config_tslang_release.bat b/tslang/config_tslang_release.bat similarity index 100% rename from tsc/config_tslang_release.bat rename to tslang/config_tslang_release.bat diff --git a/tsc/config_tslang_release.sh b/tslang/config_tslang_release.sh similarity index 100% rename from tsc/config_tslang_release.sh rename to tslang/config_tslang_release.sh diff --git a/tsc/include/.vscode/c_cpp_properties.json b/tslang/include/.vscode/c_cpp_properties.json similarity index 100% rename from tsc/include/.vscode/c_cpp_properties.json rename to tslang/include/.vscode/c_cpp_properties.json diff --git a/tsc/include/.vscode/settings.json b/tslang/include/.vscode/settings.json similarity index 100% rename from tsc/include/.vscode/settings.json rename to tslang/include/.vscode/settings.json diff --git a/tsc/include/CMakeLists.txt b/tslang/include/CMakeLists.txt similarity index 100% rename from tsc/include/CMakeLists.txt rename to tslang/include/CMakeLists.txt diff --git a/tsc/include/TypeScript/AsyncDialectTranslation.h b/tslang/include/TypeScript/AsyncDialectTranslation.h similarity index 100% rename from tsc/include/TypeScript/AsyncDialectTranslation.h rename to tslang/include/TypeScript/AsyncDialectTranslation.h diff --git a/tsc/include/TypeScript/CMakeLists.txt b/tslang/include/TypeScript/CMakeLists.txt similarity index 100% rename from tsc/include/TypeScript/CMakeLists.txt rename to tslang/include/TypeScript/CMakeLists.txt diff --git a/tsc/include/TypeScript/Config.h b/tslang/include/TypeScript/Config.h similarity index 100% rename from tsc/include/TypeScript/Config.h rename to tslang/include/TypeScript/Config.h diff --git a/tsc/include/TypeScript/DOM.h b/tslang/include/TypeScript/DOM.h similarity index 100% rename from tsc/include/TypeScript/DOM.h rename to tslang/include/TypeScript/DOM.h diff --git a/tsc/include/TypeScript/DataStructs.h b/tslang/include/TypeScript/DataStructs.h similarity index 100% rename from tsc/include/TypeScript/DataStructs.h rename to tslang/include/TypeScript/DataStructs.h diff --git a/tsc/include/TypeScript/Defines.h b/tslang/include/TypeScript/Defines.h similarity index 100% rename from tsc/include/TypeScript/Defines.h rename to tslang/include/TypeScript/Defines.h diff --git a/tsc/include/TypeScript/DiagnosticHelper.h b/tslang/include/TypeScript/DiagnosticHelper.h similarity index 100% rename from tsc/include/TypeScript/DiagnosticHelper.h rename to tslang/include/TypeScript/DiagnosticHelper.h diff --git a/tsc/include/TypeScript/Helper.h b/tslang/include/TypeScript/Helper.h similarity index 100% rename from tsc/include/TypeScript/Helper.h rename to tslang/include/TypeScript/Helper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/AnyLogic.h b/tslang/include/TypeScript/LowerToLLVM/AnyLogic.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/AnyLogic.h rename to tslang/include/TypeScript/LowerToLLVM/AnyLogic.h diff --git a/tsc/include/TypeScript/LowerToLLVM/AssertLogic.h b/tslang/include/TypeScript/LowerToLLVM/AssertLogic.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/AssertLogic.h rename to tslang/include/TypeScript/LowerToLLVM/AssertLogic.h diff --git a/tsc/include/TypeScript/LowerToLLVM/CastLogicHelper.h b/tslang/include/TypeScript/LowerToLLVM/CastLogicHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/CastLogicHelper.h rename to tslang/include/TypeScript/LowerToLLVM/CastLogicHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/CodeLogicHelper.h b/tslang/include/TypeScript/LowerToLLVM/CodeLogicHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/CodeLogicHelper.h rename to tslang/include/TypeScript/LowerToLLVM/CodeLogicHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/ConvertLogic.h b/tslang/include/TypeScript/LowerToLLVM/ConvertLogic.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/ConvertLogic.h rename to tslang/include/TypeScript/LowerToLLVM/ConvertLogic.h diff --git a/tsc/include/TypeScript/LowerToLLVM/DefaultLogic.h b/tslang/include/TypeScript/LowerToLLVM/DefaultLogic.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/DefaultLogic.h rename to tslang/include/TypeScript/LowerToLLVM/DefaultLogic.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMCodeHelper.h b/tslang/include/TypeScript/LowerToLLVM/LLVMCodeHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMCodeHelper.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMCodeHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMCodeHelperBase.h b/tslang/include/TypeScript/LowerToLLVM/LLVMCodeHelperBase.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMCodeHelperBase.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMCodeHelperBase.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMDebugInfo.h b/tslang/include/TypeScript/LowerToLLVM/LLVMDebugInfo.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMDebugInfo.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMDebugInfo.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMDebugInfoFixer.h b/tslang/include/TypeScript/LowerToLLVM/LLVMDebugInfoFixer.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMDebugInfoFixer.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMDebugInfoFixer.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVC.h b/tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVC.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVC.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVC.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinux.h b/tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinux.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinux.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinux.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinuxConst.h b/tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinuxConst.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinuxConst.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCLinuxConst.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32.h b/tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32Const.h b/tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32Const.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32Const.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMRTTIHelperVCWin32Const.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LLVMTypeConverterHelper.h b/tslang/include/TypeScript/LowerToLLVM/LLVMTypeConverterHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LLVMTypeConverterHelper.h rename to tslang/include/TypeScript/LowerToLLVM/LLVMTypeConverterHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/LocationHelper.h b/tslang/include/TypeScript/LowerToLLVM/LocationHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/LocationHelper.h rename to tslang/include/TypeScript/LowerToLLVM/LocationHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/OptionalLogicHelper.h b/tslang/include/TypeScript/LowerToLLVM/OptionalLogicHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/OptionalLogicHelper.h rename to tslang/include/TypeScript/LowerToLLVM/OptionalLogicHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/ThrowLogic.h b/tslang/include/TypeScript/LowerToLLVM/ThrowLogic.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/ThrowLogic.h rename to tslang/include/TypeScript/LowerToLLVM/ThrowLogic.h diff --git a/tsc/include/TypeScript/LowerToLLVM/TypeConverterHelper.h b/tslang/include/TypeScript/LowerToLLVM/TypeConverterHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/TypeConverterHelper.h rename to tslang/include/TypeScript/LowerToLLVM/TypeConverterHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/TypeHelper.h b/tslang/include/TypeScript/LowerToLLVM/TypeHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/TypeHelper.h rename to tslang/include/TypeScript/LowerToLLVM/TypeHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/UnaryBinLogicalOrHelper.h b/tslang/include/TypeScript/LowerToLLVM/UnaryBinLogicalOrHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/UnaryBinLogicalOrHelper.h rename to tslang/include/TypeScript/LowerToLLVM/UnaryBinLogicalOrHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVM/UndefLogicHelper.h b/tslang/include/TypeScript/LowerToLLVM/UndefLogicHelper.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVM/UndefLogicHelper.h rename to tslang/include/TypeScript/LowerToLLVM/UndefLogicHelper.h diff --git a/tsc/include/TypeScript/LowerToLLVMLogic.h b/tslang/include/TypeScript/LowerToLLVMLogic.h similarity index 100% rename from tsc/include/TypeScript/LowerToLLVMLogic.h rename to tslang/include/TypeScript/LowerToLLVMLogic.h diff --git a/tsc/include/TypeScript/MLIRGen.h b/tslang/include/TypeScript/MLIRGen.h similarity index 100% rename from tsc/include/TypeScript/MLIRGen.h rename to tslang/include/TypeScript/MLIRGen.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRCodeLogic.h b/tslang/include/TypeScript/MLIRLogic/MLIRCodeLogic.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRCodeLogic.h rename to tslang/include/TypeScript/MLIRLogic/MLIRCodeLogic.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRDebugInfoHelper.h b/tslang/include/TypeScript/MLIRLogic/MLIRDebugInfoHelper.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRDebugInfoHelper.h rename to tslang/include/TypeScript/MLIRLogic/MLIRDebugInfoHelper.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRDeclarationPrinter.h b/tslang/include/TypeScript/MLIRLogic/MLIRDeclarationPrinter.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRDeclarationPrinter.h rename to tslang/include/TypeScript/MLIRLogic/MLIRDeclarationPrinter.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRDefines.h b/tslang/include/TypeScript/MLIRLogic/MLIRDefines.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRDefines.h rename to tslang/include/TypeScript/MLIRLogic/MLIRDefines.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRGenContext.h b/tslang/include/TypeScript/MLIRLogic/MLIRGenContext.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRGenContext.h rename to tslang/include/TypeScript/MLIRLogic/MLIRGenContext.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRGenContextDefines.h b/tslang/include/TypeScript/MLIRLogic/MLIRGenContextDefines.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRGenContextDefines.h rename to tslang/include/TypeScript/MLIRLogic/MLIRGenContextDefines.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRGenStore.h b/tslang/include/TypeScript/MLIRLogic/MLIRGenStore.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRGenStore.h rename to tslang/include/TypeScript/MLIRLogic/MLIRGenStore.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRHelper.h b/tslang/include/TypeScript/MLIRLogic/MLIRHelper.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRHelper.h rename to tslang/include/TypeScript/MLIRLogic/MLIRHelper.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRLocationGuard.h b/tslang/include/TypeScript/MLIRLogic/MLIRLocationGuard.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRLocationGuard.h rename to tslang/include/TypeScript/MLIRLogic/MLIRLocationGuard.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRNamespaceGuard.h b/tslang/include/TypeScript/MLIRLogic/MLIRNamespaceGuard.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRNamespaceGuard.h rename to tslang/include/TypeScript/MLIRLogic/MLIRNamespaceGuard.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRPrinter.h b/tslang/include/TypeScript/MLIRLogic/MLIRPrinter.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRPrinter.h rename to tslang/include/TypeScript/MLIRLogic/MLIRPrinter.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRRTTIHelperVC.h b/tslang/include/TypeScript/MLIRLogic/MLIRRTTIHelperVC.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRRTTIHelperVC.h rename to tslang/include/TypeScript/MLIRLogic/MLIRRTTIHelperVC.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCLinux.h b/tslang/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCLinux.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCLinux.h rename to tslang/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCLinux.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCWin32.h b/tslang/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCWin32.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCWin32.h rename to tslang/include/TypeScript/MLIRLogic/MLIRRTTIHelperVCWin32.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRTypeCore.h b/tslang/include/TypeScript/MLIRLogic/MLIRTypeCore.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRTypeCore.h rename to tslang/include/TypeScript/MLIRLogic/MLIRTypeCore.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRTypeHelper.h b/tslang/include/TypeScript/MLIRLogic/MLIRTypeHelper.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRTypeHelper.h rename to tslang/include/TypeScript/MLIRLogic/MLIRTypeHelper.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRTypeIterator.h b/tslang/include/TypeScript/MLIRLogic/MLIRTypeIterator.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRTypeIterator.h rename to tslang/include/TypeScript/MLIRLogic/MLIRTypeIterator.h diff --git a/tsc/include/TypeScript/MLIRLogic/MLIRValueGuard.h b/tslang/include/TypeScript/MLIRLogic/MLIRValueGuard.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/MLIRValueGuard.h rename to tslang/include/TypeScript/MLIRLogic/MLIRValueGuard.h diff --git a/tsc/include/TypeScript/MLIRLogic/TypeOfOpHelper.h b/tslang/include/TypeScript/MLIRLogic/TypeOfOpHelper.h similarity index 100% rename from tsc/include/TypeScript/MLIRLogic/TypeOfOpHelper.h rename to tslang/include/TypeScript/MLIRLogic/TypeOfOpHelper.h diff --git a/tsc/include/TypeScript/ObjDumper.h b/tslang/include/TypeScript/ObjDumper.h similarity index 100% rename from tsc/include/TypeScript/ObjDumper.h rename to tslang/include/TypeScript/ObjDumper.h diff --git a/tsc/include/TypeScript/Pass/AliasPass.h b/tslang/include/TypeScript/Pass/AliasPass.h similarity index 100% rename from tsc/include/TypeScript/Pass/AliasPass.h rename to tslang/include/TypeScript/Pass/AliasPass.h diff --git a/tsc/include/TypeScript/Pass/DebugInfoPatchPass.h b/tslang/include/TypeScript/Pass/DebugInfoPatchPass.h similarity index 100% rename from tsc/include/TypeScript/Pass/DebugInfoPatchPass.h rename to tslang/include/TypeScript/Pass/DebugInfoPatchPass.h diff --git a/tsc/include/TypeScript/Pass/ExportFixPass.h b/tslang/include/TypeScript/Pass/ExportFixPass.h similarity index 100% rename from tsc/include/TypeScript/Pass/ExportFixPass.h rename to tslang/include/TypeScript/Pass/ExportFixPass.h diff --git a/tsc/include/TypeScript/Pass/FunctionPass.h b/tslang/include/TypeScript/Pass/FunctionPass.h similarity index 100% rename from tsc/include/TypeScript/Pass/FunctionPass.h rename to tslang/include/TypeScript/Pass/FunctionPass.h diff --git a/tsc/include/TypeScript/Pass/LandingPadFixPass.h b/tslang/include/TypeScript/Pass/LandingPadFixPass.h similarity index 100% rename from tsc/include/TypeScript/Pass/LandingPadFixPass.h rename to tslang/include/TypeScript/Pass/LandingPadFixPass.h diff --git a/tsc/include/TypeScript/Pass/MemAllocFixPass.h b/tslang/include/TypeScript/Pass/MemAllocFixPass.h similarity index 100% rename from tsc/include/TypeScript/Pass/MemAllocFixPass.h rename to tslang/include/TypeScript/Pass/MemAllocFixPass.h diff --git a/tsc/include/TypeScript/Pass/ModulePass.h b/tslang/include/TypeScript/Pass/ModulePass.h similarity index 100% rename from tsc/include/TypeScript/Pass/ModulePass.h rename to tslang/include/TypeScript/Pass/ModulePass.h diff --git a/tsc/include/TypeScript/Pass/Win32ExceptionPass.h b/tslang/include/TypeScript/Pass/Win32ExceptionPass.h similarity index 100% rename from tsc/include/TypeScript/Pass/Win32ExceptionPass.h rename to tslang/include/TypeScript/Pass/Win32ExceptionPass.h diff --git a/tsc/include/TypeScript/Passes.h b/tslang/include/TypeScript/Passes.h similarity index 100% rename from tsc/include/TypeScript/Passes.h rename to tslang/include/TypeScript/Passes.h diff --git a/tsc/include/TypeScript/TypeScriptCompiler/Defines.h b/tslang/include/TypeScript/TypeScriptCompiler/Defines.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptCompiler/Defines.h rename to tslang/include/TypeScript/TypeScriptCompiler/Defines.h diff --git a/tsc/include/TypeScript/TypeScriptDialect.h b/tslang/include/TypeScript/TypeScriptDialect.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptDialect.h rename to tslang/include/TypeScript/TypeScriptDialect.h diff --git a/tsc/include/TypeScript/TypeScriptDialect.td b/tslang/include/TypeScript/TypeScriptDialect.td similarity index 100% rename from tsc/include/TypeScript/TypeScriptDialect.td rename to tslang/include/TypeScript/TypeScriptDialect.td diff --git a/tsc/include/TypeScript/TypeScriptDialectTranslation.h b/tslang/include/TypeScript/TypeScriptDialectTranslation.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptDialectTranslation.h rename to tslang/include/TypeScript/TypeScriptDialectTranslation.h diff --git a/tsc/include/TypeScript/TypeScriptFunctionPass.h b/tslang/include/TypeScript/TypeScriptFunctionPass.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptFunctionPass.h rename to tslang/include/TypeScript/TypeScriptFunctionPass.h diff --git a/tsc/include/TypeScript/TypeScriptGC.h b/tslang/include/TypeScript/TypeScriptGC.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptGC.h rename to tslang/include/TypeScript/TypeScriptGC.h diff --git a/tsc/include/TypeScript/TypeScriptInterfaces.td b/tslang/include/TypeScript/TypeScriptInterfaces.td similarity index 100% rename from tsc/include/TypeScript/TypeScriptInterfaces.td rename to tslang/include/TypeScript/TypeScriptInterfaces.td diff --git a/tsc/include/TypeScript/TypeScriptLang/TextDiagnostic.h b/tslang/include/TypeScript/TypeScriptLang/TextDiagnostic.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptLang/TextDiagnostic.h rename to tslang/include/TypeScript/TypeScriptLang/TextDiagnostic.h diff --git a/tsc/include/TypeScript/TypeScriptLang/TextDiagnosticPrinter.h b/tslang/include/TypeScript/TypeScriptLang/TextDiagnosticPrinter.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptLang/TextDiagnosticPrinter.h rename to tslang/include/TypeScript/TypeScriptLang/TextDiagnosticPrinter.h diff --git a/tsc/include/TypeScript/TypeScriptOps.h b/tslang/include/TypeScript/TypeScriptOps.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptOps.h rename to tslang/include/TypeScript/TypeScriptOps.h diff --git a/tsc/include/TypeScript/TypeScriptOps.td b/tslang/include/TypeScript/TypeScriptOps.td similarity index 100% rename from tsc/include/TypeScript/TypeScriptOps.td rename to tslang/include/TypeScript/TypeScriptOps.td diff --git a/tsc/include/TypeScript/TypeScriptPassContext.h b/tslang/include/TypeScript/TypeScriptPassContext.h similarity index 100% rename from tsc/include/TypeScript/TypeScriptPassContext.h rename to tslang/include/TypeScript/TypeScriptPassContext.h diff --git a/tsc/include/TypeScript/TypeScriptTypes.td b/tslang/include/TypeScript/TypeScriptTypes.td similarity index 100% rename from tsc/include/TypeScript/TypeScriptTypes.td rename to tslang/include/TypeScript/TypeScriptTypes.td diff --git a/tsc/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h similarity index 100% rename from tsc/include/TypeScript/VSCodeTemplate/Files.h rename to tslang/include/TypeScript/VSCodeTemplate/Files.h diff --git a/tsc/include/TypeScript/Version.h b/tslang/include/TypeScript/Version.h similarity index 100% rename from tsc/include/TypeScript/Version.h rename to tslang/include/TypeScript/Version.h diff --git a/tsc/include/TypeScript/VisitorAST.h b/tslang/include/TypeScript/VisitorAST.h similarity index 100% rename from tsc/include/TypeScript/VisitorAST.h rename to tslang/include/TypeScript/VisitorAST.h diff --git a/tsc/include/TypeScript/gcwrapper.h b/tslang/include/TypeScript/gcwrapper.h similarity index 100% rename from tsc/include/TypeScript/gcwrapper.h rename to tslang/include/TypeScript/gcwrapper.h diff --git a/tsc/lib/.vscode/c_cpp_properties.json b/tslang/lib/.vscode/c_cpp_properties.json similarity index 100% rename from tsc/lib/.vscode/c_cpp_properties.json rename to tslang/lib/.vscode/c_cpp_properties.json diff --git a/tsc/lib/.vscode/settings.json b/tslang/lib/.vscode/settings.json similarity index 100% rename from tsc/lib/.vscode/settings.json rename to tslang/lib/.vscode/settings.json diff --git a/tsc/lib/CMakeLists.txt b/tslang/lib/CMakeLists.txt similarity index 100% rename from tsc/lib/CMakeLists.txt rename to tslang/lib/CMakeLists.txt diff --git a/tsc/lib/TypeScript/AsyncDialectTranslation.cpp b/tslang/lib/TypeScript/AsyncDialectTranslation.cpp similarity index 100% rename from tsc/lib/TypeScript/AsyncDialectTranslation.cpp rename to tslang/lib/TypeScript/AsyncDialectTranslation.cpp diff --git a/tsc/lib/TypeScript/CMakeLists.txt b/tslang/lib/TypeScript/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScript/CMakeLists.txt rename to tslang/lib/TypeScript/CMakeLists.txt diff --git a/tsc/lib/TypeScript/DeclarationPrinter.cpp b/tslang/lib/TypeScript/DeclarationPrinter.cpp similarity index 100% rename from tsc/lib/TypeScript/DeclarationPrinter.cpp rename to tslang/lib/TypeScript/DeclarationPrinter.cpp diff --git a/tsc/lib/TypeScript/DiagnosticHelper.cpp b/tslang/lib/TypeScript/DiagnosticHelper.cpp similarity index 100% rename from tsc/lib/TypeScript/DiagnosticHelper.cpp rename to tslang/lib/TypeScript/DiagnosticHelper.cpp diff --git a/tsc/lib/TypeScript/GCPass.cpp b/tslang/lib/TypeScript/GCPass.cpp similarity index 100% rename from tsc/lib/TypeScript/GCPass.cpp rename to tslang/lib/TypeScript/GCPass.cpp diff --git a/tsc/lib/TypeScript/LowerToAffineLoops.cpp b/tslang/lib/TypeScript/LowerToAffineLoops.cpp similarity index 100% rename from tsc/lib/TypeScript/LowerToAffineLoops.cpp rename to tslang/lib/TypeScript/LowerToAffineLoops.cpp diff --git a/tsc/lib/TypeScript/LowerToLLVM.cpp b/tslang/lib/TypeScript/LowerToLLVM.cpp similarity index 100% rename from tsc/lib/TypeScript/LowerToLLVM.cpp rename to tslang/lib/TypeScript/LowerToLLVM.cpp diff --git a/tsc/lib/TypeScript/MLIRGen.cpp b/tslang/lib/TypeScript/MLIRGen.cpp similarity index 100% rename from tsc/lib/TypeScript/MLIRGen.cpp rename to tslang/lib/TypeScript/MLIRGen.cpp diff --git a/tsc/lib/TypeScript/ObjDumper.cpp b/tslang/lib/TypeScript/ObjDumper.cpp similarity index 100% rename from tsc/lib/TypeScript/ObjDumper.cpp rename to tslang/lib/TypeScript/ObjDumper.cpp diff --git a/tsc/lib/TypeScript/RelocateConstantPass.cpp b/tslang/lib/TypeScript/RelocateConstantPass.cpp similarity index 100% rename from tsc/lib/TypeScript/RelocateConstantPass.cpp rename to tslang/lib/TypeScript/RelocateConstantPass.cpp diff --git a/tsc/lib/TypeScript/TypeScriptDialect.cpp b/tslang/lib/TypeScript/TypeScriptDialect.cpp similarity index 100% rename from tsc/lib/TypeScript/TypeScriptDialect.cpp rename to tslang/lib/TypeScript/TypeScriptDialect.cpp diff --git a/tsc/lib/TypeScript/TypeScriptDialectTranslation.cpp b/tslang/lib/TypeScript/TypeScriptDialectTranslation.cpp similarity index 100% rename from tsc/lib/TypeScript/TypeScriptDialectTranslation.cpp rename to tslang/lib/TypeScript/TypeScriptDialectTranslation.cpp diff --git a/tsc/lib/TypeScript/TypeScriptOps.cpp b/tslang/lib/TypeScript/TypeScriptOps.cpp similarity index 100% rename from tsc/lib/TypeScript/TypeScriptOps.cpp rename to tslang/lib/TypeScript/TypeScriptOps.cpp diff --git a/tsc/lib/TypeScriptAliasPass/AliasPass.cpp b/tslang/lib/TypeScriptAliasPass/AliasPass.cpp similarity index 100% rename from tsc/lib/TypeScriptAliasPass/AliasPass.cpp rename to tslang/lib/TypeScriptAliasPass/AliasPass.cpp diff --git a/tsc/lib/TypeScriptAliasPass/CMakeLists.txt b/tslang/lib/TypeScriptAliasPass/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScriptAliasPass/CMakeLists.txt rename to tslang/lib/TypeScriptAliasPass/CMakeLists.txt diff --git a/tsc/lib/TypeScriptAsyncRuntime/AsyncRuntime.cpp b/tslang/lib/TypeScriptAsyncRuntime/AsyncRuntime.cpp similarity index 100% rename from tsc/lib/TypeScriptAsyncRuntime/AsyncRuntime.cpp rename to tslang/lib/TypeScriptAsyncRuntime/AsyncRuntime.cpp diff --git a/tsc/lib/TypeScriptAsyncRuntime/CMakeLists.txt b/tslang/lib/TypeScriptAsyncRuntime/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScriptAsyncRuntime/CMakeLists.txt rename to tslang/lib/TypeScriptAsyncRuntime/CMakeLists.txt diff --git a/tsc/lib/TypeScriptDebugInfoPass/CMakeLists.txt b/tslang/lib/TypeScriptDebugInfoPass/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScriptDebugInfoPass/CMakeLists.txt rename to tslang/lib/TypeScriptDebugInfoPass/CMakeLists.txt diff --git a/tsc/lib/TypeScriptDebugInfoPass/DebugInfoPatchPass.cpp b/tslang/lib/TypeScriptDebugInfoPass/DebugInfoPatchPass.cpp similarity index 100% rename from tsc/lib/TypeScriptDebugInfoPass/DebugInfoPatchPass.cpp rename to tslang/lib/TypeScriptDebugInfoPass/DebugInfoPatchPass.cpp diff --git a/tsc/lib/TypeScriptExceptionPass/CMakeLists.txt b/tslang/lib/TypeScriptExceptionPass/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScriptExceptionPass/CMakeLists.txt rename to tslang/lib/TypeScriptExceptionPass/CMakeLists.txt diff --git a/tsc/lib/TypeScriptExceptionPass/LandingPadFixPass.cpp b/tslang/lib/TypeScriptExceptionPass/LandingPadFixPass.cpp similarity index 100% rename from tsc/lib/TypeScriptExceptionPass/LandingPadFixPass.cpp rename to tslang/lib/TypeScriptExceptionPass/LandingPadFixPass.cpp diff --git a/tsc/lib/TypeScriptExceptionPass/Win32ExceptionPass.cpp b/tslang/lib/TypeScriptExceptionPass/Win32ExceptionPass.cpp similarity index 100% rename from tsc/lib/TypeScriptExceptionPass/Win32ExceptionPass.cpp rename to tslang/lib/TypeScriptExceptionPass/Win32ExceptionPass.cpp diff --git a/tsc/lib/TypeScriptExportPass/CMakeLists.txt b/tslang/lib/TypeScriptExportPass/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScriptExportPass/CMakeLists.txt rename to tslang/lib/TypeScriptExportPass/CMakeLists.txt diff --git a/tsc/lib/TypeScriptExportPass/ExportFixPass.cpp b/tslang/lib/TypeScriptExportPass/ExportFixPass.cpp similarity index 100% rename from tsc/lib/TypeScriptExportPass/ExportFixPass.cpp rename to tslang/lib/TypeScriptExportPass/ExportFixPass.cpp diff --git a/tsc/lib/TypeScriptGC/CMakeLists.txt b/tslang/lib/TypeScriptGC/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScriptGC/CMakeLists.txt rename to tslang/lib/TypeScriptGC/CMakeLists.txt diff --git a/tsc/lib/TypeScriptGC/TypeScriptGC.cpp b/tslang/lib/TypeScriptGC/TypeScriptGC.cpp similarity index 100% rename from tsc/lib/TypeScriptGC/TypeScriptGC.cpp rename to tslang/lib/TypeScriptGC/TypeScriptGC.cpp diff --git a/tsc/lib/TypeScriptGC/TypeScriptGCPrinter.cpp b/tslang/lib/TypeScriptGC/TypeScriptGCPrinter.cpp similarity index 100% rename from tsc/lib/TypeScriptGC/TypeScriptGCPrinter.cpp rename to tslang/lib/TypeScriptGC/TypeScriptGCPrinter.cpp diff --git a/tsc/lib/TypeScriptMemAllocPass/CMakeLists.txt b/tslang/lib/TypeScriptMemAllocPass/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScriptMemAllocPass/CMakeLists.txt rename to tslang/lib/TypeScriptMemAllocPass/CMakeLists.txt diff --git a/tsc/lib/TypeScriptMemAllocPass/MemAllocFixPass.cpp b/tslang/lib/TypeScriptMemAllocPass/MemAllocFixPass.cpp similarity index 100% rename from tsc/lib/TypeScriptMemAllocPass/MemAllocFixPass.cpp rename to tslang/lib/TypeScriptMemAllocPass/MemAllocFixPass.cpp diff --git a/tsc/lib/TypeScriptRuntime/AsyncRuntime.cpp b/tslang/lib/TypeScriptRuntime/AsyncRuntime.cpp similarity index 100% rename from tsc/lib/TypeScriptRuntime/AsyncRuntime.cpp rename to tslang/lib/TypeScriptRuntime/AsyncRuntime.cpp diff --git a/tsc/lib/TypeScriptRuntime/CMakeLists.txt b/tslang/lib/TypeScriptRuntime/CMakeLists.txt similarity index 100% rename from tsc/lib/TypeScriptRuntime/CMakeLists.txt rename to tslang/lib/TypeScriptRuntime/CMakeLists.txt diff --git a/tsc/lib/TypeScriptRuntime/DynamicRuntime.cpp b/tslang/lib/TypeScriptRuntime/DynamicRuntime.cpp similarity index 100% rename from tsc/lib/TypeScriptRuntime/DynamicRuntime.cpp rename to tslang/lib/TypeScriptRuntime/DynamicRuntime.cpp diff --git a/tsc/lib/TypeScriptRuntime/MemRuntime.cpp b/tslang/lib/TypeScriptRuntime/MemRuntime.cpp similarity index 100% rename from tsc/lib/TypeScriptRuntime/MemRuntime.cpp rename to tslang/lib/TypeScriptRuntime/MemRuntime.cpp diff --git a/tsc/lib/TypeScriptRuntime/TypeScriptGC.cpp b/tslang/lib/TypeScriptRuntime/TypeScriptGC.cpp similarity index 100% rename from tsc/lib/TypeScriptRuntime/TypeScriptGC.cpp rename to tslang/lib/TypeScriptRuntime/TypeScriptGC.cpp diff --git a/tsc/lib/TypeScriptRuntime/TypeScriptRuntime.def b/tslang/lib/TypeScriptRuntime/TypeScriptRuntime.def similarity index 100% rename from tsc/lib/TypeScriptRuntime/TypeScriptRuntime.def rename to tslang/lib/TypeScriptRuntime/TypeScriptRuntime.def diff --git a/tsc/lib/TypeScriptRuntime/gc.cpp b/tslang/lib/TypeScriptRuntime/gc.cpp similarity index 100% rename from tsc/lib/TypeScriptRuntime/gc.cpp rename to tslang/lib/TypeScriptRuntime/gc.cpp diff --git a/tsc/lib/TypeScriptRuntime/mlir_init.cpp b/tslang/lib/TypeScriptRuntime/mlir_init.cpp similarity index 100% rename from tsc/lib/TypeScriptRuntime/mlir_init.cpp rename to tslang/lib/TypeScriptRuntime/mlir_init.cpp diff --git a/tsc/test/.vscode/c_cpp_properties.json b/tslang/test/.vscode/c_cpp_properties.json similarity index 100% rename from tsc/test/.vscode/c_cpp_properties.json rename to tslang/test/.vscode/c_cpp_properties.json diff --git a/tsc/test/.vscode/launch.json b/tslang/test/.vscode/launch.json similarity index 100% rename from tsc/test/.vscode/launch.json rename to tslang/test/.vscode/launch.json diff --git a/tsc/test/.vscode/settings.json b/tslang/test/.vscode/settings.json similarity index 100% rename from tsc/test/.vscode/settings.json rename to tslang/test/.vscode/settings.json diff --git a/tsc/test/CMakeLists.txt b/tslang/test/CMakeLists.txt similarity index 100% rename from tsc/test/CMakeLists.txt rename to tslang/test/CMakeLists.txt diff --git a/tsc/test/print-tester/CMakeLists.txt b/tslang/test/print-tester/CMakeLists.txt similarity index 100% rename from tsc/test/print-tester/CMakeLists.txt rename to tslang/test/print-tester/CMakeLists.txt diff --git a/tsc/test/print-tester/printer-tester.cpp b/tslang/test/print-tester/printer-tester.cpp similarity index 100% rename from tsc/test/print-tester/printer-tester.cpp rename to tslang/test/print-tester/printer-tester.cpp diff --git a/tsc/test/tester/CMakeLists.txt b/tslang/test/tester/CMakeLists.txt similarity index 100% rename from tsc/test/tester/CMakeLists.txt rename to tslang/test/tester/CMakeLists.txt diff --git a/tsc/test/tester/helper.h b/tslang/test/tester/helper.h similarity index 100% rename from tsc/test/tester/helper.h rename to tslang/test/tester/helper.h diff --git a/tsc/test/tester/test-runner.cpp b/tslang/test/tester/test-runner.cpp similarity index 100% rename from tsc/test/tester/test-runner.cpp rename to tslang/test/tester/test-runner.cpp diff --git a/tsc/test/tester/tests/00any.ts b/tslang/test/tester/tests/00any.ts similarity index 100% rename from tsc/test/tester/tests/00any.ts rename to tslang/test/tester/tests/00any.ts diff --git a/tsc/test/tester/tests/00any_compare.ts b/tslang/test/tester/tests/00any_compare.ts similarity index 100% rename from tsc/test/tester/tests/00any_compare.ts rename to tslang/test/tester/tests/00any_compare.ts diff --git a/tsc/test/tester/tests/00any_generic_equals.ts b/tslang/test/tester/tests/00any_generic_equals.ts similarity index 100% rename from tsc/test/tester/tests/00any_generic_equals.ts rename to tslang/test/tester/tests/00any_generic_equals.ts diff --git a/tsc/test/tester/tests/00any_types.ts b/tslang/test/tester/tests/00any_types.ts similarity index 100% rename from tsc/test/tester/tests/00any_types.ts rename to tslang/test/tester/tests/00any_types.ts diff --git a/tsc/test/tester/tests/00array.ts b/tslang/test/tester/tests/00array.ts similarity index 100% rename from tsc/test/tester/tests/00array.ts rename to tslang/test/tester/tests/00array.ts diff --git a/tsc/test/tester/tests/00array2.ts b/tslang/test/tester/tests/00array2.ts similarity index 100% rename from tsc/test/tester/tests/00array2.ts rename to tslang/test/tester/tests/00array2.ts diff --git a/tsc/test/tester/tests/00array3.ts b/tslang/test/tester/tests/00array3.ts similarity index 100% rename from tsc/test/tester/tests/00array3.ts rename to tslang/test/tester/tests/00array3.ts diff --git a/tsc/test/tester/tests/00array4_push_pop.ts b/tslang/test/tester/tests/00array4_push_pop.ts similarity index 100% rename from tsc/test/tester/tests/00array4_push_pop.ts rename to tslang/test/tester/tests/00array4_push_pop.ts diff --git a/tsc/test/tester/tests/00array5_deconst.ts b/tslang/test/tester/tests/00array5_deconst.ts similarity index 100% rename from tsc/test/tester/tests/00array5_deconst.ts rename to tslang/test/tester/tests/00array5_deconst.ts diff --git a/tsc/test/tester/tests/00array6.ts b/tslang/test/tester/tests/00array6.ts similarity index 100% rename from tsc/test/tester/tests/00array6.ts rename to tslang/test/tester/tests/00array6.ts diff --git a/tsc/test/tester/tests/00array7.ts b/tslang/test/tester/tests/00array7.ts similarity index 100% rename from tsc/test/tester/tests/00array7.ts rename to tslang/test/tester/tests/00array7.ts diff --git a/tsc/test/tester/tests/00array8_tuple_spread.ts b/tslang/test/tester/tests/00array8_tuple_spread.ts similarity index 100% rename from tsc/test/tester/tests/00array8_tuple_spread.ts rename to tslang/test/tester/tests/00array8_tuple_spread.ts diff --git a/tsc/test/tester/tests/00array_assignment5.ts b/tslang/test/tester/tests/00array_assignment5.ts similarity index 100% rename from tsc/test/tester/tests/00array_assignment5.ts rename to tslang/test/tester/tests/00array_assignment5.ts diff --git a/tsc/test/tester/tests/00array_cond_access.ts b/tslang/test/tester/tests/00array_cond_access.ts similarity index 100% rename from tsc/test/tester/tests/00array_cond_access.ts rename to tslang/test/tester/tests/00array_cond_access.ts diff --git a/tsc/test/tester/tests/00array_of.ts b/tslang/test/tester/tests/00array_of.ts similarity index 100% rename from tsc/test/tester/tests/00array_of.ts rename to tslang/test/tester/tests/00array_of.ts diff --git a/tsc/test/tester/tests/00array_view.ts b/tslang/test/tester/tests/00array_view.ts similarity index 100% rename from tsc/test/tester/tests/00array_view.ts rename to tslang/test/tester/tests/00array_view.ts diff --git a/tsc/test/tester/tests/00arrow_generic.ts b/tslang/test/tester/tests/00arrow_generic.ts similarity index 100% rename from tsc/test/tester/tests/00arrow_generic.ts rename to tslang/test/tester/tests/00arrow_generic.ts diff --git a/tsc/test/tester/tests/00arrow_global.ts b/tslang/test/tester/tests/00arrow_global.ts similarity index 100% rename from tsc/test/tester/tests/00arrow_global.ts rename to tslang/test/tester/tests/00arrow_global.ts diff --git a/tsc/test/tester/tests/00arrow_in_arrow.ts b/tslang/test/tester/tests/00arrow_in_arrow.ts similarity index 100% rename from tsc/test/tester/tests/00arrow_in_arrow.ts rename to tslang/test/tester/tests/00arrow_in_arrow.ts diff --git a/tsc/test/tester/tests/00as.ts b/tslang/test/tester/tests/00as.ts similarity index 100% rename from tsc/test/tester/tests/00as.ts rename to tslang/test/tester/tests/00as.ts diff --git a/tsc/test/tester/tests/00as_const.ts b/tslang/test/tester/tests/00as_const.ts similarity index 100% rename from tsc/test/tester/tests/00as_const.ts rename to tslang/test/tester/tests/00as_const.ts diff --git a/tsc/test/tester/tests/00assert.ts b/tslang/test/tester/tests/00assert.ts similarity index 100% rename from tsc/test/tester/tests/00assert.ts rename to tslang/test/tester/tests/00assert.ts diff --git a/tsc/test/tester/tests/00async_await.ts b/tslang/test/tester/tests/00async_await.ts similarity index 100% rename from tsc/test/tester/tests/00async_await.ts rename to tslang/test/tester/tests/00async_await.ts diff --git a/tsc/test/tester/tests/00break_continue.ts b/tslang/test/tester/tests/00break_continue.ts similarity index 100% rename from tsc/test/tester/tests/00break_continue.ts rename to tslang/test/tester/tests/00break_continue.ts diff --git a/tsc/test/tester/tests/00class.ts b/tslang/test/tester/tests/00class.ts similarity index 100% rename from tsc/test/tester/tests/00class.ts rename to tslang/test/tester/tests/00class.ts diff --git a/tsc/test/tester/tests/00class_abstract.ts b/tslang/test/tester/tests/00class_abstract.ts similarity index 100% rename from tsc/test/tester/tests/00class_abstract.ts rename to tslang/test/tester/tests/00class_abstract.ts diff --git a/tsc/test/tester/tests/00class_access_control.ts b/tslang/test/tester/tests/00class_access_control.ts similarity index 100% rename from tsc/test/tester/tests/00class_access_control.ts rename to tslang/test/tester/tests/00class_access_control.ts diff --git a/tsc/test/tester/tests/00class_accessor.ts b/tslang/test/tester/tests/00class_accessor.ts similarity index 100% rename from tsc/test/tester/tests/00class_accessor.ts rename to tslang/test/tester/tests/00class_accessor.ts diff --git a/tsc/test/tester/tests/00class_accessor2.ts b/tslang/test/tester/tests/00class_accessor2.ts similarity index 100% rename from tsc/test/tester/tests/00class_accessor2.ts rename to tslang/test/tester/tests/00class_accessor2.ts diff --git a/tsc/test/tester/tests/00class_constr_fields.ts b/tslang/test/tester/tests/00class_constr_fields.ts similarity index 100% rename from tsc/test/tester/tests/00class_constr_fields.ts rename to tslang/test/tester/tests/00class_constr_fields.ts diff --git a/tsc/test/tester/tests/00class_deconst.ts b/tslang/test/tester/tests/00class_deconst.ts similarity index 100% rename from tsc/test/tester/tests/00class_deconst.ts rename to tslang/test/tester/tests/00class_deconst.ts diff --git a/tsc/test/tester/tests/00class_def_constr.ts b/tslang/test/tester/tests/00class_def_constr.ts similarity index 100% rename from tsc/test/tester/tests/00class_def_constr.ts rename to tslang/test/tester/tests/00class_def_constr.ts diff --git a/tsc/test/tester/tests/00class_discover_types.ts b/tslang/test/tester/tests/00class_discover_types.ts similarity index 100% rename from tsc/test/tester/tests/00class_discover_types.ts rename to tslang/test/tester/tests/00class_discover_types.ts diff --git a/tsc/test/tester/tests/00class_expression.ts b/tslang/test/tester/tests/00class_expression.ts similarity index 100% rename from tsc/test/tester/tests/00class_expression.ts rename to tslang/test/tester/tests/00class_expression.ts diff --git a/tsc/test/tester/tests/00class_expression2.ts b/tslang/test/tester/tests/00class_expression2.ts similarity index 100% rename from tsc/test/tester/tests/00class_expression2.ts rename to tslang/test/tester/tests/00class_expression2.ts diff --git a/tsc/test/tester/tests/00class_expression3.ts b/tslang/test/tester/tests/00class_expression3.ts similarity index 100% rename from tsc/test/tester/tests/00class_expression3.ts rename to tslang/test/tester/tests/00class_expression3.ts diff --git a/tsc/test/tester/tests/00class_from_tuple.ts b/tslang/test/tester/tests/00class_from_tuple.ts similarity index 100% rename from tsc/test/tester/tests/00class_from_tuple.ts rename to tslang/test/tester/tests/00class_from_tuple.ts diff --git a/tsc/test/tester/tests/00class_generic.ts b/tslang/test/tester/tests/00class_generic.ts similarity index 100% rename from tsc/test/tester/tests/00class_generic.ts rename to tslang/test/tester/tests/00class_generic.ts diff --git a/tsc/test/tester/tests/00class_generic_iface.ts b/tslang/test/tester/tests/00class_generic_iface.ts similarity index 100% rename from tsc/test/tester/tests/00class_generic_iface.ts rename to tslang/test/tester/tests/00class_generic_iface.ts diff --git a/tsc/test/tester/tests/00class_generic_method.ts b/tslang/test/tester/tests/00class_generic_method.ts similarity index 100% rename from tsc/test/tester/tests/00class_generic_method.ts rename to tslang/test/tester/tests/00class_generic_method.ts diff --git a/tsc/test/tester/tests/00class_generic_method2.ts b/tslang/test/tester/tests/00class_generic_method2.ts similarity index 100% rename from tsc/test/tester/tests/00class_generic_method2.ts rename to tslang/test/tester/tests/00class_generic_method2.ts diff --git a/tsc/test/tester/tests/00class_iface.ts b/tslang/test/tester/tests/00class_iface.ts similarity index 100% rename from tsc/test/tester/tests/00class_iface.ts rename to tslang/test/tester/tests/00class_iface.ts diff --git a/tsc/test/tester/tests/00class_indexer.ts b/tslang/test/tester/tests/00class_indexer.ts similarity index 100% rename from tsc/test/tester/tests/00class_indexer.ts rename to tslang/test/tester/tests/00class_indexer.ts diff --git a/tsc/test/tester/tests/00class_iterator.ts b/tslang/test/tester/tests/00class_iterator.ts similarity index 100% rename from tsc/test/tester/tests/00class_iterator.ts rename to tslang/test/tester/tests/00class_iterator.ts diff --git a/tsc/test/tester/tests/00class_iterator_super.ts b/tslang/test/tester/tests/00class_iterator_super.ts similarity index 100% rename from tsc/test/tester/tests/00class_iterator_super.ts rename to tslang/test/tester/tests/00class_iterator_super.ts diff --git a/tsc/test/tester/tests/00class_local_decl.ts b/tslang/test/tester/tests/00class_local_decl.ts similarity index 100% rename from tsc/test/tester/tests/00class_local_decl.ts rename to tslang/test/tester/tests/00class_local_decl.ts diff --git a/tsc/test/tester/tests/00class_nested.ts b/tslang/test/tester/tests/00class_nested.ts similarity index 100% rename from tsc/test/tester/tests/00class_nested.ts rename to tslang/test/tester/tests/00class_nested.ts diff --git a/tsc/test/tester/tests/00class_new.ts b/tslang/test/tester/tests/00class_new.ts similarity index 100% rename from tsc/test/tester/tests/00class_new.ts rename to tslang/test/tester/tests/00class_new.ts diff --git a/tsc/test/tester/tests/00class_or_interface_to_tuple.ts b/tslang/test/tester/tests/00class_or_interface_to_tuple.ts similarity index 100% rename from tsc/test/tester/tests/00class_or_interface_to_tuple.ts rename to tslang/test/tester/tests/00class_or_interface_to_tuple.ts diff --git a/tsc/test/tester/tests/00class_protected_constr.ts b/tslang/test/tester/tests/00class_protected_constr.ts similarity index 100% rename from tsc/test/tester/tests/00class_protected_constr.ts rename to tslang/test/tester/tests/00class_protected_constr.ts diff --git a/tsc/test/tester/tests/00class_recursive.ts b/tslang/test/tester/tests/00class_recursive.ts similarity index 100% rename from tsc/test/tester/tests/00class_recursive.ts rename to tslang/test/tester/tests/00class_recursive.ts diff --git a/tsc/test/tester/tests/00class_stack.ts b/tslang/test/tester/tests/00class_stack.ts similarity index 100% rename from tsc/test/tester/tests/00class_stack.ts rename to tslang/test/tester/tests/00class_stack.ts diff --git a/tsc/test/tester/tests/00class_static.ts b/tslang/test/tester/tests/00class_static.ts similarity index 100% rename from tsc/test/tester/tests/00class_static.ts rename to tslang/test/tester/tests/00class_static.ts diff --git a/tsc/test/tester/tests/00class_static_block.ts b/tslang/test/tester/tests/00class_static_block.ts similarity index 100% rename from tsc/test/tester/tests/00class_static_block.ts rename to tslang/test/tester/tests/00class_static_block.ts diff --git a/tsc/test/tester/tests/00class_static_constr.ts b/tslang/test/tester/tests/00class_static_constr.ts similarity index 100% rename from tsc/test/tester/tests/00class_static_constr.ts rename to tslang/test/tester/tests/00class_static_constr.ts diff --git a/tsc/test/tester/tests/00class_static_generic_method.ts b/tslang/test/tester/tests/00class_static_generic_method.ts similarity index 100% rename from tsc/test/tester/tests/00class_static_generic_method.ts rename to tslang/test/tester/tests/00class_static_generic_method.ts diff --git a/tsc/test/tester/tests/00class_static_generic_method2.ts b/tslang/test/tester/tests/00class_static_generic_method2.ts similarity index 100% rename from tsc/test/tester/tests/00class_static_generic_method2.ts rename to tslang/test/tester/tests/00class_static_generic_method2.ts diff --git a/tsc/test/tester/tests/00class_static_generic_method3.ts b/tslang/test/tester/tests/00class_static_generic_method3.ts similarity index 100% rename from tsc/test/tester/tests/00class_static_generic_method3.ts rename to tslang/test/tester/tests/00class_static_generic_method3.ts diff --git a/tsc/test/tester/tests/00class_super.ts b/tslang/test/tester/tests/00class_super.ts similarity index 100% rename from tsc/test/tester/tests/00class_super.ts rename to tslang/test/tester/tests/00class_super.ts diff --git a/tsc/test/tester/tests/00class_super_static.ts b/tslang/test/tester/tests/00class_super_static.ts similarity index 100% rename from tsc/test/tester/tests/00class_super_static.ts rename to tslang/test/tester/tests/00class_super_static.ts diff --git a/tsc/test/tester/tests/00class_symbol_iterator.ts b/tslang/test/tester/tests/00class_symbol_iterator.ts similarity index 100% rename from tsc/test/tester/tests/00class_symbol_iterator.ts rename to tslang/test/tester/tests/00class_symbol_iterator.ts diff --git a/tsc/test/tester/tests/00class_var_args.ts b/tslang/test/tester/tests/00class_var_args.ts similarity index 100% rename from tsc/test/tester/tests/00class_var_args.ts rename to tslang/test/tester/tests/00class_var_args.ts diff --git a/tsc/test/tester/tests/00class_virtual_call.ts b/tslang/test/tester/tests/00class_virtual_call.ts similarity index 100% rename from tsc/test/tester/tests/00class_virtual_call.ts rename to tslang/test/tester/tests/00class_virtual_call.ts diff --git a/tsc/test/tester/tests/00class_virtual_table.ts b/tslang/test/tester/tests/00class_virtual_table.ts similarity index 100% rename from tsc/test/tester/tests/00class_virtual_table.ts rename to tslang/test/tester/tests/00class_virtual_table.ts diff --git a/tsc/test/tester/tests/00computedpropertyname.ts b/tslang/test/tester/tests/00computedpropertyname.ts similarity index 100% rename from tsc/test/tester/tests/00computedpropertyname.ts rename to tslang/test/tester/tests/00computedpropertyname.ts diff --git a/tsc/test/tester/tests/00cond_expr.ts b/tslang/test/tester/tests/00cond_expr.ts similarity index 100% rename from tsc/test/tester/tests/00cond_expr.ts rename to tslang/test/tester/tests/00cond_expr.ts diff --git a/tsc/test/tester/tests/00conditional_type.ts b/tslang/test/tester/tests/00conditional_type.ts similarity index 100% rename from tsc/test/tester/tests/00conditional_type.ts rename to tslang/test/tester/tests/00conditional_type.ts diff --git a/tsc/test/tester/tests/00decorators.ts b/tslang/test/tester/tests/00decorators.ts similarity index 100% rename from tsc/test/tester/tests/00decorators.ts rename to tslang/test/tester/tests/00decorators.ts diff --git a/tsc/test/tester/tests/00disposable.ts b/tslang/test/tester/tests/00disposable.ts similarity index 100% rename from tsc/test/tester/tests/00disposable.ts rename to tslang/test/tester/tests/00disposable.ts diff --git a/tsc/test/tester/tests/00dowhile.ts b/tslang/test/tester/tests/00dowhile.ts similarity index 100% rename from tsc/test/tester/tests/00dowhile.ts rename to tslang/test/tester/tests/00dowhile.ts diff --git a/tsc/test/tester/tests/00enum.ts b/tslang/test/tester/tests/00enum.ts similarity index 100% rename from tsc/test/tester/tests/00enum.ts rename to tslang/test/tester/tests/00enum.ts diff --git a/tsc/test/tester/tests/00enum_multiple.ts b/tslang/test/tester/tests/00enum_multiple.ts similarity index 100% rename from tsc/test/tester/tests/00enum_multiple.ts rename to tslang/test/tester/tests/00enum_multiple.ts diff --git a/tsc/test/tester/tests/00equals.ts b/tslang/test/tester/tests/00equals.ts similarity index 100% rename from tsc/test/tester/tests/00equals.ts rename to tslang/test/tester/tests/00equals.ts diff --git a/tsc/test/tester/tests/00every.ts b/tslang/test/tester/tests/00every.ts similarity index 100% rename from tsc/test/tester/tests/00every.ts rename to tslang/test/tester/tests/00every.ts diff --git a/tsc/test/tester/tests/00extends.ts b/tslang/test/tester/tests/00extends.ts similarity index 100% rename from tsc/test/tester/tests/00extends.ts rename to tslang/test/tester/tests/00extends.ts diff --git a/tsc/test/tester/tests/00extension.ts b/tslang/test/tester/tests/00extension.ts similarity index 100% rename from tsc/test/tester/tests/00extension.ts rename to tslang/test/tester/tests/00extension.ts diff --git a/tsc/test/tester/tests/00extension_cond_access.ts b/tslang/test/tester/tests/00extension_cond_access.ts similarity index 100% rename from tsc/test/tester/tests/00extension_cond_access.ts rename to tslang/test/tester/tests/00extension_cond_access.ts diff --git a/tsc/test/tester/tests/00filter.ts b/tslang/test/tester/tests/00filter.ts similarity index 100% rename from tsc/test/tester/tests/00filter.ts rename to tslang/test/tester/tests/00filter.ts diff --git a/tsc/test/tester/tests/00for.ts b/tslang/test/tester/tests/00for.ts similarity index 100% rename from tsc/test/tester/tests/00for.ts rename to tslang/test/tester/tests/00for.ts diff --git a/tsc/test/tester/tests/00for_await.ts b/tslang/test/tester/tests/00for_await.ts similarity index 100% rename from tsc/test/tester/tests/00for_await.ts rename to tslang/test/tester/tests/00for_await.ts diff --git a/tsc/test/tester/tests/00for_await_yield.ts b/tslang/test/tester/tests/00for_await_yield.ts similarity index 100% rename from tsc/test/tester/tests/00for_await_yield.ts rename to tslang/test/tester/tests/00for_await_yield.ts diff --git a/tsc/test/tester/tests/00for_in.ts b/tslang/test/tester/tests/00for_in.ts similarity index 100% rename from tsc/test/tester/tests/00for_in.ts rename to tslang/test/tester/tests/00for_in.ts diff --git a/tsc/test/tester/tests/00for_of.ts b/tslang/test/tester/tests/00for_of.ts similarity index 100% rename from tsc/test/tester/tests/00for_of.ts rename to tslang/test/tester/tests/00for_of.ts diff --git a/tsc/test/tester/tests/00funcs.ts b/tslang/test/tester/tests/00funcs.ts similarity index 100% rename from tsc/test/tester/tests/00funcs.ts rename to tslang/test/tester/tests/00funcs.ts diff --git a/tsc/test/tester/tests/00funcs_bindings.ts b/tslang/test/tester/tests/00funcs_bindings.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_bindings.ts rename to tslang/test/tester/tests/00funcs_bindings.ts diff --git a/tsc/test/tester/tests/00funcs_capture.ts b/tslang/test/tester/tests/00funcs_capture.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_capture.ts rename to tslang/test/tester/tests/00funcs_capture.ts diff --git a/tsc/test/tester/tests/00funcs_expression_generic.ts b/tslang/test/tester/tests/00funcs_expression_generic.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_expression_generic.ts rename to tslang/test/tester/tests/00funcs_expression_generic.ts diff --git a/tsc/test/tester/tests/00funcs_expression_iterator.ts b/tslang/test/tester/tests/00funcs_expression_iterator.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_expression_iterator.ts rename to tslang/test/tester/tests/00funcs_expression_iterator.ts diff --git a/tsc/test/tester/tests/00funcs_generic.ts b/tslang/test/tester/tests/00funcs_generic.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_generic.ts rename to tslang/test/tester/tests/00funcs_generic.ts diff --git a/tsc/test/tester/tests/00funcs_generic_arrow.ts b/tslang/test/tester/tests/00funcs_generic_arrow.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_generic_arrow.ts rename to tslang/test/tester/tests/00funcs_generic_arrow.ts diff --git a/tsc/test/tester/tests/00funcs_generic_iterator.ts b/tslang/test/tester/tests/00funcs_generic_iterator.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_generic_iterator.ts rename to tslang/test/tester/tests/00funcs_generic_iterator.ts diff --git a/tsc/test/tester/tests/00funcs_generic_with_typeof.ts b/tslang/test/tester/tests/00funcs_generic_with_typeof.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_generic_with_typeof.ts rename to tslang/test/tester/tests/00funcs_generic_with_typeof.ts diff --git a/tsc/test/tester/tests/00funcs_nesting.ts b/tslang/test/tester/tests/00funcs_nesting.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_nesting.ts rename to tslang/test/tester/tests/00funcs_nesting.ts diff --git a/tsc/test/tester/tests/00funcs_nesting_capture.ts b/tslang/test/tester/tests/00funcs_nesting_capture.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_nesting_capture.ts rename to tslang/test/tester/tests/00funcs_nesting_capture.ts diff --git a/tsc/test/tester/tests/00funcs_nesting_generic.ts b/tslang/test/tester/tests/00funcs_nesting_generic.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_nesting_generic.ts rename to tslang/test/tester/tests/00funcs_nesting_generic.ts diff --git a/tsc/test/tester/tests/00funcs_typed_generic_iterator.ts b/tslang/test/tester/tests/00funcs_typed_generic_iterator.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_typed_generic_iterator.ts rename to tslang/test/tester/tests/00funcs_typed_generic_iterator.ts diff --git a/tsc/test/tester/tests/00funcs_typeless_function_as_generic.ts b/tslang/test/tester/tests/00funcs_typeless_function_as_generic.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_typeless_function_as_generic.ts rename to tslang/test/tester/tests/00funcs_typeless_function_as_generic.ts diff --git a/tsc/test/tester/tests/00funcs_vararg.ts b/tslang/test/tester/tests/00funcs_vararg.ts similarity index 100% rename from tsc/test/tester/tests/00funcs_vararg.ts rename to tslang/test/tester/tests/00funcs_vararg.ts diff --git a/tsc/test/tester/tests/00generator.ts b/tslang/test/tester/tests/00generator.ts similarity index 100% rename from tsc/test/tester/tests/00generator.ts rename to tslang/test/tester/tests/00generator.ts diff --git a/tsc/test/tester/tests/00generator2.ts b/tslang/test/tester/tests/00generator2.ts similarity index 100% rename from tsc/test/tester/tests/00generator2.ts rename to tslang/test/tester/tests/00generator2.ts diff --git a/tsc/test/tester/tests/00generator3.ts b/tslang/test/tester/tests/00generator3.ts similarity index 100% rename from tsc/test/tester/tests/00generator3.ts rename to tslang/test/tester/tests/00generator3.ts diff --git a/tsc/test/tester/tests/00generator4.ts b/tslang/test/tester/tests/00generator4.ts similarity index 100% rename from tsc/test/tester/tests/00generator4.ts rename to tslang/test/tester/tests/00generator4.ts diff --git a/tsc/test/tester/tests/00generator5.ts b/tslang/test/tester/tests/00generator5.ts similarity index 100% rename from tsc/test/tester/tests/00generator5.ts rename to tslang/test/tester/tests/00generator5.ts diff --git a/tsc/test/tester/tests/00generator6.ts b/tslang/test/tester/tests/00generator6.ts similarity index 100% rename from tsc/test/tester/tests/00generator6.ts rename to tslang/test/tester/tests/00generator6.ts diff --git a/tsc/test/tester/tests/00generic_arguments_name_conflict.ts b/tslang/test/tester/tests/00generic_arguments_name_conflict.ts similarity index 100% rename from tsc/test/tester/tests/00generic_arguments_name_conflict.ts rename to tslang/test/tester/tests/00generic_arguments_name_conflict.ts diff --git a/tsc/test/tester/tests/00globals.ts b/tslang/test/tester/tests/00globals.ts similarity index 100% rename from tsc/test/tester/tests/00globals.ts rename to tslang/test/tester/tests/00globals.ts diff --git a/tsc/test/tester/tests/00globals2.ts b/tslang/test/tester/tests/00globals2.ts similarity index 100% rename from tsc/test/tester/tests/00globals2.ts rename to tslang/test/tester/tests/00globals2.ts diff --git a/tsc/test/tester/tests/00globals3.ts b/tslang/test/tester/tests/00globals3.ts similarity index 100% rename from tsc/test/tester/tests/00globals3.ts rename to tslang/test/tester/tests/00globals3.ts diff --git a/tsc/test/tester/tests/00if_conditional_compile.ts b/tslang/test/tester/tests/00if_conditional_compile.ts similarity index 100% rename from tsc/test/tester/tests/00if_conditional_compile.ts rename to tslang/test/tester/tests/00if_conditional_compile.ts diff --git a/tsc/test/tester/tests/00if_return.ts b/tslang/test/tester/tests/00if_return.ts similarity index 100% rename from tsc/test/tester/tests/00if_return.ts rename to tslang/test/tester/tests/00if_return.ts diff --git a/tsc/test/tester/tests/00in.ts b/tslang/test/tester/tests/00in.ts similarity index 100% rename from tsc/test/tester/tests/00in.ts rename to tslang/test/tester/tests/00in.ts diff --git a/tsc/test/tester/tests/00infer.ts b/tslang/test/tester/tests/00infer.ts similarity index 100% rename from tsc/test/tester/tests/00infer.ts rename to tslang/test/tester/tests/00infer.ts diff --git a/tsc/test/tester/tests/00instanceof.ts b/tslang/test/tester/tests/00instanceof.ts similarity index 100% rename from tsc/test/tester/tests/00instanceof.ts rename to tslang/test/tester/tests/00instanceof.ts diff --git a/tsc/test/tester/tests/00interface.ts b/tslang/test/tester/tests/00interface.ts similarity index 100% rename from tsc/test/tester/tests/00interface.ts rename to tslang/test/tester/tests/00interface.ts diff --git a/tsc/test/tester/tests/00interface2.ts b/tslang/test/tester/tests/00interface2.ts similarity index 100% rename from tsc/test/tester/tests/00interface2.ts rename to tslang/test/tester/tests/00interface2.ts diff --git a/tsc/test/tester/tests/00interface_conjunction.ts b/tslang/test/tester/tests/00interface_conjunction.ts similarity index 100% rename from tsc/test/tester/tests/00interface_conjunction.ts rename to tslang/test/tester/tests/00interface_conjunction.ts diff --git a/tsc/test/tester/tests/00interface_generic.ts b/tslang/test/tester/tests/00interface_generic.ts similarity index 100% rename from tsc/test/tester/tests/00interface_generic.ts rename to tslang/test/tester/tests/00interface_generic.ts diff --git a/tsc/test/tester/tests/00interface_indexer.ts b/tslang/test/tester/tests/00interface_indexer.ts similarity index 100% rename from tsc/test/tester/tests/00interface_indexer.ts rename to tslang/test/tester/tests/00interface_indexer.ts diff --git a/tsc/test/tester/tests/00interface_new.ts b/tslang/test/tester/tests/00interface_new.ts similarity index 100% rename from tsc/test/tester/tests/00interface_new.ts rename to tslang/test/tester/tests/00interface_new.ts diff --git a/tsc/test/tester/tests/00interface_object.ts b/tslang/test/tester/tests/00interface_object.ts similarity index 100% rename from tsc/test/tester/tests/00interface_object.ts rename to tslang/test/tester/tests/00interface_object.ts diff --git a/tsc/test/tester/tests/00interface_object2.ts b/tslang/test/tester/tests/00interface_object2.ts similarity index 100% rename from tsc/test/tester/tests/00interface_object2.ts rename to tslang/test/tester/tests/00interface_object2.ts diff --git a/tsc/test/tester/tests/00interface_object3.ts b/tslang/test/tester/tests/00interface_object3.ts similarity index 100% rename from tsc/test/tester/tests/00interface_object3.ts rename to tslang/test/tester/tests/00interface_object3.ts diff --git a/tsc/test/tester/tests/00interface_object4.ts b/tslang/test/tester/tests/00interface_object4.ts similarity index 100% rename from tsc/test/tester/tests/00interface_object4.ts rename to tslang/test/tester/tests/00interface_object4.ts diff --git a/tsc/test/tester/tests/00interface_object5.ts b/tslang/test/tester/tests/00interface_object5.ts similarity index 100% rename from tsc/test/tester/tests/00interface_object5.ts rename to tslang/test/tester/tests/00interface_object5.ts diff --git a/tsc/test/tester/tests/00interface_optional.ts b/tslang/test/tester/tests/00interface_optional.ts similarity index 100% rename from tsc/test/tester/tests/00interface_optional.ts rename to tslang/test/tester/tests/00interface_optional.ts diff --git a/tsc/test/tester/tests/00interface_partial.ts b/tslang/test/tester/tests/00interface_partial.ts similarity index 100% rename from tsc/test/tester/tests/00interface_partial.ts rename to tslang/test/tester/tests/00interface_partial.ts diff --git a/tsc/test/tester/tests/00intersection_type.ts b/tslang/test/tester/tests/00intersection_type.ts similarity index 100% rename from tsc/test/tester/tests/00intersection_type.ts rename to tslang/test/tester/tests/00intersection_type.ts diff --git a/tsc/test/tester/tests/00intersection_type_generic.ts b/tslang/test/tester/tests/00intersection_type_generic.ts similarity index 100% rename from tsc/test/tester/tests/00intersection_type_generic.ts rename to tslang/test/tester/tests/00intersection_type_generic.ts diff --git a/tsc/test/tester/tests/00iterator.ts b/tslang/test/tester/tests/00iterator.ts similarity index 100% rename from tsc/test/tester/tests/00iterator.ts rename to tslang/test/tester/tests/00iterator.ts diff --git a/tsc/test/tester/tests/00iterator_bug.ts b/tslang/test/tester/tests/00iterator_bug.ts similarity index 100% rename from tsc/test/tester/tests/00iterator_bug.ts rename to tslang/test/tester/tests/00iterator_bug.ts diff --git a/tsc/test/tester/tests/00lambdas.ts b/tslang/test/tester/tests/00lambdas.ts similarity index 100% rename from tsc/test/tester/tests/00lambdas.ts rename to tslang/test/tester/tests/00lambdas.ts diff --git a/tsc/test/tester/tests/00lambdas_generic_global.ts b/tslang/test/tester/tests/00lambdas_generic_global.ts similarity index 100% rename from tsc/test/tester/tests/00lambdas_generic_global.ts rename to tslang/test/tester/tests/00lambdas_generic_global.ts diff --git a/tsc/test/tester/tests/00length.ts b/tslang/test/tester/tests/00length.ts similarity index 100% rename from tsc/test/tester/tests/00length.ts rename to tslang/test/tester/tests/00length.ts diff --git a/tsc/test/tester/tests/00map.ts b/tslang/test/tester/tests/00map.ts similarity index 100% rename from tsc/test/tester/tests/00map.ts rename to tslang/test/tester/tests/00map.ts diff --git a/tsc/test/tester/tests/00method_access_cond.ts b/tslang/test/tester/tests/00method_access_cond.ts similarity index 100% rename from tsc/test/tester/tests/00method_access_cond.ts rename to tslang/test/tester/tests/00method_access_cond.ts diff --git a/tsc/test/tester/tests/00names_conflict.ts b/tslang/test/tester/tests/00names_conflict.ts similarity index 100% rename from tsc/test/tester/tests/00names_conflict.ts rename to tslang/test/tester/tests/00names_conflict.ts diff --git a/tsc/test/tester/tests/00new_delete.ts b/tslang/test/tester/tests/00new_delete.ts similarity index 100% rename from tsc/test/tester/tests/00new_delete.ts rename to tslang/test/tester/tests/00new_delete.ts diff --git a/tsc/test/tester/tests/00ns.ts b/tslang/test/tester/tests/00ns.ts similarity index 100% rename from tsc/test/tester/tests/00ns.ts rename to tslang/test/tester/tests/00ns.ts diff --git a/tsc/test/tester/tests/00ns2.ts b/tslang/test/tester/tests/00ns2.ts similarity index 100% rename from tsc/test/tester/tests/00ns2.ts rename to tslang/test/tester/tests/00ns2.ts diff --git a/tsc/test/tester/tests/00ns3.ts b/tslang/test/tester/tests/00ns3.ts similarity index 100% rename from tsc/test/tester/tests/00ns3.ts rename to tslang/test/tester/tests/00ns3.ts diff --git a/tsc/test/tester/tests/00ns4.ts b/tslang/test/tester/tests/00ns4.ts similarity index 100% rename from tsc/test/tester/tests/00ns4.ts rename to tslang/test/tester/tests/00ns4.ts diff --git a/tsc/test/tester/tests/00ns5.ts b/tslang/test/tester/tests/00ns5.ts similarity index 100% rename from tsc/test/tester/tests/00ns5.ts rename to tslang/test/tester/tests/00ns5.ts diff --git a/tsc/test/tester/tests/00ns_bug.ts b/tslang/test/tester/tests/00ns_bug.ts similarity index 100% rename from tsc/test/tester/tests/00ns_bug.ts rename to tslang/test/tester/tests/00ns_bug.ts diff --git a/tsc/test/tester/tests/00numbers.ts b/tslang/test/tester/tests/00numbers.ts similarity index 100% rename from tsc/test/tester/tests/00numbers.ts rename to tslang/test/tester/tests/00numbers.ts diff --git a/tsc/test/tester/tests/00object.ts b/tslang/test/tester/tests/00object.ts similarity index 100% rename from tsc/test/tester/tests/00object.ts rename to tslang/test/tester/tests/00object.ts diff --git a/tsc/test/tester/tests/00object_accessor.ts b/tslang/test/tester/tests/00object_accessor.ts similarity index 100% rename from tsc/test/tester/tests/00object_accessor.ts rename to tslang/test/tester/tests/00object_accessor.ts diff --git a/tsc/test/tester/tests/00object_deconst.ts b/tslang/test/tester/tests/00object_deconst.ts similarity index 100% rename from tsc/test/tester/tests/00object_deconst.ts rename to tslang/test/tester/tests/00object_deconst.ts diff --git a/tsc/test/tester/tests/00object_func.ts b/tslang/test/tester/tests/00object_func.ts similarity index 100% rename from tsc/test/tester/tests/00object_func.ts rename to tslang/test/tester/tests/00object_func.ts diff --git a/tsc/test/tester/tests/00object_func2.ts b/tslang/test/tester/tests/00object_func2.ts similarity index 100% rename from tsc/test/tester/tests/00object_func2.ts rename to tslang/test/tester/tests/00object_func2.ts diff --git a/tsc/test/tester/tests/00object_func3.ts b/tslang/test/tester/tests/00object_func3.ts similarity index 100% rename from tsc/test/tester/tests/00object_func3.ts rename to tslang/test/tester/tests/00object_func3.ts diff --git a/tsc/test/tester/tests/00object_global.ts b/tslang/test/tester/tests/00object_global.ts similarity index 100% rename from tsc/test/tester/tests/00object_global.ts rename to tslang/test/tester/tests/00object_global.ts diff --git a/tsc/test/tester/tests/00object_new.ts b/tslang/test/tester/tests/00object_new.ts similarity index 100% rename from tsc/test/tester/tests/00object_new.ts rename to tslang/test/tester/tests/00object_new.ts diff --git a/tsc/test/tester/tests/00optional.ts b/tslang/test/tester/tests/00optional.ts similarity index 100% rename from tsc/test/tester/tests/00optional.ts rename to tslang/test/tester/tests/00optional.ts diff --git a/tsc/test/tester/tests/00prefix_postfix.ts b/tslang/test/tester/tests/00prefix_postfix.ts similarity index 100% rename from tsc/test/tester/tests/00prefix_postfix.ts rename to tslang/test/tester/tests/00prefix_postfix.ts diff --git a/tsc/test/tester/tests/00print.ts b/tslang/test/tester/tests/00print.ts similarity index 100% rename from tsc/test/tester/tests/00print.ts rename to tslang/test/tester/tests/00print.ts diff --git a/tsc/test/tester/tests/00property_access_cond.ts b/tslang/test/tester/tests/00property_access_cond.ts similarity index 100% rename from tsc/test/tester/tests/00property_access_cond.ts rename to tslang/test/tester/tests/00property_access_cond.ts diff --git a/tsc/test/tester/tests/00question_question.ts b/tslang/test/tester/tests/00question_question.ts similarity index 100% rename from tsc/test/tester/tests/00question_question.ts rename to tslang/test/tester/tests/00question_question.ts diff --git a/tsc/test/tester/tests/00reduce.ts b/tslang/test/tester/tests/00reduce.ts similarity index 100% rename from tsc/test/tester/tests/00reduce.ts rename to tslang/test/tester/tests/00reduce.ts diff --git a/tsc/test/tester/tests/00reference_index_bug.ts b/tslang/test/tester/tests/00reference_index_bug.ts similarity index 100% rename from tsc/test/tester/tests/00reference_index_bug.ts rename to tslang/test/tester/tests/00reference_index_bug.ts diff --git a/tsc/test/tester/tests/00reference_null_bug.ts b/tslang/test/tester/tests/00reference_null_bug.ts similarity index 100% rename from tsc/test/tester/tests/00reference_null_bug.ts rename to tslang/test/tester/tests/00reference_null_bug.ts diff --git a/tsc/test/tester/tests/00reference_ref_deref.ts b/tslang/test/tester/tests/00reference_ref_deref.ts similarity index 100% rename from tsc/test/tester/tests/00reference_ref_deref.ts rename to tslang/test/tester/tests/00reference_ref_deref.ts diff --git a/tsc/test/tester/tests/00safe_cast.ts b/tslang/test/tester/tests/00safe_cast.ts similarity index 100% rename from tsc/test/tester/tests/00safe_cast.ts rename to tslang/test/tester/tests/00safe_cast.ts diff --git a/tsc/test/tester/tests/00safe_cast2.ts b/tslang/test/tester/tests/00safe_cast2.ts similarity index 100% rename from tsc/test/tester/tests/00safe_cast2.ts rename to tslang/test/tester/tests/00safe_cast2.ts diff --git a/tsc/test/tester/tests/00safe_cast_bug.ts b/tslang/test/tester/tests/00safe_cast_bug.ts similarity index 100% rename from tsc/test/tester/tests/00safe_cast_bug.ts rename to tslang/test/tester/tests/00safe_cast_bug.ts diff --git a/tsc/test/tester/tests/00safe_cast_field_access.ts b/tslang/test/tester/tests/00safe_cast_field_access.ts similarity index 100% rename from tsc/test/tester/tests/00safe_cast_field_access.ts rename to tslang/test/tester/tests/00safe_cast_field_access.ts diff --git a/tsc/test/tester/tests/00safe_cast_typeof.ts b/tslang/test/tester/tests/00safe_cast_typeof.ts similarity index 100% rename from tsc/test/tester/tests/00safe_cast_typeof.ts rename to tslang/test/tester/tests/00safe_cast_typeof.ts diff --git a/tsc/test/tester/tests/00safe_cast_while.ts b/tslang/test/tester/tests/00safe_cast_while.ts similarity index 100% rename from tsc/test/tester/tests/00safe_cast_while.ts rename to tslang/test/tester/tests/00safe_cast_while.ts diff --git a/tsc/test/tester/tests/00sizeof.ts b/tslang/test/tester/tests/00sizeof.ts similarity index 100% rename from tsc/test/tester/tests/00sizeof.ts rename to tslang/test/tester/tests/00sizeof.ts diff --git a/tsc/test/tester/tests/00spread.ts b/tslang/test/tester/tests/00spread.ts similarity index 100% rename from tsc/test/tester/tests/00spread.ts rename to tslang/test/tester/tests/00spread.ts diff --git a/tsc/test/tester/tests/00spread_assignment.ts b/tslang/test/tester/tests/00spread_assignment.ts similarity index 100% rename from tsc/test/tester/tests/00spread_assignment.ts rename to tslang/test/tester/tests/00spread_assignment.ts diff --git a/tsc/test/tester/tests/00stack_test.ts b/tslang/test/tester/tests/00stack_test.ts similarity index 100% rename from tsc/test/tester/tests/00stack_test.ts rename to tslang/test/tester/tests/00stack_test.ts diff --git a/tsc/test/tester/tests/00str_null.ts b/tslang/test/tester/tests/00str_null.ts similarity index 100% rename from tsc/test/tester/tests/00str_null.ts rename to tslang/test/tester/tests/00str_null.ts diff --git a/tsc/test/tester/tests/00strings.ts b/tslang/test/tester/tests/00strings.ts similarity index 100% rename from tsc/test/tester/tests/00strings.ts rename to tslang/test/tester/tests/00strings.ts diff --git a/tsc/test/tester/tests/00switch.ts b/tslang/test/tester/tests/00switch.ts similarity index 100% rename from tsc/test/tester/tests/00switch.ts rename to tslang/test/tester/tests/00switch.ts diff --git a/tsc/test/tester/tests/00switch_state.ts b/tslang/test/tester/tests/00switch_state.ts similarity index 100% rename from tsc/test/tester/tests/00switch_state.ts rename to tslang/test/tester/tests/00switch_state.ts diff --git a/tsc/test/tester/tests/00symbol.ts b/tslang/test/tester/tests/00symbol.ts similarity index 100% rename from tsc/test/tester/tests/00symbol.ts rename to tslang/test/tester/tests/00symbol.ts diff --git a/tsc/test/tester/tests/00to_primitive_ops.ts b/tslang/test/tester/tests/00to_primitive_ops.ts similarity index 100% rename from tsc/test/tester/tests/00to_primitive_ops.ts rename to tslang/test/tester/tests/00to_primitive_ops.ts diff --git a/tsc/test/tester/tests/00try_catch.ts b/tslang/test/tester/tests/00try_catch.ts similarity index 100% rename from tsc/test/tester/tests/00try_catch.ts rename to tslang/test/tester/tests/00try_catch.ts diff --git a/tsc/test/tester/tests/00try_catch_rethrow.ts b/tslang/test/tester/tests/00try_catch_rethrow.ts similarity index 100% rename from tsc/test/tester/tests/00try_catch_rethrow.ts rename to tslang/test/tester/tests/00try_catch_rethrow.ts diff --git a/tsc/test/tester/tests/00try_catch_return.ts b/tslang/test/tester/tests/00try_catch_return.ts similarity index 100% rename from tsc/test/tester/tests/00try_catch_return.ts rename to tslang/test/tester/tests/00try_catch_return.ts diff --git a/tsc/test/tester/tests/00try_catch_return_dispose.ts b/tslang/test/tester/tests/00try_catch_return_dispose.ts similarity index 100% rename from tsc/test/tester/tests/00try_catch_return_dispose.ts rename to tslang/test/tester/tests/00try_catch_return_dispose.ts diff --git a/tsc/test/tester/tests/00try_finally.ts b/tslang/test/tester/tests/00try_finally.ts similarity index 100% rename from tsc/test/tester/tests/00try_finally.ts rename to tslang/test/tester/tests/00try_finally.ts diff --git a/tsc/test/tester/tests/00try_finally_return.ts b/tslang/test/tester/tests/00try_finally_return.ts similarity index 100% rename from tsc/test/tester/tests/00try_finally_return.ts rename to tslang/test/tester/tests/00try_finally_return.ts diff --git a/tsc/test/tester/tests/00tuple.ts b/tslang/test/tester/tests/00tuple.ts similarity index 100% rename from tsc/test/tester/tests/00tuple.ts rename to tslang/test/tester/tests/00tuple.ts diff --git a/tsc/test/tester/tests/00tuple_named.ts b/tslang/test/tester/tests/00tuple_named.ts similarity index 100% rename from tsc/test/tester/tests/00tuple_named.ts rename to tslang/test/tester/tests/00tuple_named.ts diff --git a/tsc/test/tester/tests/00tuple_with_array.ts b/tslang/test/tester/tests/00tuple_with_array.ts similarity index 100% rename from tsc/test/tester/tests/00tuple_with_array.ts rename to tslang/test/tester/tests/00tuple_with_array.ts diff --git a/tsc/test/tester/tests/00type_aliases_in_generics.ts b/tslang/test/tester/tests/00type_aliases_in_generics.ts similarity index 100% rename from tsc/test/tester/tests/00type_aliases_in_generics.ts rename to tslang/test/tester/tests/00type_aliases_in_generics.ts diff --git a/tsc/test/tester/tests/00type_guard_function.ts b/tslang/test/tester/tests/00type_guard_function.ts similarity index 100% rename from tsc/test/tester/tests/00type_guard_function.ts rename to tslang/test/tester/tests/00type_guard_function.ts diff --git a/tsc/test/tester/tests/00typed_array.ts b/tslang/test/tester/tests/00typed_array.ts similarity index 100% rename from tsc/test/tester/tests/00typed_array.ts rename to tslang/test/tester/tests/00typed_array.ts diff --git a/tsc/test/tester/tests/00types.ts b/tslang/test/tester/tests/00types.ts similarity index 100% rename from tsc/test/tester/tests/00types.ts rename to tslang/test/tester/tests/00types.ts diff --git a/tsc/test/tester/tests/00types_indexedaccesstype.ts b/tslang/test/tester/tests/00types_indexedaccesstype.ts similarity index 100% rename from tsc/test/tester/tests/00types_indexedaccesstype.ts rename to tslang/test/tester/tests/00types_indexedaccesstype.ts diff --git a/tsc/test/tester/tests/00types_keyof_enum.ts b/tslang/test/tester/tests/00types_keyof_enum.ts similarity index 100% rename from tsc/test/tester/tests/00types_keyof_enum.ts rename to tslang/test/tester/tests/00types_keyof_enum.ts diff --git a/tsc/test/tester/tests/00types_mappedtype.ts b/tslang/test/tester/tests/00types_mappedtype.ts similarity index 100% rename from tsc/test/tester/tests/00types_mappedtype.ts rename to tslang/test/tester/tests/00types_mappedtype.ts diff --git a/tsc/test/tester/tests/00types_templateliteraltype.ts b/tslang/test/tester/tests/00types_templateliteraltype.ts similarity index 100% rename from tsc/test/tester/tests/00types_templateliteraltype.ts rename to tslang/test/tester/tests/00types_templateliteraltype.ts diff --git a/tsc/test/tester/tests/00types_unknown1.ts b/tslang/test/tester/tests/00types_unknown1.ts similarity index 100% rename from tsc/test/tester/tests/00types_unknown1.ts rename to tslang/test/tester/tests/00types_unknown1.ts diff --git a/tsc/test/tester/tests/00types_utility.ts b/tslang/test/tester/tests/00types_utility.ts similarity index 100% rename from tsc/test/tester/tests/00types_utility.ts rename to tslang/test/tester/tests/00types_utility.ts diff --git a/tsc/test/tester/tests/00uint_compare_bug.ts b/tslang/test/tester/tests/00uint_compare_bug.ts similarity index 100% rename from tsc/test/tester/tests/00uint_compare_bug.ts rename to tslang/test/tester/tests/00uint_compare_bug.ts diff --git a/tsc/test/tester/tests/00undef.ts b/tslang/test/tester/tests/00undef.ts similarity index 100% rename from tsc/test/tester/tests/00undef.ts rename to tslang/test/tester/tests/00undef.ts diff --git a/tsc/test/tester/tests/00union_bin_ops.ts b/tslang/test/tester/tests/00union_bin_ops.ts similarity index 100% rename from tsc/test/tester/tests/00union_bin_ops.ts rename to tslang/test/tester/tests/00union_bin_ops.ts diff --git a/tsc/test/tester/tests/00union_bin_ops2.ts b/tslang/test/tester/tests/00union_bin_ops2.ts similarity index 100% rename from tsc/test/tester/tests/00union_bin_ops2.ts rename to tslang/test/tester/tests/00union_bin_ops2.ts diff --git a/tsc/test/tester/tests/00union_errors.ts b/tslang/test/tester/tests/00union_errors.ts similarity index 100% rename from tsc/test/tester/tests/00union_errors.ts rename to tslang/test/tester/tests/00union_errors.ts diff --git a/tsc/test/tester/tests/00union_ops.ts b/tslang/test/tester/tests/00union_ops.ts similarity index 100% rename from tsc/test/tester/tests/00union_ops.ts rename to tslang/test/tester/tests/00union_ops.ts diff --git a/tsc/test/tester/tests/00union_to_any.ts b/tslang/test/tester/tests/00union_to_any.ts similarity index 100% rename from tsc/test/tester/tests/00union_to_any.ts rename to tslang/test/tester/tests/00union_to_any.ts diff --git a/tsc/test/tester/tests/00union_type.ts b/tslang/test/tester/tests/00union_type.ts similarity index 100% rename from tsc/test/tester/tests/00union_type.ts rename to tslang/test/tester/tests/00union_type.ts diff --git a/tsc/test/tester/tests/00var_bindings.ts b/tslang/test/tester/tests/00var_bindings.ts similarity index 100% rename from tsc/test/tester/tests/00var_bindings.ts rename to tslang/test/tester/tests/00var_bindings.ts diff --git a/tsc/test/tester/tests/00vars.ts b/tslang/test/tester/tests/00vars.ts similarity index 100% rename from tsc/test/tester/tests/00vars.ts rename to tslang/test/tester/tests/00vars.ts diff --git a/tsc/test/tester/tests/00void.ts b/tslang/test/tester/tests/00void.ts similarity index 100% rename from tsc/test/tester/tests/00void.ts rename to tslang/test/tester/tests/00void.ts diff --git a/tsc/test/tester/tests/00while.ts b/tslang/test/tester/tests/00while.ts similarity index 100% rename from tsc/test/tester/tests/00while.ts rename to tslang/test/tester/tests/00while.ts diff --git a/tsc/test/tester/tests/01any.ts b/tslang/test/tester/tests/01any.ts similarity index 100% rename from tsc/test/tester/tests/01any.ts rename to tslang/test/tester/tests/01any.ts diff --git a/tsc/test/tester/tests/01arguments.ts b/tslang/test/tester/tests/01arguments.ts similarity index 100% rename from tsc/test/tester/tests/01arguments.ts rename to tslang/test/tester/tests/01arguments.ts diff --git a/tsc/test/tester/tests/01class_new.ts b/tslang/test/tester/tests/01class_new.ts similarity index 100% rename from tsc/test/tester/tests/01class_new.ts rename to tslang/test/tester/tests/01class_new.ts diff --git a/tsc/test/tester/tests/01disposable.ts b/tslang/test/tester/tests/01disposable.ts similarity index 100% rename from tsc/test/tester/tests/01disposable.ts rename to tslang/test/tester/tests/01disposable.ts diff --git a/tsc/test/tester/tests/01enum.ts b/tslang/test/tester/tests/01enum.ts similarity index 100% rename from tsc/test/tester/tests/01enum.ts rename to tslang/test/tester/tests/01enum.ts diff --git a/tsc/test/tester/tests/01extends.ts b/tslang/test/tester/tests/01extends.ts similarity index 100% rename from tsc/test/tester/tests/01extends.ts rename to tslang/test/tester/tests/01extends.ts diff --git a/tsc/test/tester/tests/01extension.ts b/tslang/test/tester/tests/01extension.ts similarity index 100% rename from tsc/test/tester/tests/01extension.ts rename to tslang/test/tester/tests/01extension.ts diff --git a/tsc/test/tester/tests/01funcs_generic.ts b/tslang/test/tester/tests/01funcs_generic.ts similarity index 100% rename from tsc/test/tester/tests/01funcs_generic.ts rename to tslang/test/tester/tests/01funcs_generic.ts diff --git a/tsc/test/tester/tests/01funcs_generic_iterator.ts b/tslang/test/tester/tests/01funcs_generic_iterator.ts similarity index 100% rename from tsc/test/tester/tests/01funcs_generic_iterator.ts rename to tslang/test/tester/tests/01funcs_generic_iterator.ts diff --git a/tsc/test/tester/tests/01funcs_vararg.ts b/tslang/test/tester/tests/01funcs_vararg.ts similarity index 100% rename from tsc/test/tester/tests/01funcs_vararg.ts rename to tslang/test/tester/tests/01funcs_vararg.ts diff --git a/tsc/test/tester/tests/01iterator.ts b/tslang/test/tester/tests/01iterator.ts similarity index 100% rename from tsc/test/tester/tests/01iterator.ts rename to tslang/test/tester/tests/01iterator.ts diff --git a/tsc/test/tester/tests/01lambdas.ts b/tslang/test/tester/tests/01lambdas.ts similarity index 100% rename from tsc/test/tester/tests/01lambdas.ts rename to tslang/test/tester/tests/01lambdas.ts diff --git a/tsc/test/tester/tests/01map.ts b/tslang/test/tester/tests/01map.ts similarity index 100% rename from tsc/test/tester/tests/01map.ts rename to tslang/test/tester/tests/01map.ts diff --git a/tsc/test/tester/tests/01method_access_cond.ts b/tslang/test/tester/tests/01method_access_cond.ts similarity index 100% rename from tsc/test/tester/tests/01method_access_cond.ts rename to tslang/test/tester/tests/01method_access_cond.ts diff --git a/tsc/test/tester/tests/01optional.ts b/tslang/test/tester/tests/01optional.ts similarity index 100% rename from tsc/test/tester/tests/01optional.ts rename to tslang/test/tester/tests/01optional.ts diff --git a/tsc/test/tester/tests/01print-bug.ts b/tslang/test/tester/tests/01print-bug.ts similarity index 100% rename from tsc/test/tester/tests/01print-bug.ts rename to tslang/test/tester/tests/01print-bug.ts diff --git a/tsc/test/tester/tests/01reduce.ts b/tslang/test/tester/tests/01reduce.ts similarity index 100% rename from tsc/test/tester/tests/01reduce.ts rename to tslang/test/tester/tests/01reduce.ts diff --git a/tsc/test/tester/tests/01safe_cast_while.ts b/tslang/test/tester/tests/01safe_cast_while.ts similarity index 100% rename from tsc/test/tester/tests/01safe_cast_while.ts rename to tslang/test/tester/tests/01safe_cast_while.ts diff --git a/tsc/test/tester/tests/01sizeof.ts b/tslang/test/tester/tests/01sizeof.ts similarity index 100% rename from tsc/test/tester/tests/01sizeof.ts rename to tslang/test/tester/tests/01sizeof.ts diff --git a/tsc/test/tester/tests/01spread.ts b/tslang/test/tester/tests/01spread.ts similarity index 100% rename from tsc/test/tester/tests/01spread.ts rename to tslang/test/tester/tests/01spread.ts diff --git a/tsc/test/tester/tests/01spread_assignment.ts b/tslang/test/tester/tests/01spread_assignment.ts similarity index 100% rename from tsc/test/tester/tests/01spread_assignment.ts rename to tslang/test/tester/tests/01spread_assignment.ts diff --git a/tsc/test/tester/tests/01switch.ts b/tslang/test/tester/tests/01switch.ts similarity index 100% rename from tsc/test/tester/tests/01switch.ts rename to tslang/test/tester/tests/01switch.ts diff --git a/tsc/test/tester/tests/01symbol.ts b/tslang/test/tester/tests/01symbol.ts similarity index 100% rename from tsc/test/tester/tests/01symbol.ts rename to tslang/test/tester/tests/01symbol.ts diff --git a/tsc/test/tester/tests/01try_catch.ts b/tslang/test/tester/tests/01try_catch.ts similarity index 100% rename from tsc/test/tester/tests/01try_catch.ts rename to tslang/test/tester/tests/01try_catch.ts diff --git a/tsc/test/tester/tests/01try_catch_return_dispose.ts b/tslang/test/tester/tests/01try_catch_return_dispose.ts similarity index 100% rename from tsc/test/tester/tests/01try_catch_return_dispose.ts rename to tslang/test/tester/tests/01try_catch_return_dispose.ts diff --git a/tsc/test/tester/tests/01try_finally.ts b/tslang/test/tester/tests/01try_finally.ts similarity index 100% rename from tsc/test/tester/tests/01try_finally.ts rename to tslang/test/tester/tests/01try_finally.ts diff --git a/tsc/test/tester/tests/01tuple.ts b/tslang/test/tester/tests/01tuple.ts similarity index 100% rename from tsc/test/tester/tests/01tuple.ts rename to tslang/test/tester/tests/01tuple.ts diff --git a/tsc/test/tester/tests/01types_mappedtype.ts b/tslang/test/tester/tests/01types_mappedtype.ts similarity index 100% rename from tsc/test/tester/tests/01types_mappedtype.ts rename to tslang/test/tester/tests/01types_mappedtype.ts diff --git a/tsc/test/tester/tests/01types_templateliteraltype.ts b/tslang/test/tester/tests/01types_templateliteraltype.ts similarity index 100% rename from tsc/test/tester/tests/01types_templateliteraltype.ts rename to tslang/test/tester/tests/01types_templateliteraltype.ts diff --git a/tsc/test/tester/tests/01types_utility.ts b/tslang/test/tester/tests/01types_utility.ts similarity index 100% rename from tsc/test/tester/tests/01types_utility.ts rename to tslang/test/tester/tests/01types_utility.ts diff --git a/tsc/test/tester/tests/01union_type.ts b/tslang/test/tester/tests/01union_type.ts similarity index 100% rename from tsc/test/tester/tests/01union_type.ts rename to tslang/test/tester/tests/01union_type.ts diff --git a/tsc/test/tester/tests/02disposable.ts b/tslang/test/tester/tests/02disposable.ts similarity index 100% rename from tsc/test/tester/tests/02disposable.ts rename to tslang/test/tester/tests/02disposable.ts diff --git a/tsc/test/tester/tests/02extends.ts b/tslang/test/tester/tests/02extends.ts similarity index 100% rename from tsc/test/tester/tests/02extends.ts rename to tslang/test/tester/tests/02extends.ts diff --git a/tsc/test/tester/tests/02funcs_generic_iterator.ts b/tslang/test/tester/tests/02funcs_generic_iterator.ts similarity index 100% rename from tsc/test/tester/tests/02funcs_generic_iterator.ts rename to tslang/test/tester/tests/02funcs_generic_iterator.ts diff --git a/tsc/test/tester/tests/02funcs_vararg.ts b/tslang/test/tester/tests/02funcs_vararg.ts similarity index 100% rename from tsc/test/tester/tests/02funcs_vararg.ts rename to tslang/test/tester/tests/02funcs_vararg.ts diff --git a/tsc/test/tester/tests/02iterator.ts b/tslang/test/tester/tests/02iterator.ts similarity index 100% rename from tsc/test/tester/tests/02iterator.ts rename to tslang/test/tester/tests/02iterator.ts diff --git a/tsc/test/tester/tests/02numbers.ts b/tslang/test/tester/tests/02numbers.ts similarity index 100% rename from tsc/test/tester/tests/02numbers.ts rename to tslang/test/tester/tests/02numbers.ts diff --git a/tsc/test/tester/tests/02sizeof.ts b/tslang/test/tester/tests/02sizeof.ts similarity index 100% rename from tsc/test/tester/tests/02sizeof.ts rename to tslang/test/tester/tests/02sizeof.ts diff --git a/tsc/test/tester/tests/02union_type.ts b/tslang/test/tester/tests/02union_type.ts similarity index 100% rename from tsc/test/tester/tests/02union_type.ts rename to tslang/test/tester/tests/02union_type.ts diff --git a/tsc/test/tester/tests/03iterator.ts b/tslang/test/tester/tests/03iterator.ts similarity index 100% rename from tsc/test/tester/tests/03iterator.ts rename to tslang/test/tester/tests/03iterator.ts diff --git a/tsc/test/tester/tests/03union_type.ts b/tslang/test/tester/tests/03union_type.ts similarity index 100% rename from tsc/test/tester/tests/03union_type.ts rename to tslang/test/tester/tests/03union_type.ts diff --git a/tsc/test/tester/tests/04union_type.ts b/tslang/test/tester/tests/04union_type.ts similarity index 100% rename from tsc/test/tester/tests/04union_type.ts rename to tslang/test/tester/tests/04union_type.ts diff --git a/tsc/test/tester/tests/05strings.ts b/tslang/test/tester/tests/05strings.ts similarity index 100% rename from tsc/test/tester/tests/05strings.ts rename to tslang/test/tester/tests/05strings.ts diff --git a/tsc/test/tester/tests/05union_type.ts b/tslang/test/tester/tests/05union_type.ts similarity index 100% rename from tsc/test/tester/tests/05union_type.ts rename to tslang/test/tester/tests/05union_type.ts diff --git a/tsc/test/tester/tests/06numbercollections.ts b/tslang/test/tester/tests/06numbercollections.ts similarity index 100% rename from tsc/test/tester/tests/06numbercollections.ts rename to tslang/test/tester/tests/06numbercollections.ts diff --git a/tsc/test/tester/tests/07stringcollections.ts b/tslang/test/tester/tests/07stringcollections.ts similarity index 100% rename from tsc/test/tester/tests/07stringcollections.ts rename to tslang/test/tester/tests/07stringcollections.ts diff --git a/tsc/test/tester/tests/08stringopertations.ts b/tslang/test/tester/tests/08stringopertations.ts similarity index 100% rename from tsc/test/tester/tests/08stringopertations.ts rename to tslang/test/tester/tests/08stringopertations.ts diff --git a/tsc/test/tester/tests/09postprefix.ts b/tslang/test/tester/tests/09postprefix.ts similarity index 100% rename from tsc/test/tester/tests/09postprefix.ts rename to tslang/test/tester/tests/09postprefix.ts diff --git a/tsc/test/tester/tests/10arrayincrement.ts b/tslang/test/tester/tests/10arrayincrement.ts similarity index 100% rename from tsc/test/tester/tests/10arrayincrement.ts rename to tslang/test/tester/tests/10arrayincrement.ts diff --git a/tsc/test/tester/tests/11equalsoperator.ts b/tslang/test/tester/tests/11equalsoperator.ts similarity index 100% rename from tsc/test/tester/tests/11equalsoperator.ts rename to tslang/test/tester/tests/11equalsoperator.ts diff --git a/tsc/test/tester/tests/12referencecollection.ts b/tslang/test/tester/tests/12referencecollection.ts similarity index 100% rename from tsc/test/tester/tests/12referencecollection.ts rename to tslang/test/tester/tests/12referencecollection.ts diff --git a/tsc/test/tester/tests/13actions.ts b/tslang/test/tester/tests/13actions.ts similarity index 100% rename from tsc/test/tester/tests/13actions.ts rename to tslang/test/tester/tests/13actions.ts diff --git a/tsc/test/tester/tests/14lazyoperations.ts b/tslang/test/tester/tests/14lazyoperations.ts similarity index 100% rename from tsc/test/tester/tests/14lazyoperations.ts rename to tslang/test/tester/tests/14lazyoperations.ts diff --git a/tsc/test/tester/tests/15references.ts b/tslang/test/tester/tests/15references.ts similarity index 100% rename from tsc/test/tester/tests/15references.ts rename to tslang/test/tester/tests/15references.ts diff --git a/tsc/test/tester/tests/15references_capture.ts b/tslang/test/tester/tests/15references_capture.ts similarity index 100% rename from tsc/test/tester/tests/15references_capture.ts rename to tslang/test/tester/tests/15references_capture.ts diff --git a/tsc/test/tester/tests/17classes.ts b/tslang/test/tester/tests/17classes.ts similarity index 100% rename from tsc/test/tester/tests/17classes.ts rename to tslang/test/tester/tests/17classes.ts diff --git a/tsc/test/tester/tests/18enums.ts b/tslang/test/tester/tests/18enums.ts similarity index 100% rename from tsc/test/tester/tests/18enums.ts rename to tslang/test/tester/tests/18enums.ts diff --git a/tsc/test/tester/tests/19forof.ts b/tslang/test/tester/tests/19forof.ts similarity index 100% rename from tsc/test/tester/tests/19forof.ts rename to tslang/test/tester/tests/19forof.ts diff --git a/tsc/test/tester/tests/19forof_capture.ts b/tslang/test/tester/tests/19forof_capture.ts similarity index 100% rename from tsc/test/tester/tests/19forof_capture.ts rename to tslang/test/tester/tests/19forof_capture.ts diff --git a/tsc/test/tester/tests/20maps.ts b/tslang/test/tester/tests/20maps.ts similarity index 100% rename from tsc/test/tester/tests/20maps.ts rename to tslang/test/tester/tests/20maps.ts diff --git a/tsc/test/tester/tests/22lambdas.ts b/tslang/test/tester/tests/22lambdas.ts similarity index 100% rename from tsc/test/tester/tests/22lambdas.ts rename to tslang/test/tester/tests/22lambdas.ts diff --git a/tsc/test/tester/tests/23generics.ts b/tslang/test/tester/tests/23generics.ts similarity index 100% rename from tsc/test/tester/tests/23generics.ts rename to tslang/test/tester/tests/23generics.ts diff --git a/tsc/test/tester/tests/241arrayforeach.ts b/tslang/test/tester/tests/241arrayforeach.ts similarity index 100% rename from tsc/test/tester/tests/241arrayforeach.ts rename to tslang/test/tester/tests/241arrayforeach.ts diff --git a/tsc/test/tester/tests/243arrayevery.ts b/tslang/test/tester/tests/243arrayevery.ts similarity index 100% rename from tsc/test/tester/tests/243arrayevery.ts rename to tslang/test/tester/tests/243arrayevery.ts diff --git a/tsc/test/tester/tests/244arraysome.ts b/tslang/test/tester/tests/244arraysome.ts similarity index 100% rename from tsc/test/tester/tests/244arraysome.ts rename to tslang/test/tester/tests/244arraysome.ts diff --git a/tsc/test/tester/tests/25lamdacapture.ts b/tslang/test/tester/tests/25lamdacapture.ts similarity index 100% rename from tsc/test/tester/tests/25lamdacapture.ts rename to tslang/test/tester/tests/25lamdacapture.ts diff --git a/tsc/test/tester/tests/26staticclasses.ts b/tslang/test/tester/tests/26staticclasses.ts similarity index 100% rename from tsc/test/tester/tests/26staticclasses.ts rename to tslang/test/tester/tests/26staticclasses.ts diff --git a/tsc/test/tester/tests/28boolcasts.ts b/tslang/test/tester/tests/28boolcasts.ts similarity index 100% rename from tsc/test/tester/tests/28boolcasts.ts rename to tslang/test/tester/tests/28boolcasts.ts diff --git a/tsc/test/tester/tests/29lazyreferences.ts b/tslang/test/tester/tests/29lazyreferences.ts similarity index 100% rename from tsc/test/tester/tests/29lazyreferences.ts rename to tslang/test/tester/tests/29lazyreferences.ts diff --git a/tsc/test/tester/tests/32complexcalls.ts b/tslang/test/tester/tests/32complexcalls.ts similarity index 100% rename from tsc/test/tester/tests/32complexcalls.ts rename to tslang/test/tester/tests/32complexcalls.ts diff --git a/tsc/test/tester/tests/33inheritance.ts b/tslang/test/tester/tests/33inheritance.ts similarity index 100% rename from tsc/test/tester/tests/33inheritance.ts rename to tslang/test/tester/tests/33inheritance.ts diff --git a/tsc/test/tester/tests/34switch.ts b/tslang/test/tester/tests/34switch.ts similarity index 100% rename from tsc/test/tester/tests/34switch.ts rename to tslang/test/tester/tests/34switch.ts diff --git a/tsc/test/tester/tests/35lambdaparameters.ts b/tslang/test/tester/tests/35lambdaparameters.ts similarity index 100% rename from tsc/test/tester/tests/35lambdaparameters.ts rename to tslang/test/tester/tests/35lambdaparameters.ts diff --git a/tsc/test/tester/tests/36interfaces.ts b/tslang/test/tester/tests/36interfaces.ts similarity index 100% rename from tsc/test/tester/tests/36interfaces.ts rename to tslang/test/tester/tests/36interfaces.ts diff --git a/tsc/test/tester/tests/39objectdestructuring.ts b/tslang/test/tester/tests/39objectdestructuring.ts similarity index 100% rename from tsc/test/tester/tests/39objectdestructuring.ts rename to tslang/test/tester/tests/39objectdestructuring.ts diff --git a/tsc/test/tester/tests/40generics.ts b/tslang/test/tester/tests/40generics.ts similarity index 100% rename from tsc/test/tester/tests/40generics.ts rename to tslang/test/tester/tests/40generics.ts diff --git a/tsc/test/tester/tests/41anonymoustypes.ts b/tslang/test/tester/tests/41anonymoustypes.ts similarity index 100% rename from tsc/test/tester/tests/41anonymoustypes.ts rename to tslang/test/tester/tests/41anonymoustypes.ts diff --git a/tsc/test/tester/tests/42lambdaproperties.ts b/tslang/test/tester/tests/42lambdaproperties.ts similarity index 100% rename from tsc/test/tester/tests/42lambdaproperties.ts rename to tslang/test/tester/tests/42lambdaproperties.ts diff --git a/tsc/test/tester/tests/43nestednamespace.ts b/tslang/test/tester/tests/43nestednamespace.ts similarity index 100% rename from tsc/test/tester/tests/43nestednamespace.ts rename to tslang/test/tester/tests/43nestednamespace.ts diff --git a/tsc/test/tester/tests/44toplevelcode.ts b/tslang/test/tester/tests/44toplevelcode.ts similarity index 100% rename from tsc/test/tester/tests/44toplevelcode.ts rename to tslang/test/tester/tests/44toplevelcode.ts diff --git a/tsc/test/tester/tests/45enumtostring.ts b/tslang/test/tester/tests/45enumtostring.ts similarity index 100% rename from tsc/test/tester/tests/45enumtostring.ts rename to tslang/test/tester/tests/45enumtostring.ts diff --git a/tsc/test/tester/tests/48instanceof.ts b/tslang/test/tester/tests/48instanceof.ts similarity index 100% rename from tsc/test/tester/tests/48instanceof.ts rename to tslang/test/tester/tests/48instanceof.ts diff --git a/tsc/test/tester/tests/51exceptions.ts b/tslang/test/tester/tests/51exceptions.ts similarity index 100% rename from tsc/test/tester/tests/51exceptions.ts rename to tslang/test/tester/tests/51exceptions.ts diff --git a/tsc/test/tester/tests/Grammar_and_types.ts b/tslang/test/tester/tests/Grammar_and_types.ts similarity index 100% rename from tsc/test/tester/tests/Grammar_and_types.ts rename to tslang/test/tester/tests/Grammar_and_types.ts diff --git a/tsc/test/tester/tests/abstractPropertyInConstructor.ts b/tslang/test/tester/tests/abstractPropertyInConstructor.ts similarity index 100% rename from tsc/test/tester/tests/abstractPropertyInConstructor.ts rename to tslang/test/tester/tests/abstractPropertyInConstructor.ts diff --git a/tsc/test/tester/tests/additionOperatorWithNumberAndEnum.ts b/tslang/test/tester/tests/additionOperatorWithNumberAndEnum.ts similarity index 100% rename from tsc/test/tester/tests/additionOperatorWithNumberAndEnum.ts rename to tslang/test/tester/tests/additionOperatorWithNumberAndEnum.ts diff --git a/tsc/test/tester/tests/arithmeticOperatorWithEnum.ts b/tslang/test/tester/tests/arithmeticOperatorWithEnum.ts similarity index 100% rename from tsc/test/tester/tests/arithmeticOperatorWithEnum.ts rename to tslang/test/tester/tests/arithmeticOperatorWithEnum.ts diff --git a/tsc/test/tester/tests/arithmeticOperatorWithTypeParameter.ts b/tslang/test/tester/tests/arithmeticOperatorWithTypeParameter.ts similarity index 100% rename from tsc/test/tester/tests/arithmeticOperatorWithTypeParameter.ts rename to tslang/test/tester/tests/arithmeticOperatorWithTypeParameter.ts diff --git a/tsc/test/tester/tests/arrayFakeFlatNoCrashInferenceDeclarations.ts b/tslang/test/tester/tests/arrayFakeFlatNoCrashInferenceDeclarations.ts similarity index 100% rename from tsc/test/tester/tests/arrayFakeFlatNoCrashInferenceDeclarations.ts rename to tslang/test/tester/tests/arrayFakeFlatNoCrashInferenceDeclarations.ts diff --git a/tsc/test/tester/tests/arrayLiterals.ts b/tslang/test/tester/tests/arrayLiterals.ts similarity index 100% rename from tsc/test/tester/tests/arrayLiterals.ts rename to tslang/test/tester/tests/arrayLiterals.ts diff --git a/tsc/test/tester/tests/arrayLiterals2ES5.ts b/tslang/test/tester/tests/arrayLiterals2ES5.ts similarity index 100% rename from tsc/test/tester/tests/arrayLiterals2ES5.ts rename to tslang/test/tester/tests/arrayLiterals2ES5.ts diff --git a/tsc/test/tester/tests/arrayLiterals3.ts b/tslang/test/tester/tests/arrayLiterals3.ts similarity index 100% rename from tsc/test/tester/tests/arrayLiterals3.ts rename to tslang/test/tester/tests/arrayLiterals3.ts diff --git a/tsc/test/tester/tests/assignmentTypeNarrowing.ts b/tslang/test/tester/tests/assignmentTypeNarrowing.ts similarity index 100% rename from tsc/test/tester/tests/assignmentTypeNarrowing.ts rename to tslang/test/tester/tests/assignmentTypeNarrowing.ts diff --git a/tsc/test/tester/tests/asyncMethodWithSuper_es2017.ts b/tslang/test/tester/tests/asyncMethodWithSuper_es2017.ts similarity index 100% rename from tsc/test/tester/tests/asyncMethodWithSuper_es2017.ts rename to tslang/test/tester/tests/asyncMethodWithSuper_es2017.ts diff --git a/tsc/test/tester/tests/callWithSpread.ts b/tslang/test/tester/tests/callWithSpread.ts similarity index 100% rename from tsc/test/tester/tests/callWithSpread.ts rename to tslang/test/tester/tests/callWithSpread.ts diff --git a/tsc/test/tester/tests/comparisonOperatorWithIdenticalObjects.ts b/tslang/test/tester/tests/comparisonOperatorWithIdenticalObjects.ts similarity index 100% rename from tsc/test/tester/tests/comparisonOperatorWithIdenticalObjects.ts rename to tslang/test/tester/tests/comparisonOperatorWithIdenticalObjects.ts diff --git a/tsc/test/tester/tests/component.ts b/tslang/test/tester/tests/component.ts similarity index 100% rename from tsc/test/tester/tests/component.ts rename to tslang/test/tester/tests/component.ts diff --git a/tsc/test/tester/tests/conditionalTypes1.ts b/tslang/test/tester/tests/conditionalTypes1.ts similarity index 100% rename from tsc/test/tester/tests/conditionalTypes1.ts rename to tslang/test/tester/tests/conditionalTypes1.ts diff --git a/tsc/test/tester/tests/conditionalTypes2.ts b/tslang/test/tester/tests/conditionalTypes2.ts similarity index 100% rename from tsc/test/tester/tests/conditionalTypes2.ts rename to tslang/test/tester/tests/conditionalTypes2.ts diff --git a/tsc/test/tester/tests/decl_class.ts b/tslang/test/tester/tests/decl_class.ts similarity index 100% rename from tsc/test/tester/tests/decl_class.ts rename to tslang/test/tester/tests/decl_class.ts diff --git a/tsc/test/tester/tests/decl_enum.ts b/tslang/test/tester/tests/decl_enum.ts similarity index 100% rename from tsc/test/tester/tests/decl_enum.ts rename to tslang/test/tester/tests/decl_enum.ts diff --git a/tsc/test/tester/tests/decl_interface.ts b/tslang/test/tester/tests/decl_interface.ts similarity index 100% rename from tsc/test/tester/tests/decl_interface.ts rename to tslang/test/tester/tests/decl_interface.ts diff --git a/tsc/test/tester/tests/decl_type.ts b/tslang/test/tester/tests/decl_type.ts similarity index 100% rename from tsc/test/tester/tests/decl_type.ts rename to tslang/test/tester/tests/decl_type.ts diff --git a/tsc/test/tester/tests/declarationsAndAssignments.ts b/tslang/test/tester/tests/declarationsAndAssignments.ts similarity index 100% rename from tsc/test/tester/tests/declarationsAndAssignments.ts rename to tslang/test/tester/tests/declarationsAndAssignments.ts diff --git a/tsc/test/tester/tests/declare_global_var.ts b/tslang/test/tester/tests/declare_global_var.ts similarity index 100% rename from tsc/test/tester/tests/declare_global_var.ts rename to tslang/test/tester/tests/declare_global_var.ts diff --git a/tsc/test/tester/tests/define_global_var.ts b/tslang/test/tester/tests/define_global_var.ts similarity index 100% rename from tsc/test/tester/tests/define_global_var.ts rename to tslang/test/tester/tests/define_global_var.ts diff --git a/tsc/test/tester/tests/dependencies.ts b/tslang/test/tester/tests/dependencies.ts similarity index 100% rename from tsc/test/tester/tests/dependencies.ts rename to tslang/test/tester/tests/dependencies.ts diff --git a/tsc/test/tester/tests/disallowLineTerminatorBeforeArrow.ts b/tslang/test/tester/tests/disallowLineTerminatorBeforeArrow.ts similarity index 100% rename from tsc/test/tester/tests/disallowLineTerminatorBeforeArrow.ts rename to tslang/test/tester/tests/disallowLineTerminatorBeforeArrow.ts diff --git a/tsc/test/tester/tests/emitDefaultParametersFunctionExpression.ts b/tslang/test/tester/tests/emitDefaultParametersFunctionExpression.ts similarity index 100% rename from tsc/test/tester/tests/emitDefaultParametersFunctionExpression.ts rename to tslang/test/tester/tests/emitDefaultParametersFunctionExpression.ts diff --git a/tsc/test/tester/tests/emit_class.ts b/tslang/test/tester/tests/emit_class.ts similarity index 100% rename from tsc/test/tester/tests/emit_class.ts rename to tslang/test/tester/tests/emit_class.ts diff --git a/tsc/test/tester/tests/emit_compiletime_class.ts b/tslang/test/tester/tests/emit_compiletime_class.ts similarity index 100% rename from tsc/test/tester/tests/emit_compiletime_class.ts rename to tslang/test/tester/tests/emit_compiletime_class.ts diff --git a/tsc/test/tester/tests/emit_compiletime_func.ts b/tslang/test/tester/tests/emit_compiletime_func.ts similarity index 100% rename from tsc/test/tester/tests/emit_compiletime_func.ts rename to tslang/test/tester/tests/emit_compiletime_func.ts diff --git a/tsc/test/tester/tests/emit_enum.ts b/tslang/test/tester/tests/emit_enum.ts similarity index 100% rename from tsc/test/tester/tests/emit_enum.ts rename to tslang/test/tester/tests/emit_enum.ts diff --git a/tsc/test/tester/tests/emit_interface.ts b/tslang/test/tester/tests/emit_interface.ts similarity index 100% rename from tsc/test/tester/tests/emit_interface.ts rename to tslang/test/tester/tests/emit_interface.ts diff --git a/tsc/test/tester/tests/emit_type.ts b/tslang/test/tester/tests/emit_type.ts similarity index 100% rename from tsc/test/tester/tests/emit_type.ts rename to tslang/test/tester/tests/emit_type.ts diff --git a/tsc/test/tester/tests/export_class_interface.ts b/tslang/test/tester/tests/export_class_interface.ts similarity index 100% rename from tsc/test/tester/tests/export_class_interface.ts rename to tslang/test/tester/tests/export_class_interface.ts diff --git a/tsc/test/tester/tests/export_enum.ts b/tslang/test/tester/tests/export_enum.ts similarity index 100% rename from tsc/test/tester/tests/export_enum.ts rename to tslang/test/tester/tests/export_enum.ts diff --git a/tsc/test/tester/tests/export_object_literal_with_class_types.ts b/tslang/test/tester/tests/export_object_literal_with_class_types.ts similarity index 100% rename from tsc/test/tester/tests/export_object_literal_with_class_types.ts rename to tslang/test/tester/tests/export_object_literal_with_class_types.ts diff --git a/tsc/test/tester/tests/export_object_literal_with_interface.ts b/tslang/test/tester/tests/export_object_literal_with_interface.ts similarity index 100% rename from tsc/test/tester/tests/export_object_literal_with_interface.ts rename to tslang/test/tester/tests/export_object_literal_with_interface.ts diff --git a/tsc/test/tester/tests/export_vars.ts b/tslang/test/tester/tests/export_vars.ts similarity index 100% rename from tsc/test/tester/tests/export_vars.ts rename to tslang/test/tester/tests/export_vars.ts diff --git a/tsc/test/tester/tests/export_vars2.ts b/tslang/test/tester/tests/export_vars2.ts similarity index 100% rename from tsc/test/tester/tests/export_vars2.ts rename to tslang/test/tester/tests/export_vars2.ts diff --git a/tsc/test/tester/tests/import_class_interface.ts b/tslang/test/tester/tests/import_class_interface.ts similarity index 100% rename from tsc/test/tester/tests/import_class_interface.ts rename to tslang/test/tester/tests/import_class_interface.ts diff --git a/tsc/test/tester/tests/import_enum.ts b/tslang/test/tester/tests/import_enum.ts similarity index 100% rename from tsc/test/tester/tests/import_enum.ts rename to tslang/test/tester/tests/import_enum.ts diff --git a/tsc/test/tester/tests/import_object_literal_with_class_types.ts b/tslang/test/tester/tests/import_object_literal_with_class_types.ts similarity index 100% rename from tsc/test/tester/tests/import_object_literal_with_class_types.ts rename to tslang/test/tester/tests/import_object_literal_with_class_types.ts diff --git a/tsc/test/tester/tests/import_object_literal_with_interface.ts b/tslang/test/tester/tests/import_object_literal_with_interface.ts similarity index 100% rename from tsc/test/tester/tests/import_object_literal_with_interface.ts rename to tslang/test/tester/tests/import_object_literal_with_interface.ts diff --git a/tsc/test/tester/tests/import_vars.ts b/tslang/test/tester/tests/import_vars.ts similarity index 100% rename from tsc/test/tester/tests/import_vars.ts rename to tslang/test/tester/tests/import_vars.ts diff --git a/tsc/test/tester/tests/import_vars2.ts b/tslang/test/tester/tests/import_vars2.ts similarity index 100% rename from tsc/test/tester/tests/import_vars2.ts rename to tslang/test/tester/tests/import_vars2.ts diff --git a/tsc/test/tester/tests/include_global_var.ts b/tslang/test/tester/tests/include_global_var.ts similarity index 100% rename from tsc/test/tester/tests/include_global_var.ts rename to tslang/test/tester/tests/include_global_var.ts diff --git a/tsc/test/tester/tests/internals.ts b/tslang/test/tester/tests/internals.ts similarity index 100% rename from tsc/test/tester/tests/internals.ts rename to tslang/test/tester/tests/internals.ts diff --git a/tsc/test/tester/tests/load_store_decorators.ts b/tslang/test/tester/tests/load_store_decorators.ts similarity index 100% rename from tsc/test/tester/tests/load_store_decorators.ts rename to tslang/test/tester/tests/load_store_decorators.ts diff --git a/tsc/test/tester/tests/logicalAssignment5.ts b/tslang/test/tester/tests/logicalAssignment5.ts similarity index 100% rename from tsc/test/tester/tests/logicalAssignment5.ts rename to tslang/test/tester/tests/logicalAssignment5.ts diff --git a/tsc/test/tester/tests/logicalAssignment5_2.ts b/tslang/test/tester/tests/logicalAssignment5_2.ts similarity index 100% rename from tsc/test/tester/tests/logicalAssignment5_2.ts rename to tslang/test/tester/tests/logicalAssignment5_2.ts diff --git a/tsc/test/tester/tests/logicalAssignment5_3.ts b/tslang/test/tester/tests/logicalAssignment5_3.ts similarity index 100% rename from tsc/test/tester/tests/logicalAssignment5_3.ts rename to tslang/test/tester/tests/logicalAssignment5_3.ts diff --git a/tsc/test/tester/tests/nbody.ts b/tslang/test/tester/tests/nbody.ts similarity index 100% rename from tsc/test/tester/tests/nbody.ts rename to tslang/test/tester/tests/nbody.ts diff --git a/tsc/test/tester/tests/newWithSpread.ts b/tslang/test/tester/tests/newWithSpread.ts similarity index 100% rename from tsc/test/tester/tests/newWithSpread.ts rename to tslang/test/tester/tests/newWithSpread.ts diff --git a/tsc/test/tester/tests/noPropertyAccessFromIndexSignature1.ts b/tslang/test/tester/tests/noPropertyAccessFromIndexSignature1.ts similarity index 100% rename from tsc/test/tester/tests/noPropertyAccessFromIndexSignature1.ts rename to tslang/test/tester/tests/noPropertyAccessFromIndexSignature1.ts diff --git a/tsc/test/tester/tests/no_main.ts b/tslang/test/tester/tests/no_main.ts similarity index 100% rename from tsc/test/tester/tests/no_main.ts rename to tslang/test/tester/tests/no_main.ts diff --git a/tsc/test/tester/tests/parser.ts b/tslang/test/tester/tests/parser.ts similarity index 100% rename from tsc/test/tester/tests/parser.ts rename to tslang/test/tester/tests/parser.ts diff --git a/tsc/test/tester/tests/path.ts b/tslang/test/tester/tests/path.ts similarity index 100% rename from tsc/test/tester/tests/path.ts rename to tslang/test/tester/tests/path.ts diff --git a/tsc/test/tester/tests/raytrace-0.ts b/tslang/test/tester/tests/raytrace-0.ts similarity index 100% rename from tsc/test/tester/tests/raytrace-0.ts rename to tslang/test/tester/tests/raytrace-0.ts diff --git a/tsc/test/tester/tests/raytrace.ts b/tslang/test/tester/tests/raytrace.ts similarity index 100% rename from tsc/test/tester/tests/raytrace.ts rename to tslang/test/tester/tests/raytrace.ts diff --git a/tsc/test/tester/tests/service.ts b/tslang/test/tester/tests/service.ts similarity index 100% rename from tsc/test/tester/tests/service.ts rename to tslang/test/tester/tests/service.ts diff --git a/tsc/test/tester/tests/shared.ts b/tslang/test/tester/tests/shared.ts similarity index 100% rename from tsc/test/tester/tests/shared.ts rename to tslang/test/tester/tests/shared.ts diff --git a/tsc/test/tester/tests/structural-typing.ts b/tslang/test/tester/tests/structural-typing.ts similarity index 100% rename from tsc/test/tester/tests/structural-typing.ts rename to tslang/test/tester/tests/structural-typing.ts diff --git a/tsc/test/tester/tests/thisTypeInClasses.ts b/tslang/test/tester/tests/thisTypeInClasses.ts similarity index 100% rename from tsc/test/tester/tests/thisTypeInClasses.ts rename to tslang/test/tester/tests/thisTypeInClasses.ts diff --git a/tsc/test/tester/tests/typeGuardFunction.ts b/tslang/test/tester/tests/typeGuardFunction.ts similarity index 100% rename from tsc/test/tester/tests/typeGuardFunction.ts rename to tslang/test/tester/tests/typeGuardFunction.ts diff --git a/tsc/test/tester/tests/typeGuardOfFormThisMember.ts b/tslang/test/tester/tests/typeGuardOfFormThisMember.ts similarity index 100% rename from tsc/test/tester/tests/typeGuardOfFormThisMember.ts rename to tslang/test/tester/tests/typeGuardOfFormThisMember.ts diff --git a/tsc/test/tester/tests/typeGuardOfFormTypeOfBoolean.ts b/tslang/test/tester/tests/typeGuardOfFormTypeOfBoolean.ts similarity index 100% rename from tsc/test/tester/tests/typeGuardOfFormTypeOfBoolean.ts rename to tslang/test/tester/tests/typeGuardOfFormTypeOfBoolean.ts diff --git a/tsc/test/tester/tests/types_vs_interfaces.ts b/tslang/test/tester/tests/types_vs_interfaces.ts similarity index 100% rename from tsc/test/tester/tests/types_vs_interfaces.ts rename to tslang/test/tester/tests/types_vs_interfaces.ts diff --git a/tsc/test/tester/tests/use_shared.ts b/tslang/test/tester/tests/use_shared.ts similarity index 100% rename from tsc/test/tester/tests/use_shared.ts rename to tslang/test/tester/tests/use_shared.ts diff --git a/tsc/ts-new-parser/.vscode/c_cpp_properties.json b/tslang/ts-new-parser/.vscode/c_cpp_properties.json similarity index 100% rename from tsc/ts-new-parser/.vscode/c_cpp_properties.json rename to tslang/ts-new-parser/.vscode/c_cpp_properties.json diff --git a/tsc/ts-new-parser/.vscode/launch.json b/tslang/ts-new-parser/.vscode/launch.json similarity index 100% rename from tsc/ts-new-parser/.vscode/launch.json rename to tslang/ts-new-parser/.vscode/launch.json diff --git a/tsc/ts-new-parser/.vscode/settings.json b/tslang/ts-new-parser/.vscode/settings.json similarity index 100% rename from tsc/ts-new-parser/.vscode/settings.json rename to tslang/ts-new-parser/.vscode/settings.json diff --git a/tsc/ts-new-parser/CMakeLists.txt b/tslang/ts-new-parser/CMakeLists.txt similarity index 100% rename from tsc/ts-new-parser/CMakeLists.txt rename to tslang/ts-new-parser/CMakeLists.txt diff --git a/tsc/ts-new-parser/config.h b/tslang/ts-new-parser/config.h similarity index 100% rename from tsc/ts-new-parser/config.h rename to tslang/ts-new-parser/config.h diff --git a/tsc/ts-new-parser/core.h b/tslang/ts-new-parser/core.h similarity index 100% rename from tsc/ts-new-parser/core.h rename to tslang/ts-new-parser/core.h diff --git a/tsc/ts-new-parser/debug.h b/tslang/ts-new-parser/debug.h similarity index 100% rename from tsc/ts-new-parser/debug.h rename to tslang/ts-new-parser/debug.h diff --git a/tsc/ts-new-parser/diagnostics.h b/tslang/ts-new-parser/diagnostics.h similarity index 100% rename from tsc/ts-new-parser/diagnostics.h rename to tslang/ts-new-parser/diagnostics.h diff --git a/tsc/ts-new-parser/dump.h b/tslang/ts-new-parser/dump.h similarity index 100% rename from tsc/ts-new-parser/dump.h rename to tslang/ts-new-parser/dump.h diff --git a/tsc/ts-new-parser/enums.h b/tslang/ts-new-parser/enums.h similarity index 100% rename from tsc/ts-new-parser/enums.h rename to tslang/ts-new-parser/enums.h diff --git a/tsc/ts-new-parser/file_helper.h b/tslang/ts-new-parser/file_helper.h similarity index 100% rename from tsc/ts-new-parser/file_helper.h rename to tslang/ts-new-parser/file_helper.h diff --git a/tsc/ts-new-parser/incremental_parser.cpp b/tslang/ts-new-parser/incremental_parser.cpp similarity index 100% rename from tsc/ts-new-parser/incremental_parser.cpp rename to tslang/ts-new-parser/incremental_parser.cpp diff --git a/tsc/ts-new-parser/incremental_parser.h b/tslang/ts-new-parser/incremental_parser.h similarity index 100% rename from tsc/ts-new-parser/incremental_parser.h rename to tslang/ts-new-parser/incremental_parser.h diff --git a/tsc/ts-new-parser/node_factory.cpp b/tslang/ts-new-parser/node_factory.cpp similarity index 100% rename from tsc/ts-new-parser/node_factory.cpp rename to tslang/ts-new-parser/node_factory.cpp diff --git a/tsc/ts-new-parser/node_factory.h b/tslang/ts-new-parser/node_factory.h similarity index 100% rename from tsc/ts-new-parser/node_factory.h rename to tslang/ts-new-parser/node_factory.h diff --git a/tsc/ts-new-parser/node_test.h b/tslang/ts-new-parser/node_test.h similarity index 100% rename from tsc/ts-new-parser/node_test.h rename to tslang/ts-new-parser/node_test.h diff --git a/tsc/ts-new-parser/parenthesizer_rules.cpp b/tslang/ts-new-parser/parenthesizer_rules.cpp similarity index 100% rename from tsc/ts-new-parser/parenthesizer_rules.cpp rename to tslang/ts-new-parser/parenthesizer_rules.cpp diff --git a/tsc/ts-new-parser/parenthesizer_rules.h b/tslang/ts-new-parser/parenthesizer_rules.h similarity index 100% rename from tsc/ts-new-parser/parenthesizer_rules.h rename to tslang/ts-new-parser/parenthesizer_rules.h diff --git a/tsc/ts-new-parser/parser.cpp b/tslang/ts-new-parser/parser.cpp similarity index 100% rename from tsc/ts-new-parser/parser.cpp rename to tslang/ts-new-parser/parser.cpp diff --git a/tsc/ts-new-parser/parser.h b/tslang/ts-new-parser/parser.h similarity index 100% rename from tsc/ts-new-parser/parser.h rename to tslang/ts-new-parser/parser.h diff --git a/tsc/ts-new-parser/parser_fwd_types.h b/tslang/ts-new-parser/parser_fwd_types.h similarity index 100% rename from tsc/ts-new-parser/parser_fwd_types.h rename to tslang/ts-new-parser/parser_fwd_types.h diff --git a/tsc/ts-new-parser/parser_jdoc.cpp b/tslang/ts-new-parser/parser_jdoc.cpp similarity index 100% rename from tsc/ts-new-parser/parser_jdoc.cpp rename to tslang/ts-new-parser/parser_jdoc.cpp diff --git a/tsc/ts-new-parser/parser_jdoc.h b/tslang/ts-new-parser/parser_jdoc.h similarity index 100% rename from tsc/ts-new-parser/parser_jdoc.h rename to tslang/ts-new-parser/parser_jdoc.h diff --git a/tsc/ts-new-parser/parser_run.cpp b/tslang/ts-new-parser/parser_run.cpp similarity index 100% rename from tsc/ts-new-parser/parser_run.cpp rename to tslang/ts-new-parser/parser_run.cpp diff --git a/tsc/ts-new-parser/parser_types.h b/tslang/ts-new-parser/parser_types.h similarity index 100% rename from tsc/ts-new-parser/parser_types.h rename to tslang/ts-new-parser/parser_types.h diff --git a/tsc/ts-new-parser/scanner.cpp b/tslang/ts-new-parser/scanner.cpp similarity index 100% rename from tsc/ts-new-parser/scanner.cpp rename to tslang/ts-new-parser/scanner.cpp diff --git a/tsc/ts-new-parser/scanner.h b/tslang/ts-new-parser/scanner.h similarity index 100% rename from tsc/ts-new-parser/scanner.h rename to tslang/ts-new-parser/scanner.h diff --git a/tsc/ts-new-parser/scanner_enums.h b/tslang/ts-new-parser/scanner_enums.h similarity index 100% rename from tsc/ts-new-parser/scanner_enums.h rename to tslang/ts-new-parser/scanner_enums.h diff --git a/tsc/ts-new-parser/scanner_run.cpp b/tslang/ts-new-parser/scanner_run.cpp similarity index 100% rename from tsc/ts-new-parser/scanner_run.cpp rename to tslang/ts-new-parser/scanner_run.cpp diff --git a/tsc/ts-new-parser/types.h b/tslang/ts-new-parser/types.h similarity index 100% rename from tsc/ts-new-parser/types.h rename to tslang/ts-new-parser/types.h diff --git a/tsc/ts-new-parser/undefined.h b/tslang/ts-new-parser/undefined.h similarity index 100% rename from tsc/ts-new-parser/undefined.h rename to tslang/ts-new-parser/undefined.h diff --git a/tsc/ts-new-parser/utilities.h b/tslang/ts-new-parser/utilities.h similarity index 100% rename from tsc/ts-new-parser/utilities.h rename to tslang/ts-new-parser/utilities.h diff --git a/tsc/tsc.natvis b/tslang/tsc.natvis similarity index 100% rename from tsc/tsc.natvis rename to tslang/tsc.natvis diff --git a/tsc/tslang/.vscode/c_cpp_properties.json b/tslang/tslang/.vscode/c_cpp_properties.json similarity index 100% rename from tsc/tslang/.vscode/c_cpp_properties.json rename to tslang/tslang/.vscode/c_cpp_properties.json diff --git a/tsc/tslang/.vscode/launch.json b/tslang/tslang/.vscode/launch.json similarity index 100% rename from tsc/tslang/.vscode/launch.json rename to tslang/tslang/.vscode/launch.json diff --git a/tsc/tslang/.vscode/settings.json b/tslang/tslang/.vscode/settings.json similarity index 100% rename from tsc/tslang/.vscode/settings.json rename to tslang/tslang/.vscode/settings.json diff --git a/tsc/tslang/.vscode/tasks.json b/tslang/tslang/.vscode/tasks.json similarity index 100% rename from tsc/tslang/.vscode/tasks.json rename to tslang/tslang/.vscode/tasks.json diff --git a/tsc/tslang/CMakeLists.txt b/tslang/tslang/CMakeLists.txt similarity index 100% rename from tsc/tslang/CMakeLists.txt rename to tslang/tslang/CMakeLists.txt diff --git a/tsc/tslang/TextDiagnostic.cpp b/tslang/tslang/TextDiagnostic.cpp similarity index 100% rename from tsc/tslang/TextDiagnostic.cpp rename to tslang/tslang/TextDiagnostic.cpp diff --git a/tsc/tslang/TextDiagnosticPrinter.cpp b/tslang/tslang/TextDiagnosticPrinter.cpp similarity index 100% rename from tsc/tslang/TextDiagnosticPrinter.cpp rename to tslang/tslang/TextDiagnosticPrinter.cpp diff --git a/tsc/tslang/compile.cpp b/tslang/tslang/compile.cpp similarity index 100% rename from tsc/tslang/compile.cpp rename to tslang/tslang/compile.cpp diff --git a/tsc/tslang/declarationInline.cpp b/tslang/tslang/declarationInline.cpp similarity index 100% rename from tsc/tslang/declarationInline.cpp rename to tslang/tslang/declarationInline.cpp diff --git a/tsc/tslang/defaultlib.cpp b/tslang/tslang/defaultlib.cpp similarity index 100% rename from tsc/tslang/defaultlib.cpp rename to tslang/tslang/defaultlib.cpp diff --git a/tsc/tslang/dump.cpp b/tslang/tslang/dump.cpp similarity index 100% rename from tsc/tslang/dump.cpp rename to tslang/tslang/dump.cpp diff --git a/tsc/tslang/exe.cpp b/tslang/tslang/exe.cpp similarity index 100% rename from tsc/tslang/exe.cpp rename to tslang/tslang/exe.cpp diff --git a/tsc/tslang/jit.cpp b/tslang/tslang/jit.cpp similarity index 100% rename from tsc/tslang/jit.cpp rename to tslang/tslang/jit.cpp diff --git a/tsc/tslang/obj.cpp b/tslang/tslang/obj.cpp similarity index 100% rename from tsc/tslang/obj.cpp rename to tslang/tslang/obj.cpp diff --git a/tsc/tslang/opts.cpp b/tslang/tslang/opts.cpp similarity index 100% rename from tsc/tslang/opts.cpp rename to tslang/tslang/opts.cpp diff --git a/tsc/tslang/transform.cpp b/tslang/tslang/transform.cpp similarity index 100% rename from tsc/tslang/transform.cpp rename to tslang/tslang/transform.cpp diff --git a/tsc/tslang/tslang.cpp b/tslang/tslang/tslang.cpp similarity index 100% rename from tsc/tslang/tslang.cpp rename to tslang/tslang/tslang.cpp diff --git a/tsc/tslang/utils.cpp b/tslang/tslang/utils.cpp similarity index 100% rename from tsc/tslang/utils.cpp rename to tslang/tslang/utils.cpp diff --git a/tsc/tslang/vscode.cpp b/tslang/tslang/vscode.cpp similarity index 100% rename from tsc/tslang/vscode.cpp rename to tslang/tslang/vscode.cpp diff --git a/tsc/unittests/.vscode/settings.json b/tslang/unittests/.vscode/settings.json similarity index 100% rename from tsc/unittests/.vscode/settings.json rename to tslang/unittests/.vscode/settings.json diff --git a/tsc/unittests/CMakeLists.txt b/tslang/unittests/CMakeLists.txt similarity index 100% rename from tsc/unittests/CMakeLists.txt rename to tslang/unittests/CMakeLists.txt diff --git a/tsc/unittests/Example/CMakeLists.txt b/tslang/unittests/Example/CMakeLists.txt similarity index 100% rename from tsc/unittests/Example/CMakeLists.txt rename to tslang/unittests/Example/CMakeLists.txt diff --git a/tsc/unittests/Example/Example.cpp b/tslang/unittests/Example/Example.cpp similarity index 100% rename from tsc/unittests/Example/Example.cpp rename to tslang/unittests/Example/Example.cpp diff --git a/tsc/unittests/MLIRGen/CMakeLists.txt b/tslang/unittests/MLIRGen/CMakeLists.txt similarity index 100% rename from tsc/unittests/MLIRGen/CMakeLists.txt rename to tslang/unittests/MLIRGen/CMakeLists.txt diff --git a/tsc/unittests/MLIRGen/TypeToString.cpp b/tslang/unittests/MLIRGen/TypeToString.cpp similarity index 100% rename from tsc/unittests/MLIRGen/TypeToString.cpp rename to tslang/unittests/MLIRGen/TypeToString.cpp From d2ff2bdda201b23d979eee3aff3dfe72a574e5a8 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Tue, 30 Jun 2026 23:47:42 +0100 Subject: [PATCH 04/27] Rename references from 'tsc-new-parser' to 'ts-new-parser' in CMakeLists.txt files --- tslang/lib/TypeScript/CMakeLists.txt | 8 ++++---- tslang/test/print-tester/CMakeLists.txt | 6 +++--- tslang/ts-new-parser/CMakeLists.txt | 6 +++--- tslang/unittests/MLIRGen/CMakeLists.txt | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tslang/lib/TypeScript/CMakeLists.txt b/tslang/lib/TypeScript/CMakeLists.txt index 60c42e336..8e32dc4a5 100644 --- a/tslang/lib/TypeScript/CMakeLists.txt +++ b/tslang/lib/TypeScript/CMakeLists.txt @@ -3,11 +3,11 @@ message(STATUS ">>> lib >>> TypeScript") set_Options() include_directories( - ${PROJECT_SOURCE_DIR}/tsc-new-parser + ${PROJECT_SOURCE_DIR}/ts-new-parser ) link_directories( - ${PROJECT_SOURCE_DIR}/tsc-new-parser + ${PROJECT_SOURCE_DIR}/ts-new-parser ) add_mlir_dialect_library(MLIRTypeScript @@ -25,12 +25,12 @@ add_mlir_dialect_library(MLIRTypeScript DeclarationPrinter.cpp ADDITIONAL_HEADER_DIRS - ${PROJECT_SOURCE_DIR}/tsc-new-parser + ${PROJECT_SOURCE_DIR}/ts-new-parser DEPENDS MLIRTypeScriptOpsIncGen LINK_LIBS PUBLIC - tsc-new-parser-lib + ts-new-parser-lib MLIRIR ) diff --git a/tslang/test/print-tester/CMakeLists.txt b/tslang/test/print-tester/CMakeLists.txt index a341e4039..5b218d1f3 100644 --- a/tslang/test/print-tester/CMakeLists.txt +++ b/tslang/test/print-tester/CMakeLists.txt @@ -1,14 +1,14 @@ set_Options() include_directories( - ${PROJECT_SOURCE_DIR}/tsc-new-parser + ${PROJECT_SOURCE_DIR}/ts-new-parser ) link_directories( - ${PROJECT_SOURCE_DIR}/tsc-new-parser + ${PROJECT_SOURCE_DIR}/ts-new-parser ) -set (LIBS "${LIBS}" tsc-new-parser-lib) +set (LIBS "${LIBS}" ts-new-parser-lib) add_executable(printer-tester printer-tester.cpp) target_link_libraries(printer-tester PRIVATE ${LIBS}) diff --git a/tslang/ts-new-parser/CMakeLists.txt b/tslang/ts-new-parser/CMakeLists.txt index b378de2d4..94d622853 100644 --- a/tslang/ts-new-parser/CMakeLists.txt +++ b/tslang/ts-new-parser/CMakeLists.txt @@ -1,12 +1,12 @@ set_Options_With_FS() -add_library(tsc-new-parser-lib parser.cpp node_factory.cpp parenthesizer_rules.cpp scanner.cpp) +add_library(ts-new-parser-lib parser.cpp node_factory.cpp parenthesizer_rules.cpp scanner.cpp) add_executable(tslang-new-scanner scanner_run.cpp scanner.cpp) target_link_libraries(tslang-new-scanner PRIVATE ${LIBS}) -add_executable(tsc-new-parser parser_run.cpp parser.cpp node_factory.cpp parenthesizer_rules.cpp scanner.cpp) +add_executable(ts-new-parser parser_run.cpp parser.cpp node_factory.cpp parenthesizer_rules.cpp scanner.cpp) -target_link_libraries(tsc-new-parser PRIVATE ${LIBS}) +target_link_libraries(ts-new-parser PRIVATE ${LIBS}) diff --git a/tslang/unittests/MLIRGen/CMakeLists.txt b/tslang/unittests/MLIRGen/CMakeLists.txt index 916e4b10e..0bdaa5392 100644 --- a/tslang/unittests/MLIRGen/CMakeLists.txt +++ b/tslang/unittests/MLIRGen/CMakeLists.txt @@ -5,7 +5,7 @@ get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) target_include_directories(MLIRGenTests PRIVATE - ${PROJECT_SOURCE_DIR}/tsc-new-parser + ${PROJECT_SOURCE_DIR}/ts-new-parser ) target_link_libraries(MLIRGenTests From 81dc3338a12173a835bfe2e21df0e05b917a1c80 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 00:32:18 +0100 Subject: [PATCH 05/27] Refactor project structure and update include paths for TSLang --- tslang/include/.vscode/c_cpp_properties.json | 6 ++--- tslang/lib/.vscode/c_cpp_properties.json | 5 +++-- tslang/test/.vscode/c_cpp_properties.json | 3 ++- tslang/test/tester/test-runner.cpp | 4 ---- .../.vscode/c_cpp_properties.json | 12 +++++----- tslang/ts-new-parser/CMakeLists.txt | 4 ++-- tslang/tslang/.vscode/c_cpp_properties.json | 2 +- .../unittests/.vscode/c_cpp_properties.json | 22 +++++++++++++++++++ 8 files changed, 39 insertions(+), 19 deletions(-) create mode 100644 tslang/unittests/.vscode/c_cpp_properties.json diff --git a/tslang/include/.vscode/c_cpp_properties.json b/tslang/include/.vscode/c_cpp_properties.json index d9f4cb455..3bc63e201 100644 --- a/tslang/include/.vscode/c_cpp_properties.json +++ b/tslang/include/.vscode/c_cpp_properties.json @@ -6,9 +6,9 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", - "${workspaceFolder}/../../__build/tslang/windows-msbuild-debug/include", - "${workspaceFolder}/../tsc-new-parser", - "${workspaceFolder}" + "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/include", + "${workspaceFolder}/../ts-new-parser", + "${workspaceFolder}/../test/tester" ], "defines": [ "_DEBUG", diff --git a/tslang/lib/.vscode/c_cpp_properties.json b/tslang/lib/.vscode/c_cpp_properties.json index 9d6d0549f..8e48501c4 100644 --- a/tslang/lib/.vscode/c_cpp_properties.json +++ b/tslang/lib/.vscode/c_cpp_properties.json @@ -6,8 +6,9 @@ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", - "${workspaceFolder}/../../__build/tslang/windows-msbuild-debug/include", - "${workspaceFolder}/../tsc-new-parser" + "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/include", + "${workspaceFolder}/../ts-new-parser", + "${workspaceFolder}/../test/tester" ], "defines": [ "_DEBUG", diff --git a/tslang/test/.vscode/c_cpp_properties.json b/tslang/test/.vscode/c_cpp_properties.json index 589d8efc9..c622fa7ee 100644 --- a/tslang/test/.vscode/c_cpp_properties.json +++ b/tslang/test/.vscode/c_cpp_properties.json @@ -7,7 +7,8 @@ "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", "${workspaceFolder}/../../__build/tslang/windows-msbuild-2026-debug/include", - "${workspaceFolder}/../tsc-new-parser" + "${workspaceFolder}/../ts-new-parser", + "${workspaceFolder}/../test/tester" ], "defines": [ "_DEBUG", diff --git a/tslang/test/tester/test-runner.cpp b/tslang/test/tester/test-runner.cpp index 305f90152..bfccc4454 100644 --- a/tslang/test/tester/test-runner.cpp +++ b/tslang/test/tester/test-runner.cpp @@ -1,9 +1,5 @@ #include "helper.h" -#ifndef WIN32 -#include // for getpid -#endif - #if WIN32 #define GC_LIB "gc.lib " #else diff --git a/tslang/ts-new-parser/.vscode/c_cpp_properties.json b/tslang/ts-new-parser/.vscode/c_cpp_properties.json index 9d483bb0f..ef853a5a1 100644 --- a/tslang/ts-new-parser/.vscode/c_cpp_properties.json +++ b/tslang/ts-new-parser/.vscode/c_cpp_properties.json @@ -5,9 +5,9 @@ "includePath": [ "${workspaceFolder}/**", "${workspaceFolder}/../include", - "${workspaceFolder}/../../3rdParty/llvm/debug/include", - "${workspaceFolder}/../../__build/tslang/include", - "${workspaceFolder}/../tsc-new-parser" + "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", + "${workspaceFolder}/../../tslang/include", + "${workspaceFolder}/../ts-new-parser" ], "defines": [ "_DEBUG", @@ -22,7 +22,7 @@ }, { "name": "Linux", - "includePath": [ + "includePath": [ "${workspaceFolder}/**", "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/debug/include", @@ -32,13 +32,13 @@ "defines": [ "_DEBUG", "UNICODE", - "_UNICODE" + "_UNICODE" ], "compilerPath": "/usr/bin/gcc", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" - } + } ], "version": 4 } \ No newline at end of file diff --git a/tslang/ts-new-parser/CMakeLists.txt b/tslang/ts-new-parser/CMakeLists.txt index 94d622853..846f61863 100644 --- a/tslang/ts-new-parser/CMakeLists.txt +++ b/tslang/ts-new-parser/CMakeLists.txt @@ -2,9 +2,9 @@ set_Options_With_FS() add_library(ts-new-parser-lib parser.cpp node_factory.cpp parenthesizer_rules.cpp scanner.cpp) -add_executable(tslang-new-scanner scanner_run.cpp scanner.cpp) +add_executable(ts-new-scanner scanner_run.cpp scanner.cpp) -target_link_libraries(tslang-new-scanner PRIVATE ${LIBS}) +target_link_libraries(ts-new-scanner PRIVATE ${LIBS}) add_executable(ts-new-parser parser_run.cpp parser.cpp node_factory.cpp parenthesizer_rules.cpp scanner.cpp) diff --git a/tslang/tslang/.vscode/c_cpp_properties.json b/tslang/tslang/.vscode/c_cpp_properties.json index 1866cd927..ef853a5a1 100644 --- a/tslang/tslang/.vscode/c_cpp_properties.json +++ b/tslang/tslang/.vscode/c_cpp_properties.json @@ -7,7 +7,7 @@ "${workspaceFolder}/../include", "${workspaceFolder}/../../3rdParty/llvm/x64/debug/include", "${workspaceFolder}/../../tslang/include", - "${workspaceFolder}/../tsc-new-parser" + "${workspaceFolder}/../ts-new-parser" ], "defines": [ "_DEBUG", diff --git a/tslang/unittests/.vscode/c_cpp_properties.json b/tslang/unittests/.vscode/c_cpp_properties.json new file mode 100644 index 000000000..7af6a19c2 --- /dev/null +++ b/tslang/unittests/.vscode/c_cpp_properties.json @@ -0,0 +1,22 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "windowsSdkVersion": "10.0.26100.0", + "compilerPath": "cl.exe", + "cStandard": "c17", + "cppStandard": "c++17", + "intelliSenseMode": "windows-msvc-x64", + "configurationProvider": "ms-vscode.cmake-tools" + } + ], + "version": 4 +} \ No newline at end of file From e8467f73d2982ea70e24a146666946f1ebbf4791 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 00:47:09 +0100 Subject: [PATCH 06/27] Rename references from 'tsnc' to 'tslang' in Files.h and vscode.cpp --- tslang/include/TypeScript/VSCodeTemplate/Files.h | 8 ++++---- tslang/tslang/vscode.cpp | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index 039d29c13..858536621 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -1,4 +1,4 @@ -#define NODE_MODULE_TSNC_PATH "node_modules/tsnc" +#define NODE_MODULE_TSLANG_PATH "node_modules/tslang" #define DOT_VSCODE_PATH ".vscode" const auto TSCONFIG_JSON_DATA = R"raw( @@ -17,14 +17,14 @@ const auto TSCONFIG_JSON_DATA = R"raw( "isolatedModules": true, "jsx": "preserve", "incremental": true, - "types": ["tsnc"] + "types": ["tslang"] }, "include": ["<>.ts"], "exclude": ["node_modules"] } )raw"; -const auto TSNC_INDEX_D_TS = R"raw( +const auto TSLANG_INDEX_D_TS = R"raw( declare function print(...args: any[]) : void; declare function assert(cond: boolean, msg?: string) : void; declare type byte = any; @@ -301,7 +301,7 @@ const auto LAUNCH_JSON_DATA_LINUX = R"raw( } )raw"; -const auto TSNC_NATVIS = R"raw( +const auto TSLANG_NATVIS = R"raw( diff --git a/tslang/tslang/vscode.cpp b/tslang/tslang/vscode.cpp index dabfbc132..c8dee4461 100644 --- a/tslang/tslang/vscode.cpp +++ b/tslang/tslang/vscode.cpp @@ -65,7 +65,7 @@ int createVSCodeFolder(int argc, char **argv) return -1; } - if (auto error_code = create_file_base("tsnc.natvis", TSNC_NATVIS)) + if (auto error_code = create_file_base("tslang.natvis", TSLANG_NATVIS)) { return -1; } @@ -90,19 +90,19 @@ int createVSCodeFolder(int argc, char **argv) } // node_modules - if (auto error_code = fs::create_directories(NODE_MODULE_TSNC_PATH)) + if (auto error_code = fs::create_directories(NODE_MODULE_TSLANG_PATH)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Could not create folder/directory '" << NODE_MODULE_TSNC_PATH << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Could not create folder/directory '" << NODE_MODULE_TSLANG_PATH << "' : " << error_code.message() << "\n"; return -1; } - if (auto error_code = fs::set_current_path(NODE_MODULE_TSNC_PATH)) + if (auto error_code = fs::set_current_path(NODE_MODULE_TSLANG_PATH)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << NODE_MODULE_TSNC_PATH << "' : " << error_code.message() << "\n"; + llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << NODE_MODULE_TSLANG_PATH << "' : " << error_code.message() << "\n"; return -1; } - if (auto error_code = create_file_base("index.d.ts", TSNC_INDEX_D_TS)) + if (auto error_code = create_file_base("index.d.ts", TSLANG_INDEX_D_TS)) { return -1; } From 282429b3249e44f71a7052dce4fb032360f45062 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 00:49:13 +0100 Subject: [PATCH 07/27] Refactor vscode.cpp to use 'string' instead of 'std::string' for consistency --- tslang/tslang/vscode.cpp | 59 ++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/tslang/tslang/vscode.cpp b/tslang/tslang/vscode.cpp index c8dee4461..c4efa546c 100644 --- a/tslang/tslang/vscode.cpp +++ b/tslang/tslang/vscode.cpp @@ -22,39 +22,40 @@ using namespace typescript; using namespace llvm; +using namespace std; namespace cl = llvm::cl; namespace fs = llvm::sys::fs; namespace path = llvm::sys::path; -extern cl::opt inputFilename; +extern cl::opt inputFilename; int create_file_base(StringRef filepath, StringRef data); int substitute(StringRef data, StringMap &values, SmallString<128> &result); -std::string getExecutablePath(const char *); -std::string getGCLibPath(); -std::string getLLVMLibPath(); -std::string getTslangLibPath(); -std::string getDefaultLibPath(); -std::string fixpath(std::string, const SmallVectorImpl&); +string getExecutablePath(const char *); +string getGCLibPath(); +string getLLVMLibPath(); +string getTslangLibPath(); +string getDefaultLibPath(); +string fixpath(string, const SmallVectorImpl&); int createVSCodeFolder(int argc, char **argv) { - auto projectName = llvm::StringRef(inputFilename); + auto projectName = StringRef(inputFilename); if (projectName == "-") { - llvm::WithColor::error(llvm::errs(), "tslang") << "Name is not provided. (use file name without file extension)\n"; + WithColor::error(errs(), "tslang") << "Name is not provided. (use file name without file extension)\n"; return -1; } if (auto error_code = fs::create_directory(projectName)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Could not create project: " << error_code.message() << "\n"; + WithColor::error(errs(), "tslang") << "Could not create project: " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::set_current_path(projectName)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory: " << error_code.message() << "\n"; + WithColor::error(errs(), "tslang") << "Can't open folder/directory: " << error_code.message() << "\n"; return -1; } @@ -85,20 +86,20 @@ int createVSCodeFolder(int argc, char **argv) SmallString<128> projectPath; if (auto error_code = fs::current_path(projectPath)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Can't get info about current folder: " << error_code.message() << "\n"; + WithColor::error(errs(), "tslang") << "Can't get info about current folder: " << error_code.message() << "\n"; return -1; } // node_modules if (auto error_code = fs::create_directories(NODE_MODULE_TSLANG_PATH)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Could not create folder/directory '" << NODE_MODULE_TSLANG_PATH << "' : " << error_code.message() << "\n"; + WithColor::error(errs(), "tslang") << "Could not create folder/directory '" << NODE_MODULE_TSLANG_PATH << "' : " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::set_current_path(NODE_MODULE_TSLANG_PATH)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << NODE_MODULE_TSLANG_PATH << "' : " << error_code.message() << "\n"; + WithColor::error(errs(), "tslang") << "Can't open folder/directory '" << NODE_MODULE_TSLANG_PATH << "' : " << error_code.message() << "\n"; return -1; } @@ -110,19 +111,19 @@ int createVSCodeFolder(int argc, char **argv) // need to create .vscode if (auto error_code = fs::set_current_path(projectPath)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << projectPath << "' : " << error_code.message() << "\n"; + WithColor::error(errs(), "tslang") << "Can't open folder/directory '" << projectPath << "' : " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::create_directory(DOT_VSCODE_PATH)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Could not create folder/directory '" << DOT_VSCODE_PATH << "' : " << error_code.message() << "\n"; + WithColor::error(errs(), "tslang") << "Could not create folder/directory '" << DOT_VSCODE_PATH << "' : " << error_code.message() << "\n"; return -1; } if (auto error_code = fs::set_current_path(DOT_VSCODE_PATH)) { - llvm::WithColor::error(llvm::errs(), "tslang") << "Can't open folder/directory '" << DOT_VSCODE_PATH << "' : " << error_code.message() << "\n"; + WithColor::error(errs(), "tslang") << "Can't open folder/directory '" << DOT_VSCODE_PATH << "' : " << error_code.message() << "\n"; return -1; } @@ -133,10 +134,10 @@ int createVSCodeFolder(int argc, char **argv) // set params - llvm::SmallVector args(argv, argv + 1); + SmallVector args(argv, argv + 1); auto driverPath = getExecutablePath(args[0]); - llvm::SmallVector appPath{}; + SmallVector appPath{}; appPath.append(driverPath.begin(), driverPath.end()); path::remove_filename(appPath); @@ -181,8 +182,8 @@ int createVSCodeFolder(int argc, char **argv) int create_file_base(StringRef filepath, StringRef data) { - std::error_code ec; - llvm::ToolOutputFile out(filepath, ec, + error_code ec; + ToolOutputFile out(filepath, ec, #ifdef WIN32 fs::OpenFlags::OF_TextWithCRLF #else @@ -199,22 +200,22 @@ int create_file_base(StringRef filepath, StringRef data) if (out.os().has_error()) { - llvm::report_fatal_error(llvm::Twine("Error emitting data to file '") + filepath); + report_fatal_error(Twine("Error emitting data to file '") + filepath); return -1; } return 0; } -std::regex paramsRegEx = std::regex(R"(<<(.*?)>>)", std::regex_constants::ECMAScript); +regex paramsRegEx = regex(R"(<<(.*?)>>)", regex_constants::ECMAScript); int substitute(StringRef data, StringMap &values, SmallString<128> &result) { auto str = data.str(); - auto begin = std::sregex_iterator(str.begin(), str.end(), paramsRegEx); - auto end = std::sregex_iterator(); + auto begin = sregex_iterator(str.begin(), str.end(), paramsRegEx); + auto end = sregex_iterator(); - std::string suffix; + string suffix; for (auto it = begin; it != end; it++) { auto match = *it; @@ -228,15 +229,15 @@ int substitute(StringRef data, StringMap &values, SmallString<128> &r return 0; } -std::string fixpath(std::string path, const SmallVectorImpl& defaultPath) +string fixpath(string path, const SmallVectorImpl& defaultPath) { if (path.empty()) { - path = std::string(defaultPath.begin(), defaultPath.end()); + path = string(defaultPath.begin(), defaultPath.end()); } #ifdef WIN32 - std::string output; + string output; output.reserve(path.size()); for (const auto c: path) { switch (c) { From db0b51ddb2f12ad5e92f07be6f8e41f7a299959e Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 01:02:09 +0100 Subject: [PATCH 08/27] Add initial CMake project structure and hello.ts example for TSLang --- docs/how/hello-cmake/CMakeLists.txt | 19 +++++ docs/how/hello-cmake/README.md | 60 ++++++++++++++++ docs/how/hello-cmake/cmake/TSLang.cmake | 95 +++++++++++++++++++++++++ docs/how/hello-cmake/src/hello.ts | 3 + 4 files changed, 177 insertions(+) create mode 100644 docs/how/hello-cmake/CMakeLists.txt create mode 100644 docs/how/hello-cmake/README.md create mode 100644 docs/how/hello-cmake/cmake/TSLang.cmake create mode 100644 docs/how/hello-cmake/src/hello.ts diff --git a/docs/how/hello-cmake/CMakeLists.txt b/docs/how/hello-cmake/CMakeLists.txt new file mode 100644 index 000000000..0614497f9 --- /dev/null +++ b/docs/how/hello-cmake/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.20) + +project(hello_tslang LANGUAGES NONE) + +# Make the add_ts_executable() helper available. +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") +include(TSLang) + +# Compile src/hello.ts into a native "hello" executable using tslang. +add_ts_executable(hello + "${CMAKE_CURRENT_SOURCE_DIR}/src/hello.ts" + OUTPUT_NAME hello) + +# Convenience target: cmake --build . --target run +add_custom_target(run + COMMAND "$" + DEPENDS hello + USES_TERMINAL + COMMENT "Running hello") diff --git a/docs/how/hello-cmake/README.md b/docs/how/hello-cmake/README.md new file mode 100644 index 000000000..da15bf8b1 --- /dev/null +++ b/docs/how/hello-cmake/README.md @@ -0,0 +1,60 @@ +# Hello World — TSLang + CMake + +A minimal CMake project that uses the [`tslang`](../../README.md) native +TypeScript compiler to build a `*.ts` file into a native executable. + +``` +hello-cmake/ +├── CMakeLists.txt # top-level project, calls add_ts_executable() +├── cmake/TSLang.cmake # reusable helper: teaches CMake to compile *.ts +└── src/hello.ts # the program +``` + +## Prerequisites + +You need a **built** TypeScriptCompiler tree (the `__build` folder produced by +`build_tslang_release.bat` / `.sh`). The helper derives all library paths from +its location. + +## Configure & build + +Point CMake at your `__build` folder via `TSLANG_ROOT`: + +```bat +cd examples\hello-cmake +cmake -DTSLANG_ROOT=C:/dev/TypeScriptCompiler/__build -B build +cmake --build build +``` + +If your layout differs, override paths individually instead of `TSLANG_ROOT`: + +```bat +cmake -B build ^ + -DTSLANG_EXECUTABLE=C:/path/to/tslang.exe ^ + -DTSLANG_LIB_PATH=C:/path/to/tslang/lib ^ + -DLLVM_LIB_PATH=C:/path/to/llvm/lib ^ + -DGC_LIB_PATH=C:/path/to/gc +``` + +## Run + +```bat +cmake --build build --target run +``` + +Expected output: + +```text +Hello World! +``` + +## Using the helper in your own project + +```cmake +include(TSLang) + +add_ts_executable(myapp + src/main.ts + OUTPUT_NAME myapp + OPTIONS --di --opt_level=0) # any extra tslang flags +``` diff --git a/docs/how/hello-cmake/cmake/TSLang.cmake b/docs/how/hello-cmake/cmake/TSLang.cmake new file mode 100644 index 000000000..d14b6d533 --- /dev/null +++ b/docs/how/hello-cmake/cmake/TSLang.cmake @@ -0,0 +1,95 @@ +# TSLang.cmake +# ---------------------------------------------------------------------------- +# Helper module that teaches CMake how to compile TypeScript (*.ts) sources to +# native executables with the `tslang` compiler. +# +# It exposes a single function: +# +# add_ts_executable( [ ...] +# [OUTPUT_NAME ] +# [OPTIONS ]) +# +# Configure the paths below either on the cmake command line, e.g. +# +# cmake -DTSLANG_ROOT=C:/dev/TypeScriptCompiler/__build -B build +# +# or via the cache variables in CMakeLists.txt. +# ---------------------------------------------------------------------------- + +# --- Locate the tslang toolchain -------------------------------------------- + +# Root of a built TypeScriptCompiler tree (the `__build` folder). Used to derive +# sensible defaults for the individual paths if they are not set explicitly. +set(TSLANG_ROOT "" CACHE PATH "Root of the built TypeScriptCompiler tree (the __build folder)") + +if(WIN32) + set(_tslang_default_bin "${TSLANG_ROOT}/tslang/windows-msbuild-release/bin") + set(_tslang_default_lib "${TSLANG_ROOT}/tslang/windows-msbuild-release/lib") + set(_tslang_default_llvm "${TSLANG_ROOT}/llvm/msbuild/x64/release/Release/lib") + set(_tslang_default_gc "${TSLANG_ROOT}/gc/msbuild/x64/release/Release") +else() + set(_tslang_default_bin "${TSLANG_ROOT}/tslang/linux-ninja-gcc-release/bin") + set(_tslang_default_lib "${TSLANG_ROOT}/tslang/linux-ninja-gcc-release/lib") + set(_tslang_default_llvm "${TSLANG_ROOT}/llvm/release/lib") + set(_tslang_default_gc "${TSLANG_ROOT}/gc/release") +endif() + +find_program(TSLANG_EXECUTABLE + NAMES tslang + HINTS "${_tslang_default_bin}" + DOC "Path to the tslang compiler executable") + +set(TSLANG_LIB_PATH "${_tslang_default_lib}" CACHE PATH "Folder with the TSLANG runtime libraries") +set(LLVM_LIB_PATH "${_tslang_default_llvm}" CACHE PATH "Folder with the LLVM/MLIR libraries") +set(GC_LIB_PATH "${_tslang_default_gc}" CACHE PATH "Folder with the Boehm GC library") + +if(NOT TSLANG_EXECUTABLE) + message(FATAL_ERROR + "tslang compiler not found.\n" + "Set -DTSLANG_ROOT= " + "or -DTSLANG_EXECUTABLE=.") +endif() + +# --- The public helper ------------------------------------------------------- + +function(add_ts_executable target) + cmake_parse_arguments(ARG "" "OUTPUT_NAME" "OPTIONS" ${ARGN}) + + set(sources ${ARG_UNPARSED_ARGUMENTS}) + if(NOT sources) + message(FATAL_ERROR "add_ts_executable(${target}): no .ts source files given") + endif() + + if(ARG_OUTPUT_NAME) + set(out_name "${ARG_OUTPUT_NAME}") + else() + set(out_name "${target}") + endif() + + set(out_exe "${CMAKE_CURRENT_BINARY_DIR}/${out_name}${CMAKE_EXECUTABLE_SUFFIX}") + + # tslang places its output next to the input by default; we point it at the + # build directory with -o and let it emit a native executable. + list(GET sources 0 main_source) + get_filename_component(main_source_abs "${main_source}" ABSOLUTE) + + add_custom_command( + OUTPUT "${out_exe}" + COMMAND ${CMAKE_COMMAND} -E env + "GC_LIB_PATH=${GC_LIB_PATH}" + "LLVM_LIB_PATH=${LLVM_LIB_PATH}" + "TSLANG_LIB_PATH=${TSLANG_LIB_PATH}" + "TSLANGEXEPATH=${_tslang_default_bin}" + "${TSLANG_EXECUTABLE}" + --emit=exe --opt + ${ARG_OPTIONS} + -o "${out_exe}" + "${main_source_abs}" + DEPENDS ${sources} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + COMMENT "Compiling TypeScript ${main_source} -> ${out_name}${CMAKE_EXECUTABLE_SUFFIX}" + VERBATIM) + + add_custom_target(${target} ALL DEPENDS "${out_exe}") + set_target_properties(${target} PROPERTIES TS_OUTPUT "${out_exe}") +endfunction() diff --git a/docs/how/hello-cmake/src/hello.ts b/docs/how/hello-cmake/src/hello.ts new file mode 100644 index 000000000..04c6f580d --- /dev/null +++ b/docs/how/hello-cmake/src/hello.ts @@ -0,0 +1,3 @@ +function main() { + print("Hello World!"); +} From d88e0f1df0d3f6c60bd216823d267db7a1afb67b Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 15:08:50 +0100 Subject: [PATCH 09/27] Add TSLang and FOO custom language support with CMake integration --- docs/how/cmake_tslang/CMakeLists.txt | 15 +++++ docs/how/cmake_tslang/README.md | 56 +++++++++++++++++++ .../cmake/CMakeDetermineTSLANGCompiler.cmake | 17 ++++++ .../cmake/CMakeTSLANGCompiler.cmake.in | 5 ++ .../cmake/CMakeTSLANGInformation.cmake | 20 +++++++ .../cmake/CMakeTestTSLANGCompiler.cmake | 2 + docs/how/cmake_tslang/main.cpp | 12 ++++ docs/how/cmake_tslang/mycode.ts | 12 ++++ docs/how/custom_lang/CMakeLists.txt | 15 +++++ docs/how/custom_lang/README.md | 56 +++++++++++++++++++ .../cmake/CMakeDetermineFOOCompiler.cmake | 17 ++++++ .../cmake/CMakeFOOCompiler.cmake.in | 5 ++ .../cmake/CMakeFOOInformation.cmake | 20 +++++++ .../cmake/CMakeTestFOOCompiler.cmake | 2 + docs/how/custom_lang/main.cpp | 12 ++++ docs/how/custom_lang/mycode.foo | 12 ++++ 16 files changed, 278 insertions(+) create mode 100644 docs/how/cmake_tslang/CMakeLists.txt create mode 100644 docs/how/cmake_tslang/README.md create mode 100644 docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake create mode 100644 docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in create mode 100644 docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake create mode 100644 docs/how/cmake_tslang/cmake/CMakeTestTSLANGCompiler.cmake create mode 100644 docs/how/cmake_tslang/main.cpp create mode 100644 docs/how/cmake_tslang/mycode.ts create mode 100644 docs/how/custom_lang/CMakeLists.txt create mode 100644 docs/how/custom_lang/README.md create mode 100644 docs/how/custom_lang/cmake/CMakeDetermineFOOCompiler.cmake create mode 100644 docs/how/custom_lang/cmake/CMakeFOOCompiler.cmake.in create mode 100644 docs/how/custom_lang/cmake/CMakeFOOInformation.cmake create mode 100644 docs/how/custom_lang/cmake/CMakeTestFOOCompiler.cmake create mode 100644 docs/how/custom_lang/main.cpp create mode 100644 docs/how/custom_lang/mycode.foo diff --git a/docs/how/cmake_tslang/CMakeLists.txt b/docs/how/cmake_tslang/CMakeLists.txt new file mode 100644 index 000000000..fe1f430b6 --- /dev/null +++ b/docs/how/cmake_tslang/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.20) + +# Make CMake find your custom-language modules +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +project(Demo CXX) + +# Enable TS-language +enable_language(TSLANG) + +# .ts files compile with TSLANG command; .cpp with the C++ compiler. +add_executable(app + main.cpp + mycode.ts +) diff --git a/docs/how/cmake_tslang/README.md b/docs/how/cmake_tslang/README.md new file mode 100644 index 000000000..d40e809d1 --- /dev/null +++ b/docs/how/cmake_tslang/README.md @@ -0,0 +1,56 @@ +# Custom language with your own extension and compile command in CMake + +This example registers a brand-new CMake *language* (`TSLANG`) that: + +- owns its own source extension (`.ts`), +- is built with **tslang compile command**, +- produces `.obj` files that CMake links automatically alongside regular C++. + +CMake then handles dependency tracking and incremental builds for `.tslang` +sources the same way it does for `.cpp`. + +## Layout + +``` +custom_lang/ +├── CMakeLists.txt +├── cmake/ +│ ├── CMakeDetermineTSLANGCompiler.cmake +│ ├── CMakeTSLANGCompiler.cmake.in +│ ├── CMakeTSLANGInformation.cmake +│ └── CMakeTestTSLANGCompiler.cmake +├── main.cpp +└── mycode.ts +``` + +## How it works + +- `enable_language(TSLANG)` runs `CMakeDetermineTSLANGCompiler.cmake`, which finds + `tslangc`, then loads `CMakeTSLANGInformation.cmake`, which registers the compile + rule (`CMAKE_TSLANG_COMPILE_OBJECT` — *your command*). +- Because `CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS` contains `tslang`, any `.ts` source + is routed to your command and compiled to a `.obj`. +- That `.obj` is added to the target and linked with `main.cpp`'s object using + the C++ linker (`CMAKE_TSLANG_LINK_EXECUTABLE`). +- Change `mycode.ts` and only it recompiles. + +## Passing flags + +```cmake +set(CMAKE_TSLANG_FLAGS "--opt-level=2") # global +set_source_files_properties(mycode.tslang PROPERTIES + COMPILE_OPTIONS "--define;TSLANG=1") # per-file +``` + +## Minimal alternative + +If you don't need a first-class language, either: + +- Mark a file as an already-built object and just link it: + `set_source_files_properties(mycode.obj PROPERTIES EXTERNAL_OBJECT TRUE GENERATED TRUE)` + and add it to `add_executable`, producing it with `add_custom_command`; or +- Compile a differently-named file *as C++*: + `set_source_files_properties(mycode.tslang PROPERTIES LANGUAGE CXX)`. + +Use the typescript-language setup below when `.ts` is a source type you +compile often and want CMake to treat as first-class. diff --git a/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake b/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake new file mode 100644 index 000000000..8020d4690 --- /dev/null +++ b/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake @@ -0,0 +1,17 @@ +# Locate your custom compiler +find_program(CMAKE_TSLANG_COMPILER + NAMES tslang tslang.exe + HINTS "${CMAKE_SOURCE_DIR}/tools" + DOC "TSLANG compiler") + +mark_as_advanced(CMAKE_TSLANG_COMPILER) + +# Which source extensions belong to TSLANG, and the object suffix +set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS ts) +set(CMAKE_TSLANG_OUTPUT_EXTENSION .obj) # .o on Linux +set(CMAKE_TSLANG_COMPILER_ENV_VAR "TSLANG") + +# Emit the compiler-id config file CMake expects +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/CMakeTSLANGCompiler.cmake.in + ${CMAKE_PLATFORM_INFO_DIR}/CMakeTSLANGCompiler.cmake @ONLY) diff --git a/docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in b/docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in new file mode 100644 index 000000000..45fe63448 --- /dev/null +++ b/docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in @@ -0,0 +1,5 @@ +set(CMAKE_TSLANG_COMPILER "@CMAKE_TSLANG_COMPILER@") +set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS @CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS@) +set(CMAKE_TSLANG_OUTPUT_EXTENSION @CMAKE_TSLANG_OUTPUT_EXTENSION@) +set(CMAKE_TSLANG_COMPILER_LOADED 1) +set(CMAKE_TSLANG_COMPILER_WORKS TRUE) diff --git a/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake b/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake new file mode 100644 index 000000000..89ef05734 --- /dev/null +++ b/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake @@ -0,0 +1,20 @@ +# The actual compile command. +# Placeholders CMake substitutes: +# the binary +# per-target flags +# input .ts +# output .obj +# optional +if(NOT CMAKE_TSLANG_COMPILE_OBJECT) + set(CMAKE_TSLANG_COMPILE_OBJECT + " --output ") +endif() + +# How CMake links TSLANG objects into an executable/library. +# Reuse the C++ linker so linking with .cpp works out of the box. +if(NOT CMAKE_TSLANG_LINK_EXECUTABLE) + set(CMAKE_TSLANG_LINK_EXECUTABLE + " -o ") +endif() + +set(CMAKE_TSLANG_INFORMATION_LOADED 1) diff --git a/docs/how/cmake_tslang/cmake/CMakeTestTSLANGCompiler.cmake b/docs/how/cmake_tslang/cmake/CMakeTestTSLANGCompiler.cmake new file mode 100644 index 000000000..8aca6675d --- /dev/null +++ b/docs/how/cmake_tslang/cmake/CMakeTestTSLANGCompiler.cmake @@ -0,0 +1,2 @@ +# Skip the actual test compile; assume the compiler works. +set(CMAKE_TSLANG_COMPILER_WORKS TRUE) diff --git a/docs/how/cmake_tslang/main.cpp b/docs/how/cmake_tslang/main.cpp new file mode 100644 index 000000000..b5ed9332d --- /dev/null +++ b/docs/how/cmake_tslang/main.cpp @@ -0,0 +1,12 @@ +// Declare the symbols your .foo object exports. +// Use extern "C" so names match your compiler's output (no C++ mangling). +extern "C" int foo_add(int a, int b); +extern "C" void foo_hello(void); + +#include + +int main() { + foo_hello(); + std::printf("foo_add(2,3) = %d\n", foo_add(2, 3)); + return 0; +} diff --git a/docs/how/cmake_tslang/mycode.ts b/docs/how/cmake_tslang/mycode.ts new file mode 100644 index 000000000..a8fb8ab9e --- /dev/null +++ b/docs/how/cmake_tslang/mycode.ts @@ -0,0 +1,12 @@ +// Example source in your custom language. +// Your `fooc` compiler turns this into mycode.obj, which CMake links +// with main.cpp. Replace with real FOO syntax; the symbols exported +// must match the extern "C" declarations in main.cpp. + +export function foo_add(a, b) { + return a + b; +} + +export function foo_hello() { + print("hello from foo"); +} diff --git a/docs/how/custom_lang/CMakeLists.txt b/docs/how/custom_lang/CMakeLists.txt new file mode 100644 index 000000000..467610062 --- /dev/null +++ b/docs/how/custom_lang/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.20) + +# Make CMake find your custom-language modules +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +project(Demo CXX) + +# Enable your custom language (runs the Determine/Information modules) +enable_language(FOO) + +# .foo files compile with YOUR command; .cpp with the C++ compiler. +add_executable(app + main.cpp + mycode.foo +) diff --git a/docs/how/custom_lang/README.md b/docs/how/custom_lang/README.md new file mode 100644 index 000000000..c10ef7edf --- /dev/null +++ b/docs/how/custom_lang/README.md @@ -0,0 +1,56 @@ +# Custom language with your own extension and compile command in CMake + +This example registers a brand-new CMake *language* (`FOO`) that: + +- owns its own source extension (`.foo`), +- is built with **your own compile command**, +- produces `.obj` files that CMake links automatically alongside regular C++. + +CMake then handles dependency tracking and incremental builds for `.foo` +sources the same way it does for `.cpp`. + +## Layout + +``` +custom_lang/ +├── CMakeLists.txt +├── cmake/ +│ ├── CMakeDetermineFOOCompiler.cmake +│ ├── CMakeFOOCompiler.cmake.in +│ ├── CMakeFOOInformation.cmake +│ └── CMakeTestFOOCompiler.cmake +├── main.cpp +└── mycode.foo +``` + +## How it works + +- `enable_language(FOO)` runs `CMakeDetermineFOOCompiler.cmake`, which finds + `fooc`, then loads `CMakeFOOInformation.cmake`, which registers the compile + rule (`CMAKE_FOO_COMPILE_OBJECT` — *your command*). +- Because `CMAKE_FOO_SOURCE_FILE_EXTENSIONS` contains `foo`, any `.foo` source + is routed to your command and compiled to a `.obj`. +- That `.obj` is added to the target and linked with `main.cpp`'s object using + the C++ linker (`CMAKE_FOO_LINK_EXECUTABLE`). +- Change `mycode.foo` and only it recompiles. + +## Passing flags + +```cmake +set(CMAKE_FOO_FLAGS "--opt-level=2") # global +set_source_files_properties(mycode.foo PROPERTIES + COMPILE_OPTIONS "--define;FOO=1") # per-file +``` + +## Minimal alternative + +If you don't need a first-class language, either: + +- Mark a file as an already-built object and just link it: + `set_source_files_properties(mycode.obj PROPERTIES EXTERNAL_OBJECT TRUE GENERATED TRUE)` + and add it to `add_executable`, producing it with `add_custom_command`; or +- Compile a differently-named file *as C++*: + `set_source_files_properties(mycode.foo PROPERTIES LANGUAGE CXX)`. + +Use the full custom-language setup below when `.foo` is a source type you +compile often and want CMake to treat as first-class. diff --git a/docs/how/custom_lang/cmake/CMakeDetermineFOOCompiler.cmake b/docs/how/custom_lang/cmake/CMakeDetermineFOOCompiler.cmake new file mode 100644 index 000000000..c6f2ef6f2 --- /dev/null +++ b/docs/how/custom_lang/cmake/CMakeDetermineFOOCompiler.cmake @@ -0,0 +1,17 @@ +# Locate your custom compiler +find_program(CMAKE_FOO_COMPILER + NAMES fooc fooc.exe + HINTS "${CMAKE_SOURCE_DIR}/tools" + DOC "Custom FOO compiler") + +mark_as_advanced(CMAKE_FOO_COMPILER) + +# Which source extensions belong to FOO, and the object suffix +set(CMAKE_FOO_SOURCE_FILE_EXTENSIONS foo) +set(CMAKE_FOO_OUTPUT_EXTENSION .obj) # .o on Linux +set(CMAKE_FOO_COMPILER_ENV_VAR "FOOC") + +# Emit the compiler-id config file CMake expects +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/CMakeFOOCompiler.cmake.in + ${CMAKE_PLATFORM_INFO_DIR}/CMakeFOOCompiler.cmake @ONLY) diff --git a/docs/how/custom_lang/cmake/CMakeFOOCompiler.cmake.in b/docs/how/custom_lang/cmake/CMakeFOOCompiler.cmake.in new file mode 100644 index 000000000..30ac96e4c --- /dev/null +++ b/docs/how/custom_lang/cmake/CMakeFOOCompiler.cmake.in @@ -0,0 +1,5 @@ +set(CMAKE_FOO_COMPILER "@CMAKE_FOO_COMPILER@") +set(CMAKE_FOO_SOURCE_FILE_EXTENSIONS @CMAKE_FOO_SOURCE_FILE_EXTENSIONS@) +set(CMAKE_FOO_OUTPUT_EXTENSION @CMAKE_FOO_OUTPUT_EXTENSION@) +set(CMAKE_FOO_COMPILER_LOADED 1) +set(CMAKE_FOO_COMPILER_WORKS TRUE) diff --git a/docs/how/custom_lang/cmake/CMakeFOOInformation.cmake b/docs/how/custom_lang/cmake/CMakeFOOInformation.cmake new file mode 100644 index 000000000..044ac9feb --- /dev/null +++ b/docs/how/custom_lang/cmake/CMakeFOOInformation.cmake @@ -0,0 +1,20 @@ +# The actual compile command. +# Placeholders CMake substitutes: +# the binary +# per-target flags +# input .foo +# output .obj +# optional +if(NOT CMAKE_FOO_COMPILE_OBJECT) + set(CMAKE_FOO_COMPILE_OBJECT + " --output ") +endif() + +# How CMake links FOO objects into an executable/library. +# Reuse the C++ linker so linking with .cpp works out of the box. +if(NOT CMAKE_FOO_LINK_EXECUTABLE) + set(CMAKE_FOO_LINK_EXECUTABLE + " -o ") +endif() + +set(CMAKE_FOO_INFORMATION_LOADED 1) diff --git a/docs/how/custom_lang/cmake/CMakeTestFOOCompiler.cmake b/docs/how/custom_lang/cmake/CMakeTestFOOCompiler.cmake new file mode 100644 index 000000000..7c5fcc935 --- /dev/null +++ b/docs/how/custom_lang/cmake/CMakeTestFOOCompiler.cmake @@ -0,0 +1,2 @@ +# Skip the actual test compile; assume the compiler works. +set(CMAKE_FOO_COMPILER_WORKS TRUE) diff --git a/docs/how/custom_lang/main.cpp b/docs/how/custom_lang/main.cpp new file mode 100644 index 000000000..b5ed9332d --- /dev/null +++ b/docs/how/custom_lang/main.cpp @@ -0,0 +1,12 @@ +// Declare the symbols your .foo object exports. +// Use extern "C" so names match your compiler's output (no C++ mangling). +extern "C" int foo_add(int a, int b); +extern "C" void foo_hello(void); + +#include + +int main() { + foo_hello(); + std::printf("foo_add(2,3) = %d\n", foo_add(2, 3)); + return 0; +} diff --git a/docs/how/custom_lang/mycode.foo b/docs/how/custom_lang/mycode.foo new file mode 100644 index 000000000..7250ef592 --- /dev/null +++ b/docs/how/custom_lang/mycode.foo @@ -0,0 +1,12 @@ +// Example source in your custom language. +// Your `fooc` compiler turns this into mycode.obj, which CMake links +// with main.cpp. Replace with real FOO syntax; the symbols exported +// must match the extern "C" declarations in main.cpp. + +export foo_add(a, b) { + return a + b; +} + +export foo_hello() { + print("hello from foo"); +} From dd665d525a1ea9e65f1370106d8fb2bea90739d8 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 15:53:52 +0100 Subject: [PATCH 10/27] Update README and CMake files for TSLang integration; refine TypeScript example and add CMake presets --- docs/how/cmake_tslang/CMakePresets.json | 23 +++++++++++++++++++ docs/how/cmake_tslang/README.md | 12 +++++----- .../cmake/CMakeDetermineTSLANGCompiler.cmake | 6 ++++- .../cmake/CMakeTSLANGInformation.cmake | 2 +- docs/how/cmake_tslang/mycode.ts | 8 +++---- 5 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 docs/how/cmake_tslang/CMakePresets.json diff --git a/docs/how/cmake_tslang/CMakePresets.json b/docs/how/cmake_tslang/CMakePresets.json new file mode 100644 index 000000000..4a7375a79 --- /dev/null +++ b/docs/how/cmake_tslang/CMakePresets.json @@ -0,0 +1,23 @@ +{ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 20, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default", + "displayName": "Default (Ninja)", + "description": "TSLANG custom language requires the Ninja generator (the Visual Studio generator ignores custom languages).", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build" + } + ], + "buildPresets": [ + { + "name": "default", + "configurePreset": "default" + } + ] +} diff --git a/docs/how/cmake_tslang/README.md b/docs/how/cmake_tslang/README.md index d40e809d1..a1fbe9e7a 100644 --- a/docs/how/cmake_tslang/README.md +++ b/docs/how/cmake_tslang/README.md @@ -1,12 +1,12 @@ # Custom language with your own extension and compile command in CMake -This example registers a brand-new CMake *language* (`TSLANG`) that: +This registers TypeScript CMake *language* (`TSLANG`) that: - owns its own source extension (`.ts`), -- is built with **tslang compile command**, +- is built with **tslang --emit=obj**, - produces `.obj` files that CMake links automatically alongside regular C++. -CMake then handles dependency tracking and incremental builds for `.tslang` +CMake then handles dependency tracking and incremental builds for `.ts` sources the same way it does for `.cpp`. ## Layout @@ -27,7 +27,7 @@ custom_lang/ - `enable_language(TSLANG)` runs `CMakeDetermineTSLANGCompiler.cmake`, which finds `tslangc`, then loads `CMakeTSLANGInformation.cmake`, which registers the compile - rule (`CMAKE_TSLANG_COMPILE_OBJECT` — *your command*). + rule (`CMAKE_TSLANG_COMPILE_OBJECT` — *tslang --emit=obj*). - Because `CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS` contains `tslang`, any `.ts` source is routed to your command and compiled to a `.obj`. - That `.obj` is added to the target and linked with `main.cpp`'s object using @@ -37,8 +37,8 @@ custom_lang/ ## Passing flags ```cmake -set(CMAKE_TSLANG_FLAGS "--opt-level=2") # global -set_source_files_properties(mycode.tslang PROPERTIES +set(CMAKE_TSLANG_FLAGS "--opt_level=3") # global +set_source_files_properties(mycode.ts PROPERTIES COMPILE_OPTIONS "--define;TSLANG=1") # per-file ``` diff --git a/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake b/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake index 8020d4690..f407d773b 100644 --- a/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake +++ b/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake @@ -8,7 +8,11 @@ mark_as_advanced(CMAKE_TSLANG_COMPILER) # Which source extensions belong to TSLANG, and the object suffix set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS ts) -set(CMAKE_TSLANG_OUTPUT_EXTENSION .obj) # .o on Linux +if (NOT WIN32) + set(CMAKE_TSLANG_OUTPUT_EXTENSION .o) +else() + set(CMAKE_TSLANG_OUTPUT_EXTENSION .obj) # .o on Linux +endif() set(CMAKE_TSLANG_COMPILER_ENV_VAR "TSLANG") # Emit the compiler-id config file CMake expects diff --git a/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake b/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake index 89ef05734..03b286449 100644 --- a/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake +++ b/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake @@ -7,7 +7,7 @@ # optional if(NOT CMAKE_TSLANG_COMPILE_OBJECT) set(CMAKE_TSLANG_COMPILE_OBJECT - " --output ") + " --emit=obj -o= ") endif() # How CMake links TSLANG objects into an executable/library. diff --git a/docs/how/cmake_tslang/mycode.ts b/docs/how/cmake_tslang/mycode.ts index a8fb8ab9e..175e6599b 100644 --- a/docs/how/cmake_tslang/mycode.ts +++ b/docs/how/cmake_tslang/mycode.ts @@ -1,9 +1,9 @@ -// Example source in your custom language. -// Your `fooc` compiler turns this into mycode.obj, which CMake links -// with main.cpp. Replace with real FOO syntax; the symbols exported +// Example source in TypeScript language. +// `tslang` compiler turns this into mycode.obj, which CMake links +// with main.cpp. Replace with real TypeScript syntax; the symbols exported // must match the extern "C" declarations in main.cpp. -export function foo_add(a, b) { +export function foo_add(a: int, b: int): int { return a + b; } From 117eabec7a016c2c8b508032cd2c44cba0e278b6 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 16:28:44 +0100 Subject: [PATCH 11/27] Add CMake project setup and folder creation for TSLang integration --- .../include/TypeScript/VSCodeTemplate/Files.h | 186 ++++++++++++++++++ tslang/tslang/CMakeLists.txt | 1 + tslang/tslang/cmake.cpp | 115 +++++++++++ tslang/tslang/tslang.cpp | 7 + 4 files changed, 309 insertions(+) create mode 100644 tslang/tslang/cmake.cpp diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index 858536621..ac636d153 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -301,6 +301,192 @@ const auto LAUNCH_JSON_DATA_LINUX = R"raw( } )raw"; +#define CMAKE_FOLDER_PATH "cmake" + +const auto CMAKE_LISTS_TXT_DATA = R"raw(cmake_minimum_required(VERSION 3.20) + +# Make CMake find your custom-language modules +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +project(<> CXX) + +# Enable TS-language +enable_language(TSLANG) + +# .ts files compile with TSLANG command; .cpp with the C++ compiler. +add_executable(app + main.cpp + mycode.ts +) +)raw"; + +const auto CMAKE_PRESETS_JSON_DATA = R"raw({ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 20, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default", + "displayName": "Default (Ninja)", + "description": "TSLANG custom language requires the Ninja generator (the Visual Studio generator ignores custom languages).", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build" + } + ], + "buildPresets": [ + { + "name": "default", + "configurePreset": "default" + } + ] +} +)raw"; + +const auto CMAKE_MAIN_CPP_DATA = R"raw(// Declare the symbols your .foo object exports. +// Use extern "C" so names match your compiler's output (no C++ mangling). +extern "C" int foo_add(int a, int b); +extern "C" void foo_hello(void); + +#include + +int main() { + foo_hello(); + std::printf("foo_add(2,3) = %d\n", foo_add(2, 3)); + return 0; +} +)raw"; + +const auto CMAKE_MYCODE_TS_DATA = R"raw(// Example source in TypeScript language. +// `tslang` compiler turns this into mycode.obj, which CMake links +// with main.cpp. Replace with real TypeScript syntax; the symbols exported +// must match the extern "C" declarations in main.cpp. + +export function foo_add(a: int, b: int): int { + return a + b; +} + +export function foo_hello() { + print("hello from foo"); +} +)raw"; + +const auto CMAKE_README_MD_DATA = R"raw(# Custom language with your own extension and compile command in CMake + +This registers TypeScript CMake *language* (`TSLANG`) that: + +- owns its own source extension (`.ts`), +- is built with **tslang --emit=obj**, +- produces `.obj` files that CMake links automatically alongside regular C++. + +CMake then handles dependency tracking and incremental builds for `.ts` +sources the same way it does for `.cpp`. + +## Layout + +``` +custom_lang/ +├── CMakeLists.txt +├── cmake/ +│ ├── CMakeDetermineTSLANGCompiler.cmake +│ ├── CMakeTSLANGCompiler.cmake.in +│ ├── CMakeTSLANGInformation.cmake +│ └── CMakeTestTSLANGCompiler.cmake +├── main.cpp +└── mycode.ts +``` + +## How it works + +- `enable_language(TSLANG)` runs `CMakeDetermineTSLANGCompiler.cmake`, which finds + `tslangc`, then loads `CMakeTSLANGInformation.cmake`, which registers the compile + rule (`CMAKE_TSLANG_COMPILE_OBJECT` — *tslang --emit=obj*). +- Because `CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS` contains `tslang`, any `.ts` source + is routed to your command and compiled to a `.obj`. +- That `.obj` is added to the target and linked with `main.cpp`'s object using + the C++ linker (`CMAKE_TSLANG_LINK_EXECUTABLE`). +- Change `mycode.ts` and only it recompiles. + +## Passing flags + +```cmake +set(CMAKE_TSLANG_FLAGS "--opt_level=3") # global +set_source_files_properties(mycode.ts PROPERTIES + COMPILE_OPTIONS "--define;TSLANG=1") # per-file +``` + +## Minimal alternative + +If you don't need a first-class language, either: + +- Mark a file as an already-built object and just link it: + `set_source_files_properties(mycode.obj PROPERTIES EXTERNAL_OBJECT TRUE GENERATED TRUE)` + and add it to `add_executable`, producing it with `add_custom_command`; or +- Compile a differently-named file *as C++*: + `set_source_files_properties(mycode.tslang PROPERTIES LANGUAGE CXX)`. + +Use the typescript-language setup below when `.ts` is a source type you +compile often and want CMake to treat as first-class. +)raw"; + +const auto CMAKE_DETERMINE_TSLANG_COMPILER_DATA = R"raw(# Locate your custom compiler +find_program(CMAKE_TSLANG_COMPILER + NAMES tslang tslang.exe + HINTS "${CMAKE_SOURCE_DIR}/tools" + DOC "TSLANG compiler") + +mark_as_advanced(CMAKE_TSLANG_COMPILER) + +# Which source extensions belong to TSLANG, and the object suffix +set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS ts) +if (NOT WIN32) + set(CMAKE_TSLANG_OUTPUT_EXTENSION .o) +else() + set(CMAKE_TSLANG_OUTPUT_EXTENSION .obj) # .o on Linux +endif() +set(CMAKE_TSLANG_COMPILER_ENV_VAR "TSLANG") + +# Emit the compiler-id config file CMake expects +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/CMakeTSLANGCompiler.cmake.in + ${CMAKE_PLATFORM_INFO_DIR}/CMakeTSLANGCompiler.cmake @ONLY) +)raw"; + +const auto CMAKE_TEST_TSLANG_COMPILER_DATA = R"raw(# Skip the actual test compile; assume the compiler works. +set(CMAKE_TSLANG_COMPILER_WORKS TRUE) +)raw"; + +const auto CMAKE_TSLANG_COMPILER_IN_DATA = R"raw(set(CMAKE_TSLANG_COMPILER "@CMAKE_TSLANG_COMPILER@") +set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS @CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS@) +set(CMAKE_TSLANG_OUTPUT_EXTENSION @CMAKE_TSLANG_OUTPUT_EXTENSION@) +set(CMAKE_TSLANG_COMPILER_LOADED 1) +set(CMAKE_TSLANG_COMPILER_WORKS TRUE) +)raw"; + +const auto CMAKE_TSLANG_INFORMATION_DATA = R"raw(# The actual compile command. +# Placeholders CMake substitutes: +# the binary +# per-target flags +# input .ts +# output .obj +# optional +if(NOT CMAKE_TSLANG_COMPILE_OBJECT) + set(CMAKE_TSLANG_COMPILE_OBJECT + " --emit=obj -o= ") +endif() + +# How CMake links TSLANG objects into an executable/library. +# Reuse the C++ linker so linking with .cpp works out of the box. +if(NOT CMAKE_TSLANG_LINK_EXECUTABLE) + set(CMAKE_TSLANG_LINK_EXECUTABLE + " -o ") +endif() + +set(CMAKE_TSLANG_INFORMATION_LOADED 1) +)raw"; + const auto TSLANG_NATVIS = R"raw( diff --git a/tslang/tslang/CMakeLists.txt b/tslang/tslang/CMakeLists.txt index e3dffa501..f04e896de 100644 --- a/tslang/tslang/CMakeLists.txt +++ b/tslang/tslang/CMakeLists.txt @@ -65,6 +65,7 @@ add_llvm_executable(tslang opts.cpp declarationInline.cpp vscode.cpp + cmake.cpp defaultlib.cpp) llvm_update_compile_flags(tslang) diff --git a/tslang/tslang/cmake.cpp b/tslang/tslang/cmake.cpp new file mode 100644 index 000000000..dd2a26fb3 --- /dev/null +++ b/tslang/tslang/cmake.cpp @@ -0,0 +1,115 @@ +#include "llvm/ADT/StringMap.h" +#include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" +#include "llvm/Support/Path.h" +#include "llvm/Support/WithColor.h" + +#include "TypeScript/VSCodeTemplate/Files.h" + +#define DEBUG_TYPE "tslang" + +using namespace llvm; +using namespace std; +namespace cl = llvm::cl; +namespace fs = llvm::sys::fs; +namespace path = llvm::sys::path; + +extern cl::opt inputFilename; + +int create_file_base(StringRef filepath, StringRef data); +int substitute(StringRef data, StringMap &values, SmallString<128> &result); + +int createCMakeFolder(int argc, char **argv) +{ + auto projectName = StringRef(inputFilename); + if (projectName == "-") { + WithColor::error(errs(), "tslang") << "Name is not provided. (use file name without file extension)\n"; + return -1; + } + + if (auto error_code = fs::create_directory(projectName)) + { + WithColor::error(errs(), "tslang") << "Could not create project: " << error_code.message() << "\n"; + return -1; + } + + if (auto error_code = fs::set_current_path(projectName)) + { + WithColor::error(errs(), "tslang") << "Can't open folder/directory: " << error_code.message() << "\n"; + return -1; + } + + SmallString<256> projectPath; + if (auto error_code = fs::current_path(projectPath)) + { + WithColor::error(errs(), "tslang") << "Can't get info about current folder: " << error_code.message() << "\n"; + return -1; + } + + StringMap vals; + vals["PROJECT"] = projectName; + + StringRef cmakeLists(CMAKE_LISTS_TXT_DATA); + SmallString<128> resultCMakeLists; + substitute(cmakeLists, vals, resultCMakeLists); + + if (auto error_code = create_file_base("CMakeLists.txt", resultCMakeLists.str())) + { + return -1; + } + + if (auto error_code = create_file_base("CMakePresets.json", CMAKE_PRESETS_JSON_DATA)) + { + return -1; + } + + if (auto error_code = create_file_base("main.cpp", CMAKE_MAIN_CPP_DATA)) + { + return -1; + } + + if (auto error_code = create_file_base("mycode.ts", CMAKE_MYCODE_TS_DATA)) + { + return -1; + } + + if (auto error_code = create_file_base("README.md", CMAKE_README_MD_DATA)) + { + return -1; + } + + // cmake folder + if (auto error_code = fs::create_directory(CMAKE_FOLDER_PATH)) + { + WithColor::error(errs(), "tslang") << "Could not create folder/directory '" << CMAKE_FOLDER_PATH << "' : " << error_code.message() << "\n"; + return -1; + } + + if (auto error_code = fs::set_current_path(CMAKE_FOLDER_PATH)) + { + WithColor::error(errs(), "tslang") << "Can't open folder/directory '" << CMAKE_FOLDER_PATH << "' : " << error_code.message() << "\n"; + return -1; + } + + if (auto error_code = create_file_base("CMakeDetermineTSLANGCompiler.cmake", CMAKE_DETERMINE_TSLANG_COMPILER_DATA)) + { + return -1; + } + + if (auto error_code = create_file_base("CMakeTestTSLANGCompiler.cmake", CMAKE_TEST_TSLANG_COMPILER_DATA)) + { + return -1; + } + + if (auto error_code = create_file_base("CMakeTSLANGCompiler.cmake.in", CMAKE_TSLANG_COMPILER_IN_DATA)) + { + return -1; + } + + if (auto error_code = create_file_base("CMakeTSLANGInformation.cmake", CMAKE_TSLANG_INFORMATION_DATA)) + { + return -1; + } + + return 0; +} diff --git a/tslang/tslang/tslang.cpp b/tslang/tslang/tslang.cpp index 62cbf0492..653d4adc6 100644 --- a/tslang/tslang/tslang.cpp +++ b/tslang/tslang/tslang.cpp @@ -40,6 +40,7 @@ std::string getDefaultLibPath(); int compileTypeScriptFileIntoMLIR(mlir::MLIRContext &, llvm::SourceMgr &, mlir::OwningOpRef &, CompileOptions&); int runMLIRPasses(mlir::MLIRContext &, llvm::SourceMgr &, mlir::OwningOpRef &, CompileOptions&); int createVSCodeFolder(int, char **); +int createCMakeFolder(int, char **); int installDefaultLib(int, char **); int dumpAST(); int dumpLLVMIR(mlir::ModuleOp, CompileOptions&); @@ -128,6 +129,7 @@ cl::opt appendGCtorsToMethod("gctors-as-method", cl::desc("Creeate method cl::opt strictNullChecks("strict-null-checks", cl::desc("Strict Null Checks"), cl::init(true), cl::cat(TypeScriptCompilerCategory)); cl::opt newVSCodeFolder("new", cl::desc("New VS Code Project"), cl::cat(TypeScriptCompilerCategory)); +cl::opt newCMakeFolder("cmake", cl::desc("New CMake Project"), cl::cat(TypeScriptCompilerCategory)); cl::opt installDefaultLibCmd("install-default-lib", cl::desc("Install Default Library. use default-lib-path to provide path where to install the lib"), cl::cat(TypeScriptCompilerCategory)); static void TslangPrintVersion(llvm::raw_ostream &OS) { @@ -293,6 +295,11 @@ int main(int argc, char **argv) return createVSCodeFolder(argc, argv); } + if (newCMakeFolder.getValue()) + { + return createCMakeFolder(argc, argv); + } + if (installDefaultLibCmd.getValue()) { return installDefaultLib(argc, argv); From 7dcd07dd9a0e62185d6bef4326cb1290975a8292 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 17:31:33 +0100 Subject: [PATCH 12/27] Refactor CMake configuration for TSLang integration and enhance TypeScript example with class implementation --- docs/how/cmake_tslang/CMakeLists.txt | 13 +++++-- .../cmake/CMakeDetermineTSLANGCompiler.cmake | 3 ++ .../cmake/CMakeTSLANGInformation.cmake | 2 +- docs/how/cmake_tslang/mycode.ts | 18 ++++++++-- .../include/TypeScript/VSCodeTemplate/Files.h | 36 ++++++++++++++++--- 5 files changed, 62 insertions(+), 10 deletions(-) diff --git a/docs/how/cmake_tslang/CMakeLists.txt b/docs/how/cmake_tslang/CMakeLists.txt index fe1f430b6..9a4c66173 100644 --- a/docs/how/cmake_tslang/CMakeLists.txt +++ b/docs/how/cmake_tslang/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.20) -# Make CMake find your custom-language modules +# Make CMake find ts-language modules list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") project(Demo CXX) @@ -8,8 +8,17 @@ project(Demo CXX) # Enable TS-language enable_language(TSLANG) +# Include folders +include_directories(${CMAKE_TSLANG_DIR}/defaultlib) + +# Lib folders +link_directories(${CMAKE_TSLANG_DIR} ${CMAKE_TSLANG_DIR}/defaultlib/lib) + # .ts files compile with TSLANG command; .cpp with the C++ compiler. -add_executable(app +add_executable(${PROJECT_NAME} main.cpp mycode.ts ) + +# required libs +target_link_libraries(${PROJECT_NAME} "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") diff --git a/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake b/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake index f407d773b..7d8c039e2 100644 --- a/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake +++ b/docs/how/cmake_tslang/cmake/CMakeDetermineTSLANGCompiler.cmake @@ -3,8 +3,11 @@ find_program(CMAKE_TSLANG_COMPILER NAMES tslang tslang.exe HINTS "${CMAKE_SOURCE_DIR}/tools" DOC "TSLANG compiler") + +cmake_path(GET CMAKE_TSLANG_COMPILER PARENT_PATH CMAKE_TSLANG_DIR) mark_as_advanced(CMAKE_TSLANG_COMPILER) +mark_as_advanced(CMAKE_TSLANG_DIR) # Which source extensions belong to TSLANG, and the object suffix set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS ts) diff --git a/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake b/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake index 03b286449..0e38b27ab 100644 --- a/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake +++ b/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake @@ -7,7 +7,7 @@ # optional if(NOT CMAKE_TSLANG_COMPILE_OBJECT) set(CMAKE_TSLANG_COMPILE_OBJECT - " --emit=obj -o= ") + " --default-lib-path=${CMAKE_TSLANG_DIR} --emit=obj -o= ") endif() # How CMake links TSLANG objects into an executable/library. diff --git a/docs/how/cmake_tslang/mycode.ts b/docs/how/cmake_tslang/mycode.ts index 175e6599b..8c9d22551 100644 --- a/docs/how/cmake_tslang/mycode.ts +++ b/docs/how/cmake_tslang/mycode.ts @@ -3,10 +3,24 @@ // with main.cpp. Replace with real TypeScript syntax; the symbols exported // must match the extern "C" declarations in main.cpp. +class Adder +{ + #a: int; + #b: int; + + constructor(a: int, b: int) { + this.#a = a; + this.#b = b; + } + + get result() { return this.#a + this.#b; } +} + export function foo_add(a: int, b: int): int { - return a + b; + const adder = new Adder(a, b); + return adder.result; } export function foo_hello() { - print("hello from foo"); + console.log("hello from foo"); } diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index ac636d153..c57323f41 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -305,7 +305,7 @@ const auto LAUNCH_JSON_DATA_LINUX = R"raw( const auto CMAKE_LISTS_TXT_DATA = R"raw(cmake_minimum_required(VERSION 3.20) -# Make CMake find your custom-language modules +# Make CMake find ts-language modules list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") project(<> CXX) @@ -313,11 +313,20 @@ project(<> CXX) # Enable TS-language enable_language(TSLANG) +# Include folders +include_directories(${CMAKE_TSLANG_DIR}/defaultlib) + +# Lib folders +link_directories(${CMAKE_TSLANG_DIR} ${CMAKE_TSLANG_DIR}/defaultlib/lib) + # .ts files compile with TSLANG command; .cpp with the C++ compiler. -add_executable(app +add_executable(${PROJECT_NAME} main.cpp mycode.ts ) + +# required libs +target_link_libraries(${PROJECT_NAME} "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") )raw"; const auto CMAKE_PRESETS_JSON_DATA = R"raw({ @@ -364,12 +373,26 @@ const auto CMAKE_MYCODE_TS_DATA = R"raw(// Example source in TypeScript language // with main.cpp. Replace with real TypeScript syntax; the symbols exported // must match the extern "C" declarations in main.cpp. +class Adder +{ + #a: int; + #b: int; + + constructor(a: int, b: int) { + this.#a = a; + this.#b = b; + } + + get result() { return this.#a + this.#b; } +} + export function foo_add(a: int, b: int): int { - return a + b; + const adder = new Adder(a, b); + return adder.result; } export function foo_hello() { - print("hello from foo"); + console.log("hello from foo"); } )raw"; @@ -437,7 +460,10 @@ find_program(CMAKE_TSLANG_COMPILER HINTS "${CMAKE_SOURCE_DIR}/tools" DOC "TSLANG compiler") +cmake_path(GET CMAKE_TSLANG_COMPILER PARENT_PATH CMAKE_TSLANG_DIR) + mark_as_advanced(CMAKE_TSLANG_COMPILER) +mark_as_advanced(CMAKE_TSLANG_DIR) # Which source extensions belong to TSLANG, and the object suffix set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS ts) @@ -474,7 +500,7 @@ const auto CMAKE_TSLANG_INFORMATION_DATA = R"raw(# The actual compile command. # optional if(NOT CMAKE_TSLANG_COMPILE_OBJECT) set(CMAKE_TSLANG_COMPILE_OBJECT - " --emit=obj -o= ") + " --default-lib-path=${CMAKE_TSLANG_DIR} --emit=obj -o= ") endif() # How CMake links TSLANG objects into an executable/library. From 3e4468bae8643d8e717b81d4547ae1b8b971d4d8 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 19:02:50 +0100 Subject: [PATCH 13/27] Enhance TSLang integration: add Windows support in CMake, update README with build instructions, and modify TypeScript example for async functionality --- docs/how/cmake_tslang/CMakeLists.txt | 5 +++++ docs/how/cmake_tslang/README.md | 1 + docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in | 1 + docs/how/cmake_tslang/mycode.ts | 6 +++++- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/how/cmake_tslang/CMakeLists.txt b/docs/how/cmake_tslang/CMakeLists.txt index 9a4c66173..6083c65cb 100644 --- a/docs/how/cmake_tslang/CMakeLists.txt +++ b/docs/how/cmake_tslang/CMakeLists.txt @@ -22,3 +22,8 @@ add_executable(${PROJECT_NAME} # required libs target_link_libraries(${PROJECT_NAME} "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") + +# ntdll provides RtlGetLastNtStatus (pulled in by LLVMSupport) on Windows +if(WIN32) + target_link_libraries(${PROJECT_NAME} "ntdll") +endif() diff --git a/docs/how/cmake_tslang/README.md b/docs/how/cmake_tslang/README.md index a1fbe9e7a..987856eb2 100644 --- a/docs/how/cmake_tslang/README.md +++ b/docs/how/cmake_tslang/README.md @@ -33,6 +33,7 @@ custom_lang/ - That `.obj` is added to the target and linked with `main.cpp`'s object using the C++ linker (`CMAKE_TSLANG_LINK_EXECUTABLE`). - Change `mycode.ts` and only it recompiles. +- Compile: `cmake --preset default && cmake --build --preset default` ## Passing flags diff --git a/docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in b/docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in index 45fe63448..90131f6ae 100644 --- a/docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in +++ b/docs/how/cmake_tslang/cmake/CMakeTSLANGCompiler.cmake.in @@ -1,4 +1,5 @@ set(CMAKE_TSLANG_COMPILER "@CMAKE_TSLANG_COMPILER@") +set(CMAKE_TSLANG_DIR "@CMAKE_TSLANG_DIR@") set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS @CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS@) set(CMAKE_TSLANG_OUTPUT_EXTENSION @CMAKE_TSLANG_OUTPUT_EXTENSION@) set(CMAKE_TSLANG_COMPILER_LOADED 1) diff --git a/docs/how/cmake_tslang/mycode.ts b/docs/how/cmake_tslang/mycode.ts index 8c9d22551..b83f3474c 100644 --- a/docs/how/cmake_tslang/mycode.ts +++ b/docs/how/cmake_tslang/mycode.ts @@ -3,6 +3,10 @@ // with main.cpp. Replace with real TypeScript syntax; the symbols exported // must match the extern "C" declarations in main.cpp. +async function adder(a = 0, b = 0) { + return a + b; +} + class Adder { #a: int; @@ -13,7 +17,7 @@ class Adder this.#b = b; } - get result() { return this.#a + this.#b; } + get result() { return await adder(this.#a, this.#b); } } export function foo_add(a: int, b: int): int { From 98070e7fbb7e52a43aaa6a7b65eda01260e471e7 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 19:09:54 +0100 Subject: [PATCH 14/27] Enhance TypeScript example: add async functionality and Windows support in CMake --- tslang/include/TypeScript/VSCodeTemplate/Files.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index c57323f41..23b9f6f74 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -327,6 +327,11 @@ add_executable(${PROJECT_NAME} # required libs target_link_libraries(${PROJECT_NAME} "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") + +# ntdll provides RtlGetLastNtStatus (pulled in by LLVMSupport) on Windows +if(WIN32) + target_link_libraries(${PROJECT_NAME} "ntdll") +endif() )raw"; const auto CMAKE_PRESETS_JSON_DATA = R"raw({ @@ -373,6 +378,10 @@ const auto CMAKE_MYCODE_TS_DATA = R"raw(// Example source in TypeScript language // with main.cpp. Replace with real TypeScript syntax; the symbols exported // must match the extern "C" declarations in main.cpp. +async function adder(a = 0, b = 0) { + return a + b; +} + class Adder { #a: int; @@ -383,7 +392,7 @@ class Adder this.#b = b; } - get result() { return this.#a + this.#b; } + get result() { return await adder(this.#a, this.#b); } } export function foo_add(a: int, b: int): int { @@ -431,6 +440,7 @@ custom_lang/ - That `.obj` is added to the target and linked with `main.cpp`'s object using the C++ linker (`CMAKE_TSLANG_LINK_EXECUTABLE`). - Change `mycode.ts` and only it recompiles. +- Compile: `cmake --preset default && cmake --build --preset default` ## Passing flags From ec915a4ecc8b15c75530dcdac90d16bab8159c15 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 21:11:40 +0100 Subject: [PATCH 15/27] Improve MLIRGenImpl: preserve existing operations during nested discovery passes --- tslang/lib/TypeScript/MLIRGen.cpp | 36 +++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/tslang/lib/TypeScript/MLIRGen.cpp b/tslang/lib/TypeScript/MLIRGen.cpp index 4601cf952..97d025af3 100644 --- a/tslang/lib/TypeScript/MLIRGen.cpp +++ b/tslang/lib/TypeScript/MLIRGen.cpp @@ -722,6 +722,17 @@ class MLIRGenImpl llvm::ScopedHashTableScope fullNameGlobalsMapScope( fullNameGlobalsMap); + // Snapshot the ops already present in the module. When this discovery pass is nested + // (an 'import' of a local source file triggers mlirGenInclude during SourceGeneration), + // it must not wipe the real module content that was already generated (e.g. default-lib + // function bodies such as 'console.log'). Clearing the whole body left dangling + // SymbolRefs and produced "op 'console.log' does not reference a valid function". + llvm::SmallPtrSet preExistingOps; + for (auto &op : theModule.getBody()->getOperations()) + { + preExistingOps.insert(&op); + } + // Process of discovery here GenContext genContextPartial{}; genContextPartial.allowPartialResolve = true; @@ -752,9 +763,30 @@ class MLIRGenImpl genContextPartial.clean(); - // clean up + // clean up: erase only the ops this discovery pass added, preserving any content that + // was already generated before a nested discovery (see preExistingOps above). clearTempModule(); - theModule.getBody()->clear(); + { + llvm::SmallVector addedOps; + for (auto &op : theModule.getBody()->getOperations()) + { + if (!preExistingOps.contains(&op)) + { + addedOps.push_back(&op); + } + } + + for (auto *op : addedOps) + { + op->dropAllReferences(); + } + + for (auto *op : llvm::reverse(addedOps)) + { + op->dropAllUses(); + op->erase(); + } + } // clear state for (auto &statement : module->statements) From a6dc7df57ed8a2e9ff8e1bc694befeabc92ee4ab Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 22:15:38 +0100 Subject: [PATCH 16/27] Add natvis visualization for TypeScript and LLVM types - Introduced a new natvis file for TypeScript data structures, providing display strings for various types including TextRange, Node, Statement, Expression, Declaration, and more. - Added visualizations for MLIR types, including StorageUserBase and Value, with expanded views for detailed inspection. - Enhanced LLVM type visualizations, covering SmallVectorImpl, APInt, ArrayRef, StringRef, and various other data structures, improving debugging experience in Visual Studio. - Implemented detailed display strings and expand options for complex types like PointerIntPair, DenseMap, and StringMap, facilitating better understanding of their contents during debugging sessions. --- tslang/include/TypeScript/VSCodeTemplate/Files.h | 8 ++++---- tslang/{tsc.natvis => tslang.natvis} | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename tslang/{tsc.natvis => tslang.natvis} (100%) diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index 23b9f6f74..58b790a99 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -196,7 +196,7 @@ const auto LAUNCH_JSON_DATA_WIN32 = R"raw( "symbolSearchPath": "${workspaceFolder}", "environment": [ ], - "visualizerFile": "${workspaceFolder}/tsnc.natvis" + "visualizerFile": "${workspaceFolder}/tslang.natvis" }, { "name": "Current File - EXE (Release)", @@ -211,7 +211,7 @@ const auto LAUNCH_JSON_DATA_WIN32 = R"raw( "symbolSearchPath": "${workspaceFolder}", "environment": [ ], - "visualizerFile": "${workspaceFolder}/tsnc.natvis" + "visualizerFile": "${workspaceFolder}/tslang.natvis" }, { "name": "Current File - JIT", @@ -259,7 +259,7 @@ const auto LAUNCH_JSON_DATA_LINUX = R"raw( "cwd": "${workspaceFolder}", "environment": [ ], - "visualizerFile": "${workspaceFolder}/tsnc.natvis" + "visualizerFile": "${workspaceFolder}/tslang.natvis" }, { "name": "Current File - EXE (Release)", @@ -273,7 +273,7 @@ const auto LAUNCH_JSON_DATA_LINUX = R"raw( "cwd": "${workspaceFolder}", "environment": [ ], - "visualizerFile": "${workspaceFolder}/tsnc.natvis" + "visualizerFile": "${workspaceFolder}/tslang.natvis" }, { "name": "Current File - JIT", diff --git a/tslang/tsc.natvis b/tslang/tslang.natvis similarity index 100% rename from tslang/tsc.natvis rename to tslang/tslang.natvis From 9740e1d5b2551945b5bdaf92111ac60f77808171 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 22:48:46 +0100 Subject: [PATCH 17/27] Add adder functionality and refactor TypeScript integration --- docs/how/cmake_tslang/CMakeLists.txt | 1 + docs/how/cmake_tslang/adder.ts | 15 ++++++++++ docs/how/cmake_tslang/mycode.ts | 17 +---------- .../include/TypeScript/VSCodeTemplate/Files.h | 28 +++++++++++-------- tslang/tslang/cmake.cpp | 5 ++++ 5 files changed, 38 insertions(+), 28 deletions(-) create mode 100644 docs/how/cmake_tslang/adder.ts diff --git a/docs/how/cmake_tslang/CMakeLists.txt b/docs/how/cmake_tslang/CMakeLists.txt index 6083c65cb..4957f7bb5 100644 --- a/docs/how/cmake_tslang/CMakeLists.txt +++ b/docs/how/cmake_tslang/CMakeLists.txt @@ -18,6 +18,7 @@ link_directories(${CMAKE_TSLANG_DIR} ${CMAKE_TSLANG_DIR}/defaultlib/lib) add_executable(${PROJECT_NAME} main.cpp mycode.ts + adder.ts ) # required libs diff --git a/docs/how/cmake_tslang/adder.ts b/docs/how/cmake_tslang/adder.ts new file mode 100644 index 000000000..2bfa7797c --- /dev/null +++ b/docs/how/cmake_tslang/adder.ts @@ -0,0 +1,15 @@ +async function adder(a = 0, b = 0) { + return a + b; +} + +export class Adder { + #a: int; + #b: int; + + constructor(a: int, b: int) { + this.#a = a; + this.#b = b; + } + + get result() { return await adder(this.#a, this.#b); } +} diff --git a/docs/how/cmake_tslang/mycode.ts b/docs/how/cmake_tslang/mycode.ts index b83f3474c..dca809d47 100644 --- a/docs/how/cmake_tslang/mycode.ts +++ b/docs/how/cmake_tslang/mycode.ts @@ -3,22 +3,7 @@ // with main.cpp. Replace with real TypeScript syntax; the symbols exported // must match the extern "C" declarations in main.cpp. -async function adder(a = 0, b = 0) { - return a + b; -} - -class Adder -{ - #a: int; - #b: int; - - constructor(a: int, b: int) { - this.#a = a; - this.#b = b; - } - - get result() { return await adder(this.#a, this.#b); } -} +import './adder' export function foo_add(a: int, b: int): int { const adder = new Adder(a, b); diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index 58b790a99..fbd9f83a2 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -323,6 +323,7 @@ link_directories(${CMAKE_TSLANG_DIR} ${CMAKE_TSLANG_DIR}/defaultlib/lib) add_executable(${PROJECT_NAME} main.cpp mycode.ts + adder.ts ) # required libs @@ -378,12 +379,23 @@ const auto CMAKE_MYCODE_TS_DATA = R"raw(// Example source in TypeScript language // with main.cpp. Replace with real TypeScript syntax; the symbols exported // must match the extern "C" declarations in main.cpp. -async function adder(a = 0, b = 0) { +import './adder' + +export function foo_add(a: int, b: int): int { + const adder = new Adder(a, b); + return adder.result; +} + +export function foo_hello() { + console.log("hello from foo"); +} +)raw"; + +const auto CMAKE_ADDER_TS_DATA = R"raw(async function adder(a = 0, b = 0) { return a + b; } -class Adder -{ +export class Adder { #a: int; #b: int; @@ -394,15 +406,6 @@ class Adder get result() { return await adder(this.#a, this.#b); } } - -export function foo_add(a: int, b: int): int { - const adder = new Adder(a, b); - return adder.result; -} - -export function foo_hello() { - console.log("hello from foo"); -} )raw"; const auto CMAKE_README_MD_DATA = R"raw(# Custom language with your own extension and compile command in CMake @@ -495,6 +498,7 @@ set(CMAKE_TSLANG_COMPILER_WORKS TRUE) )raw"; const auto CMAKE_TSLANG_COMPILER_IN_DATA = R"raw(set(CMAKE_TSLANG_COMPILER "@CMAKE_TSLANG_COMPILER@") +set(CMAKE_TSLANG_DIR "@CMAKE_TSLANG_DIR@") set(CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS @CMAKE_TSLANG_SOURCE_FILE_EXTENSIONS@) set(CMAKE_TSLANG_OUTPUT_EXTENSION @CMAKE_TSLANG_OUTPUT_EXTENSION@) set(CMAKE_TSLANG_COMPILER_LOADED 1) diff --git a/tslang/tslang/cmake.cpp b/tslang/tslang/cmake.cpp index dd2a26fb3..4f901e569 100644 --- a/tslang/tslang/cmake.cpp +++ b/tslang/tslang/cmake.cpp @@ -73,6 +73,11 @@ int createCMakeFolder(int argc, char **argv) return -1; } + if (auto error_code = create_file_base("adder.ts", CMAKE_ADDER_TS_DATA)) + { + return -1; + } + if (auto error_code = create_file_base("README.md", CMAKE_README_MD_DATA)) { return -1; From 2b0ed7608fde79b1ba3095c619763c99185a9a27 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 23:13:47 +0100 Subject: [PATCH 18/27] Enhance CMake configuration: add TSLANG flags for Release and Debug builds, and link additional libraries for non-Windows platforms --- docs/how/cmake_tslang/CMakeLists.txt | 9 +++++++++ tslang/include/TypeScript/VSCodeTemplate/Files.h | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/docs/how/cmake_tslang/CMakeLists.txt b/docs/how/cmake_tslang/CMakeLists.txt index 4957f7bb5..756344c26 100644 --- a/docs/how/cmake_tslang/CMakeLists.txt +++ b/docs/how/cmake_tslang/CMakeLists.txt @@ -14,6 +14,13 @@ include_directories(${CMAKE_TSLANG_DIR}/defaultlib) # Lib folders link_directories(${CMAKE_TSLANG_DIR} ${CMAKE_TSLANG_DIR}/defaultlib/lib) +# set options +if (CMAKE_BUILD_TYPE STREQUAL "Release") + set(CMAKE_TSLANG_FLAGS "-opt --opt_level=3") # global +else() + set(CMAKE_TSLANG_FLAGS "--di --opt_level=0") # global +endif() + # .ts files compile with TSLANG command; .cpp with the C++ compiler. add_executable(${PROJECT_NAME} main.cpp @@ -27,4 +34,6 @@ target_link_libraries(${PROJECT_NAME} "gc" "LLVMSupport" "TypeScriptAsyncRuntime # ntdll provides RtlGetLastNtStatus (pulled in by LLVMSupport) on Windows if(WIN32) target_link_libraries(${PROJECT_NAME} "ntdll") +else() + target_link_libraries(${PROJECT_NAME} "LLVMDemangle" "rtti" "exceptions" "stdc++" "m" "pthread" "tinfo" "dl" "rt") endif() diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index fbd9f83a2..7ab045482 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -319,6 +319,13 @@ include_directories(${CMAKE_TSLANG_DIR}/defaultlib) # Lib folders link_directories(${CMAKE_TSLANG_DIR} ${CMAKE_TSLANG_DIR}/defaultlib/lib) +# set options +if (CMAKE_BUILD_TYPE STREQUAL "Release") + set(CMAKE_TSLANG_FLAGS "-opt --opt_level=3") # global +else() + set(CMAKE_TSLANG_FLAGS "--di --opt_level=0") # global +endif() + # .ts files compile with TSLANG command; .cpp with the C++ compiler. add_executable(${PROJECT_NAME} main.cpp @@ -332,6 +339,8 @@ target_link_libraries(${PROJECT_NAME} "gc" "LLVMSupport" "TypeScriptAsyncRuntime # ntdll provides RtlGetLastNtStatus (pulled in by LLVMSupport) on Windows if(WIN32) target_link_libraries(${PROJECT_NAME} "ntdll") +else() + target_link_libraries(${PROJECT_NAME} "LLVMDemangle" "rtti" "exceptions" "stdc++" "m" "pthread" "tinfo" "dl" "rt") endif() )raw"; From 8ff615532f660ba6eaedbadf432873c26b332f72 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 23:20:48 +0100 Subject: [PATCH 19/27] Add MLIRGen refactoring review document outlining code structure improvements and suggested changes --- docs/MLIRGen-refactoring-review.md | 128 +++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 docs/MLIRGen-refactoring-review.md diff --git a/docs/MLIRGen-refactoring-review.md b/docs/MLIRGen-refactoring-review.md new file mode 100644 index 000000000..a8003dca8 --- /dev/null +++ b/docs/MLIRGen-refactoring-review.md @@ -0,0 +1,128 @@ +# MLIRGen.cpp — Code Review & Refactoring Plan + +*Reviewed: 2026-07-01. File: `tslang/lib/TypeScript/MLIRGen.cpp` (26,702 lines).* + +## Snapshot + +| Metric | Value | Note | +|---|---|---| +| Lines | 26,702 | 68% of all `lib/TypeScript` code (39,017 total) | +| Classes | 1 god class: `MLIRGenImpl` (lines 158–26,623) | plus a few small structs | +| Methods (approx.) | ~650 | all in one class body | +| Largest method | `cast(...)` — ~590 lines | next: `mlirGen(ObjectLiteralExpression)` ~520 | +| `TODO` comments | 206 | 22 mention "hack" | +| `const_cast` uses | 38 | mostly around `SourceMgr` and `GenContext` | +| `#if`/`#ifdef` | ~50 | WIN32 / platform / feature toggles | +| `genContext` mentions | 1,832 | threaded through every call | +| Error-handling macros (`EXIT_IF_FAILED`, `VALIDATE*`) | 156 | | + +The file works, is battle-tested, and encodes a lot of subtle knowledge. The problem is not quality of individual logic but **monolith structure**: compile time (single TU), reviewability, merge conflicts, and the ease of introducing cross-cutting state bugs (e.g. the recent nested-discovery `theModule.getBody()->clear()` bug — exactly the class of bug a 26k-line stateful class invites). + +--- + +## 1. Split the translation unit (highest value, lowest risk) + +`MLIRGenImpl` has natural seams already visible in method naming. Split into partial-class-style units — same class, methods distributed across files (C++ allows defining member functions in any TU), or better, extract collaborator classes: + +| Proposed file | Contents (existing methods) | Rough size | +|---|---|---| +| `MLIRGenModule.cpp` | module/discovery driver: `mlirGenSourceFile`, `mlirDiscoverAllDependencies`, `mlirCodeGenModule`, include/import loading (`mlirGenInclude`, `loadSourceBuf`, `loadIncludeFile`), shared-lib import | ~1,500 | +| `MLIRGenStatements.cpp` | statements: if/for/while/switch/try/labels | ~3,000 | +| `MLIRGenExpressions.cpp` | expressions: binary/unary/call/property access/object literal/array | ~6,000 | +| `MLIRGenFunctions.cpp` | function-like declarations, parameters, generics instantiation, capture | ~4,000 | +| `MLIRGenClasses.cpp` | class/interface/enum decl gen, vtables, RTTI, `.size`/`.rtti` statics | ~5,000 | +| `MLIRGenTypes.cpp` | `getType(...)` family, union/intersection/conditional types, `inferType` | ~4,000 | +| `MLIRGenCast.cpp` | `cast(...)`, `castFromUnion`, `castPrimitiveTypeFromAny`, safe-cast logic | ~1,500 | +| `MLIRGenConst.cpp` | const-eval: `isConstValue`, `evaluateBinaryOp` on constants | ~800 | + +Benefits: parallel builds (this single TU dominates incremental build time), smaller review diffs, and the option to unit-test pieces (there is already a `unittests/` tree with `MLIRGenTests`). + +Mechanically safest path: keep `MLIRGenImpl` as-is, move method *bodies* out with no signature changes, verify with the existing test suite after each batch. + +## 2. Kill the dangling-`FuncOp` hazard in the symbol maps + +`functionMap` (per-namespace `llvm::StringMap`) and `GenericFunctionInfo::funcOp` cache **raw op handles**. Discovery passes create ops and then erase them (`clearTempModule`, and until recently `theModule.getBody()->clear()`), so any cached handle from a discarded pass dangles. Today the code survives because consumers only read the *type* early — but this is exactly what made the nested-import bug subtle. + +Refactor: store what's actually consumed — name + `mlir_ts::FunctionType` (+ flags) — in the map instead of the op: + +```cpp +struct FunctionEntry { + std::string fullName; + mlir_ts::FunctionType type; + bool isGeneric, hasBody, isPublic; + // resolve to FuncOp lazily via SymbolTable when needed +}; +``` + +Ops should be looked up through `mlir::SymbolTable` when a real reference is needed. This decouples "what we know about a function" from "an op that may no longer exist." + +## 3. Replace mutable-member state + guards with an explicit context + +The class mixes two kinds of state: + +- **Session state** (fine as members): `builder`, `sourceMgr`, `compileOptions`, `theModule`, symbol maps. +- **Traversal state mutated and restored via `MLIRValueGuard`** (20 uses) or manual save/restore: `declarationMode`, `sourceFile`, `mainSourceFileName`, `stage`, `label`, `overwriteLoc`. Manual save/restore (e.g. `declarationModeStore` in `mlirGenClassSizeStaticField`) is not exception/early-return safe. + +Refactor: move traversal state into `GenContext` (it is already threaded through all 1,832 call sites) or a small `TraversalState` struct passed by reference. Rule of thumb: *if a method needs to restore it before returning, it should not be a member.* This also removes most of the 38 `const_cast`s (many exist precisely because `GenContext` is passed `const` but the code wants to mutate traversal state). + +## 4. Discovery pass: run once, not "dummy run then real run" + +`mlirGenSourceFile` runs the whole AST twice: a `dummyRun/allowPartialResolve` discovery pass whose ops are thrown away, then real codegen. Costs: 2× walk, op churn, and cleanup fragility (see §2; the nested-import bug lived here). + +Shorter-term hardening (cheap): +- Build discovery ops into a **dedicated throwaway `ModuleOp`** with its own builder instead of the real `theModule` — then cleanup is `discoveryModule.erase()` and can never touch real content. (This supersedes the current snapshot-and-erase in `mlirDiscoverAllDependencies`; the snapshot fix is correct but a separate module makes the invariant structural.) Note: requires routing the builder's insertion point for the whole discovery call tree, so do it as a deliberate change with tests, not a drive-by. + +Longer term: replace the discovery codegen pass with a symbol-collection pass over the AST that populates the maps *without creating IR at all*. + +## 5. Break up the giant methods + +Worst offenders (line counts approximate): + +| Method | Lines | Suggested decomposition | +|---|---|---| +| `cast(...)` (21169) | ~590 | dispatch table keyed on (srcKind, dstKind); each conversion a named helper — many already exist (`castFromUnion`, `castPrimitiveTypeFromAny`), finish the job | +| `mlirGen(ObjectLiteralExpression)` (15157) | ~520 | split: field collection, method/accessor gen, spread handling, const-object fast path | +| `inferType(...)` (1900) | ~300 | one helper per template-type kind (union, array, function, class, conditional) | +| `mlirGenClassVirtualTableDefinition` (19167) | ~280 | vtable-entry builder + interface-slot resolution helpers | +| `mlirGenPropertyAccessExpressionBaseLogic` (11118) | ~250 | per-receiver-type handlers (class, interface, enum, union, namespace, tuple) | + +Pattern for all of them: they are long `if/else`-on-type chains; convert to `llvm::TypeSwitch` with one member function per case. This is mechanical and each extraction is independently testable/revertible. + +## 6. Error-handling consistency + +Three styles coexist: `EXIT_IF_FAILED*`/`VALIDATE*` macros (156 uses), explicit `if (mlir::failed(...)) return ...`, and `emitError(...) << ...` with ad-hoc returns. Also duplicated diagnostic literals (e.g. `"can't do binary operation on constants: "` ×6). + +- Pick the macro family as canonical (it's the majority), document it at the top, convert stragglers opportunistically. +- Move repeated message literals into named helpers/constants so wording stays consistent (`emitBinaryConstOpError(...)`). +- The postponed-diagnostics machinery (`postponedMessages` in both discovery and codegen) is copy-pasted between `mlirDiscoverAllDependencies` and `mlirCodeGenModule` — extract a small `PostponedDiags` RAII helper. + +## 7. TODO debt triage + +206 TODOs / 22 "hack"s. Not all equal; the ones worth scheduled work: + +- `// TODO: temp hack` in `prepareDefaultLib` path interplay (tslang.cpp) — default-lib resolution logic is duplicated in 4 places (`tslang.cpp`, `jit.cpp`, `exe.cpp`, `defaultlib.cpp`); centralize in one `DefaultLibLocator`. +- `// TODO: review usage of SizeOf in code, as size of class pointer is not size of data struct` (line ~18156) — correctness-adjacent, deserves a test. +- `// TODO: no need to clean up here as whole module will be removed` (discovery) — stale after the nested-discovery fix; update comments to match the new invariant. + +Suggested policy: new TODOs must reference an issue number; do a one-time sweep to file the top ~20 as issues and delete the stale ones. + +## 8. Smaller cleanups + +- **`const_cast(sourceMgr).setIncludeDirs(...)`** in the constructor: take `SourceMgr&` non-const in the constructor signature instead. +- **Platform `#ifdef`s** for shared-lib naming (`WIN_LOADSHAREDLIBS`/`LINUX_LOADSHAREDLIBS` in `mlirGen(ImportDeclaration)`): extract `resolveSharedLibName(StringRef) -> std::string` — currently the same dance appears in import handling and in `jit.cpp`. +- **`std::stringstream declExports` member**: accumulates exports globally and is reset with `declExports.str(""); declExports.clear();` — wrap in a small `DeclExportCollector` so reset/emission is one call and nesting behavior is explicit. +- **Header hygiene**: the implementation includes 59 headers; after the TU split, each unit should include only what it needs (biggest single lever on rebuild time after the split itself). +- **`isStatement(SyntaxKind)` / long switch tables**: several of these duplicate knowledge the parser already has; consider generating them or moving next to `SyntaxKind`. + +--- + +## Suggested order of execution + +1. **§4a** — discovery into a separate throwaway `ModuleOp` (removes a whole bug class; small, testable). +2. **§2** — de-op-ify `functionMap`/`GenericFunctionInfo` (prerequisite-free after 1, prevents dangling handles forever). +3. **§1** — mechanical TU split (no behavior change; do after 1–2 so moved code is the fixed code). +4. **§5** — giant-method decomposition, one method per PR. +5. **§3** — traversal state into `GenContext` (touches many lines; easier after the split). +6. **§6–§8** — opportunistic, alongside other work. + +Each step is independently shippable and verifiable with the existing `test/tester` suite plus `unittests/MLIRGenTests`. From 51c8c3b018e30a0d15d6b253720fc650284d19d0 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 22:46:41 +0000 Subject: [PATCH 20/27] fix for test runner --- tslang/test/tester/test-runner.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tslang/test/tester/test-runner.cpp b/tslang/test/tester/test-runner.cpp index bfccc4454..13e8cef46 100644 --- a/tslang/test/tester/test-runner.cpp +++ b/tslang/test/tester/test-runner.cpp @@ -1,4 +1,7 @@ #include "helper.h" +#ifndef WIN32 +#include // for usleep +#endif #if WIN32 #define GC_LIB "gc.lib " From 5ff46d784d55d689742c994310b2929a87741e20 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Wed, 1 Jul 2026 23:05:34 +0000 Subject: [PATCH 21/27] file params --- tslang/build_tslang_debug-test.sh | 0 tslang/build_tslang_debug.sh | 0 tslang/build_tslang_release-test.sh | 0 tslang/build_tslang_release.sh | 0 tslang/config_tslang_debug.sh | 0 tslang/config_tslang_release.sh | 0 6 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 tslang/build_tslang_debug-test.sh mode change 100644 => 100755 tslang/build_tslang_debug.sh mode change 100644 => 100755 tslang/build_tslang_release-test.sh mode change 100644 => 100755 tslang/build_tslang_release.sh mode change 100644 => 100755 tslang/config_tslang_debug.sh mode change 100644 => 100755 tslang/config_tslang_release.sh diff --git a/tslang/build_tslang_debug-test.sh b/tslang/build_tslang_debug-test.sh old mode 100644 new mode 100755 diff --git a/tslang/build_tslang_debug.sh b/tslang/build_tslang_debug.sh old mode 100644 new mode 100755 diff --git a/tslang/build_tslang_release-test.sh b/tslang/build_tslang_release-test.sh old mode 100644 new mode 100755 diff --git a/tslang/build_tslang_release.sh b/tslang/build_tslang_release.sh old mode 100644 new mode 100755 diff --git a/tslang/config_tslang_debug.sh b/tslang/config_tslang_debug.sh old mode 100644 new mode 100755 diff --git a/tslang/config_tslang_release.sh b/tslang/config_tslang_release.sh old mode 100644 new mode 100755 From 2a48f6519f83952d4d4ba194b6c314aac1670dc0 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Thu, 2 Jul 2026 00:33:37 +0100 Subject: [PATCH 22/27] Refactor CMake configuration: update TSLANG flags and link libraries for improved build process --- docs/how/cmake_tslang/CMakeLists.txt | 15 +++++++++++---- .../cmake/CMakeTSLANGInformation.cmake | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/how/cmake_tslang/CMakeLists.txt b/docs/how/cmake_tslang/CMakeLists.txt index 756344c26..b5fa3191b 100644 --- a/docs/how/cmake_tslang/CMakeLists.txt +++ b/docs/how/cmake_tslang/CMakeLists.txt @@ -16,11 +16,16 @@ link_directories(${CMAKE_TSLANG_DIR} ${CMAKE_TSLANG_DIR}/defaultlib/lib) # set options if (CMAKE_BUILD_TYPE STREQUAL "Release") - set(CMAKE_TSLANG_FLAGS "-opt --opt_level=3") # global + set(CMAKE_TSLANG_FLAGS "--opt --opt_level=3") # global else() set(CMAKE_TSLANG_FLAGS "--di --opt_level=0") # global endif() +if(WIN32) +else() + list(APPEND CMAKE_TSLANG_FLAGS "-relocation-model=pic") # global +endif() + # .ts files compile with TSLANG command; .cpp with the C++ compiler. add_executable(${PROJECT_NAME} main.cpp @@ -29,11 +34,13 @@ add_executable(${PROJECT_NAME} ) # required libs -target_link_libraries(${PROJECT_NAME} "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") +set(TSLANG_LINK_LIBS "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") # ntdll provides RtlGetLastNtStatus (pulled in by LLVMSupport) on Windows if(WIN32) - target_link_libraries(${PROJECT_NAME} "ntdll") + list(APPEND TSLANG_LINK_LIBS "ntdll") else() - target_link_libraries(${PROJECT_NAME} "LLVMDemangle" "rtti" "exceptions" "stdc++" "m" "pthread" "tinfo" "dl" "rt") + list(APPEND TSLANG_LINK_LIBS "LLVMDemangle" "stdc++" "m" "pthread" "tinfo" "dl" "rt") endif() + +target_link_libraries(${PROJECT_NAME} ${TSLANG_LINK_LIBS}) diff --git a/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake b/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake index 0e38b27ab..068c581e6 100644 --- a/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake +++ b/docs/how/cmake_tslang/cmake/CMakeTSLANGInformation.cmake @@ -7,7 +7,7 @@ # optional if(NOT CMAKE_TSLANG_COMPILE_OBJECT) set(CMAKE_TSLANG_COMPILE_OBJECT - " --default-lib-path=${CMAKE_TSLANG_DIR} --emit=obj -o= ") + " --default-lib-path=${CMAKE_TSLANG_DIR} --emit=obj --export=none -o= ") endif() # How CMake links TSLANG objects into an executable/library. From 504cd4c9d00c016830554c462ec7363bee3f7619 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Thu, 2 Jul 2026 00:38:19 +0100 Subject: [PATCH 23/27] Fix CMake TSLANG flags: change list append to set for relocation model --- docs/how/cmake_tslang/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/how/cmake_tslang/CMakeLists.txt b/docs/how/cmake_tslang/CMakeLists.txt index b5fa3191b..2392fbc92 100644 --- a/docs/how/cmake_tslang/CMakeLists.txt +++ b/docs/how/cmake_tslang/CMakeLists.txt @@ -23,7 +23,7 @@ endif() if(WIN32) else() - list(APPEND CMAKE_TSLANG_FLAGS "-relocation-model=pic") # global + set(CMAKE_TSLANG_FLAGS "${CMAKE_TSLANG_FLAGS} -relocation-model=pic") # global endif() # .ts files compile with TSLANG command; .cpp with the C++ compiler. From 4012459c823bb2a2e9fee2f1f7c8d8aa82c820ee Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Thu, 2 Jul 2026 00:40:24 +0100 Subject: [PATCH 24/27] Update CMake configuration: refine TSLANG flags and link libraries for improved build process --- .../include/TypeScript/VSCodeTemplate/Files.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index 7ab045482..86113a0c8 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -321,11 +321,16 @@ link_directories(${CMAKE_TSLANG_DIR} ${CMAKE_TSLANG_DIR}/defaultlib/lib) # set options if (CMAKE_BUILD_TYPE STREQUAL "Release") - set(CMAKE_TSLANG_FLAGS "-opt --opt_level=3") # global + set(CMAKE_TSLANG_FLAGS "--opt --opt_level=3") # global else() set(CMAKE_TSLANG_FLAGS "--di --opt_level=0") # global endif() +if(WIN32) +else() + set(CMAKE_TSLANG_FLAGS "${CMAKE_TSLANG_FLAGS} -relocation-model=pic") # global +endif() + # .ts files compile with TSLANG command; .cpp with the C++ compiler. add_executable(${PROJECT_NAME} main.cpp @@ -334,14 +339,16 @@ add_executable(${PROJECT_NAME} ) # required libs -target_link_libraries(${PROJECT_NAME} "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") +set(TSLANG_LINK_LIBS "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") # ntdll provides RtlGetLastNtStatus (pulled in by LLVMSupport) on Windows if(WIN32) - target_link_libraries(${PROJECT_NAME} "ntdll") + list(APPEND TSLANG_LINK_LIBS "ntdll") else() - target_link_libraries(${PROJECT_NAME} "LLVMDemangle" "rtti" "exceptions" "stdc++" "m" "pthread" "tinfo" "dl" "rt") + list(APPEND TSLANG_LINK_LIBS "LLVMDemangle" "stdc++" "m" "pthread" "tinfo" "dl" "rt") endif() + +target_link_libraries(${PROJECT_NAME} ${TSLANG_LINK_LIBS}) )raw"; const auto CMAKE_PRESETS_JSON_DATA = R"raw({ @@ -523,7 +530,7 @@ const auto CMAKE_TSLANG_INFORMATION_DATA = R"raw(# The actual compile command. # optional if(NOT CMAKE_TSLANG_COMPILE_OBJECT) set(CMAKE_TSLANG_COMPILE_OBJECT - " --default-lib-path=${CMAKE_TSLANG_DIR} --emit=obj -o= ") + " --default-lib-path=${CMAKE_TSLANG_DIR} --emit=obj --export=none -o= ") endif() # How CMake links TSLANG objects into an executable/library. From 28d5f58138707884718cfdf8127f7212972ea4c1 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Thu, 2 Jul 2026 00:44:27 +0100 Subject: [PATCH 25/27] Reorder TSLANG_LINK_LIBS for consistency in CMake configuration --- docs/how/cmake_tslang/CMakeLists.txt | 2 +- tslang/include/TypeScript/VSCodeTemplate/Files.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/how/cmake_tslang/CMakeLists.txt b/docs/how/cmake_tslang/CMakeLists.txt index 2392fbc92..6afabf2f9 100644 --- a/docs/how/cmake_tslang/CMakeLists.txt +++ b/docs/how/cmake_tslang/CMakeLists.txt @@ -34,7 +34,7 @@ add_executable(${PROJECT_NAME} ) # required libs -set(TSLANG_LINK_LIBS "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") +set(TSLANG_LINK_LIBS "TypeScriptDefaultLib" "TypeScriptAsyncRuntime" "gc" "LLVMSupport") # ntdll provides RtlGetLastNtStatus (pulled in by LLVMSupport) on Windows if(WIN32) diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index 86113a0c8..2f41c009e 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -339,7 +339,7 @@ add_executable(${PROJECT_NAME} ) # required libs -set(TSLANG_LINK_LIBS "gc" "LLVMSupport" "TypeScriptAsyncRuntime" "TypeScriptDefaultLib") +set(TSLANG_LINK_LIBS "TypeScriptDefaultLib" "TypeScriptAsyncRuntime" "gc" "LLVMSupport") # ntdll provides RtlGetLastNtStatus (pulled in by LLVMSupport) on Windows if(WIN32) From d3238df550174d84beb11e63cfe463f9d36d55c8 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Thu, 2 Jul 2026 00:49:16 +0100 Subject: [PATCH 26/27] Update README.md: add CMake project instructions for TSLANG --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 818857779..9114cfecf 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,16 @@ on the fly via a built-in JIT — no Node.js or JavaScript runtime required. tslang --new Test1 ``` +- CMake project (mixed C++/TypeScript, `TSLANG` registered as a first-class CMake language) +```bat +tslang --cmake Test1 +``` +Generates a ready-to-build project (`CMakeLists.txt`, `CMakePresets.json`, `main.cpp`, sample `.ts` sources and the `cmake/` TSLANG language modules). Build it with: +```bat +cd Test1 +cmake --preset default && cmake --build --preset default +``` + - Strict null checks ```typescript let sn: string | null = null; // Ok From e6b6eaaaa4b0dd1b6176d8fd019c973288d4d177 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Thu, 2 Jul 2026 16:55:57 +0100 Subject: [PATCH 27/27] Update CMake configuration: enhance TSLANG compiler detection logic and improve path handling --- .../include/TypeScript/VSCodeTemplate/Files.h | 2 +- tslang/tslang/cmake.cpp | 20 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/tslang/include/TypeScript/VSCodeTemplate/Files.h b/tslang/include/TypeScript/VSCodeTemplate/Files.h index 2f41c009e..dfae8d9b2 100644 --- a/tslang/include/TypeScript/VSCodeTemplate/Files.h +++ b/tslang/include/TypeScript/VSCodeTemplate/Files.h @@ -486,7 +486,7 @@ compile often and want CMake to treat as first-class. const auto CMAKE_DETERMINE_TSLANG_COMPILER_DATA = R"raw(# Locate your custom compiler find_program(CMAKE_TSLANG_COMPILER NAMES tslang tslang.exe - HINTS "${CMAKE_SOURCE_DIR}/tools" + HINTS "<>" "${CMAKE_SOURCE_DIR}/tools" DOC "TSLANG compiler") cmake_path(GET CMAKE_TSLANG_COMPILER PARENT_PATH CMAKE_TSLANG_DIR) diff --git a/tslang/tslang/cmake.cpp b/tslang/tslang/cmake.cpp index 4f901e569..33852a0a4 100644 --- a/tslang/tslang/cmake.cpp +++ b/tslang/tslang/cmake.cpp @@ -19,6 +19,9 @@ extern cl::opt inputFilename; int create_file_base(StringRef filepath, StringRef data); int substitute(StringRef data, StringMap &values, SmallString<128> &result); +string getExecutablePath(const char *); +string fixpath(string, const SmallVectorImpl&); + int createCMakeFolder(int argc, char **argv) { auto projectName = StringRef(inputFilename); @@ -96,7 +99,22 @@ int createCMakeFolder(int argc, char **argv) return -1; } - if (auto error_code = create_file_base("CMakeDetermineTSLANGCompiler.cmake", CMAKE_DETERMINE_TSLANG_COMPILER_DATA)) + // hint for finding tslang app (same logic as in createVSCodeFolder) + SmallVector args(argv, argv + 1); + auto driverPath = getExecutablePath(args[0]); + + SmallVector appPath{}; + appPath.append(driverPath.begin(), driverPath.end()); + path::remove_filename(appPath); + + auto tslangAppPath = fixpath(string(appPath.begin(), appPath.end()), appPath); + vals["TSLANG_APP_PATH"] = tslangAppPath; + + StringRef determineCompiler(CMAKE_DETERMINE_TSLANG_COMPILER_DATA); + SmallString<128> resultDetermineCompiler; + substitute(determineCompiler, vals, resultDetermineCompiler); + + if (auto error_code = create_file_base("CMakeDetermineTSLANGCompiler.cmake", resultDetermineCompiler.str())) { return -1; }