From b7b17e0e7b010915c4c5d2a0aa4869c95f87ff00 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Sat, 22 Aug 2026 02:35:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20main=20=E7=9A=84=20import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dbg/llvmtype-overwrite-crash.env | 2 + .gitignore | 5 +- PROF/1.txt | 389 ++++ PROF/_check_returns.py | 62 + PROF/_main_analyze.py | 19 + PROF/_worker_analyze.py | 23 + PROF/_worker_one.py | 11 + PROF/combined_worker_cum.txt | 936 ++++++++ PROF/combined_worker_tottime.txt | 936 ++++++++ PROF/main_prof_54088.prof | Bin 0 -> 154347 bytes PROF/main_time.txt | 1 + R.PY | 26 + TODO | 18 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../output/748d0424e8976fa0.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 434276 -> 516228 bytes .../output/aa246c6e6aa30484.deps.json | 2 +- .../output/bbdf3bbd4c3bc28c.deps.json | 2 +- .../output/c9f4be41ca1cc2b4.deps.json | 1 - .../output/fc980acec33d69a7.deps.json | 2 +- Test/ArgparseTest/temp/_phase1_manifest.json | 2 +- Test/ArgparseTest/temp/_sha1_map.txt | 6 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/ArgparseTest/temp/c9f4be41ca1cc2b4.vpi | 22 - Test/AstTest/.tpv_build/temp/_sha1_map.txt | 35 +- .../AstTest/output/067c78e9f121dce3.deps.json | 2 +- .../AstTest/output/06f53cc594b4ac6c.deps.json | 2 +- .../AstTest/output/0853acdbdfc9b27c.deps.json | 1 - .../AstTest/output/0c67644125bea0fd.deps.json | 2 +- .../AstTest/output/28de517e3820658a.deps.json | 2 +- .../AstTest/output/6446627d4f07a1b5.deps.json | 2 +- .../AstTest/output/72e2d5ccb7cedcf1.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 1554803 -> 1742804 bytes .../AstTest/output/d137b1f3311f3a7f.deps.json | 2 +- .../AstTest/output/f6ab8989f3545e83.deps.json | 1 - .../AstTest/output/f6b51804a0ba8ff0.deps.json | 2 +- Test/AstTest/temp/0853acdbdfc9b27c.doc.json | 1 - Test/AstTest/temp/0853acdbdfc9b27c.vpi | 22 - .../AstTest/temp/0c67644125bea0fd.stub.ll.dep | 2 +- Test/AstTest/temp/_phase1_manifest.json | 2 +- Test/AstTest/temp/_sha1_map.txt | 23 +- .../AstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/AstTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../AstTest/temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/AstTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/04/04e5fe47ff2af528.deps.txt | 1 - .../.tpv_build/temp/04/04e5fe47ff2af528.vpi | 97 - .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../.tpv_build/temp/06/067c78e9f121dce3.vpi | 133 -- .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../.tpv_build/temp/06/06f53cc594b4ac6c.vpi | 101 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/89/894f43429bd57061.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/BuddyTest/.tpv_build/temp/_sha1_map.txt | 23 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/d8/d85446c302a9efc8.deps.txt | 1 - .../.tpv_build/temp/d8/d85446c302a9efc8.vpi | 18 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../.tpv_build/temp/f6/f6ab8989f3545e83.vpi | 19 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../output/067c78e9f121dce3.deps.json | 1 - .../output/06f53cc594b4ac6c.deps.json | 1 - .../output/5e430ae5bf7af3a2.deps.json | 2 +- .../output/6446627d4f07a1b5.deps.json | 1 - .../output/72e2d5ccb7cedcf1.deps.json | 1 - .../output/_shared_sym_includes.pickle | Bin 591426 -> 0 bytes .../output/d137b1f3311f3a7f.deps.json | 1 - .../output/f6ab8989f3545e83.deps.json | 1 - .../output/f6b51804a0ba8ff0.deps.json | 1 - Test/BuddyTest/temp/_phase1_manifest.json | 2 +- Test/BuddyTest/temp/_sha1_map.txt | 10 +- Test/BuddyTest/temp/_shared_sym.json | Bin 425070 -> 568234 bytes .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/BuddyTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/BuddyTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 14 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/7c/7c5d5ec59c5fb0a8.deps.txt | 1 - .../.tpv_build/temp/7c/7c5d5ec59c5fb0a8.vpi | 760 ------- .../CPythonTest/.tpv_build/temp/_sha1_map.txt | 8 +- .../output/7c5d5ec59c5fb0a8.deps.json | 1 - .../output/fb6cea4f70fade7a.deps.json | 2 +- .../temp/7c5d5ec59c5fb0a8.doc.json | 1 - Test/CPythonTest/temp/7c5d5ec59c5fb0a8.vpi | 765 ------- Test/CPythonTest/temp/_phase1_manifest.json | 2 +- Test/CPythonTest/temp/_sha1_map.txt | 2 +- Test/CPythonTest/temp/_shared_sym.json | Bin 624208 -> 704414 bytes .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../.tpv_build/temp/52/52e6b51da061882f.vpi | 2 +- .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../ClosureTest/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../.tpv_build/temp/81/814e6b31adfc6256.vpi | 59 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/DictTest/.tpv_build/temp/_sha1_map.txt | 13 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../.tpv_build/temp/b3/b3c2b99b6f3be4c7.vpi | 14 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/20cd49775c100a38.deps.json | 2 +- .../output/240a9a4157959a9f.deps.json | 2 +- .../output/6ddf430432a0e373.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 716546 -> 807860 bytes .../output/b3c2b99b6f3be4c7.deps.json | 1 - .../output/e0f0afe3caa1e486.deps.json | 2 +- .../temp/20cd49775c100a38.stub.ll.dep | 2 +- .../temp/240a9a4157959a9f.stub.ll.dep | 2 +- Test/DictTest/temp/_phase1_manifest.json | 2 +- Test/DictTest/temp/_sha1_map.txt | 8 +- Test/DictTest/temp/b3c2b99b6f3be4c7.doc.json | 1 - Test/DictTest/temp/b3c2b99b6f3be4c7.vpi | 17 - .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/DictTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/e0f0afe3caa1e486.stub.ll.dep | 2 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/DocTest/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../DocTest/output/14a9b576ab5d21c9.deps.json | 2 +- .../DocTest/output/748d0424e8976fa0.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 368311 -> 449366 bytes .../DocTest/output/bbdf3bbd4c3bc28c.deps.json | 2 +- .../DocTest/output/f26d7266c4f8762b.deps.json | 2 +- .../DocTest/output/fc980acec33d69a7.deps.json | 2 +- Test/DocTest/temp/_phase1_manifest.json | 2 +- Test/DocTest/temp/_sha1_map.txt | 2 +- Test/DocTest/temp/_shared_sym.json | Bin 365027 -> 446082 bytes .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../.tpv_build/temp/78/78943d0dbc89a29a.vpi | 13 - Test/EqTest/.tpv_build/temp/_sha1_map.txt | 14 +- Test/EqTest/output/78943d0dbc89a29a.deps.json | 1 - Test/EqTest/temp/78943d0dbc89a29a.doc.json | 1 - Test/EqTest/temp/78943d0dbc89a29a.vpi | 16 - Test/EqTest/temp/_phase1_manifest.json | 2 +- Test/EqTest/temp/_sha1_map.txt | 4 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../Extern2Test/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../.tpv_build/temp/48/48352329f97d0858.vpi | 16 - .../.tpv_build/temp/_sha1_map.txt | 17 +- .../output/48352329f97d0858.deps.json | 1 - .../output/74cd54a2cba56957.deps.json | 2 +- .../output/7cadfe07e983fd90.deps.json | 1 - .../output/_shared_sym_includes.pickle | Bin 689382 -> 772083 bytes .../output/b311b47f33281389.deps.json | 2 +- .../temp/48352329f97d0858.doc.json | 1 - Test/FakeDuckTest/temp/48352329f97d0858.vpi | 19 - .../temp/74cd54a2cba56957.stub.ll.dep | 2 +- .../temp/7cadfe07e983fd90.stub.ll.dep | 2 +- Test/FakeDuckTest/temp/_phase1_manifest.json | 2 +- Test/FakeDuckTest/temp/_sha1_map.txt | 8 +- .../temp/b311b47f33281389.stub.ll.dep | 2 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../.tpv_build/temp/6d/6deb1a24b47f47fc.vpi | 33 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 18 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../.tpv_build/temp/b3/b311b47f33281389.vpi | 30 - .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/6deb1a24b47f47fc.deps.json | 2 +- .../temp/7cadfe07e983fd90.stub.ll.dep | 2 +- .../ForAndLoopTest/temp/_phase1_manifest.json | 2 +- Test/ForAndLoopTest/temp/_sha1_map.txt | 6 +- .../temp/b311b47f33281389.stub.ll.dep | 2 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/067f811511854c88.deps.txt | 1 - .../.tpv_build/temp/06/067f811511854c88.vpi | 42 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi | 86 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/FuncTest/.tpv_build/temp/_sha1_map.txt | 19 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - Test/FuncTest/App/main.vp | 2 +- .../output/067f811511854c88.deps.json | 1 - Test/FuncTest/temp/067c78e9f121dce3.vpi | 136 -- Test/FuncTest/temp/067f811511854c88.doc.json | 1 - Test/FuncTest/temp/067f811511854c88.vpi | 48 - Test/FuncTest/temp/06f53cc594b4ac6c.vpi | 109 - .../temp/285b6aa29a34754d.stub.ll.dep | 0 Test/FuncTest/temp/285b6aa29a34754d.vpi | 23 - Test/FuncTest/temp/6446627d4f07a1b5.vpi | 86 - .../temp/72e2d5ccb7cedcf1.stub.ll.dep | 1 - Test/FuncTest/temp/72e2d5ccb7cedcf1.vpi | 91 - .../temp/748d0424e8976fa0.stub.ll.dep | 1 - Test/FuncTest/temp/748d0424e8976fa0.vpi | 31 - Test/FuncTest/temp/_phase1_manifest.json | 1 - Test/FuncTest/temp/_sha1_map.txt | 7 - .../temp/bbdf3bbd4c3bc28c.stub.ll.dep | 1 - Test/FuncTest/temp/bbdf3bbd4c3bc28c.vpi | 138 -- Test/FuncTest/temp/d137b1f3311f3a7f.vpi | 81 - .../temp/f5522571bcce7bcb.stub.ll.dep | 0 Test/FuncTest/temp/f5522571bcce7bcb.vpi | 100 - Test/FuncTest/temp/f6b51804a0ba8ff0.vpi | 192 -- .../temp/fc980acec33d69a7.stub.ll.dep | 1 - Test/FuncTest/temp/fc980acec33d69a7.vpi | 100 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/G3/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/G4/.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - Test/G4/output/8569e2ead0d06bb4.deps.json | 2 +- Test/G4/output/88875f3ba3ace594.deps.json | 2 +- Test/G4/output/a45655b992cc8767.deps.json | 2 +- Test/G4/output/ca0f8dd74e6cb63c.deps.json | 2 +- Test/G4/temp/_phase1_manifest.json | 2 +- Test/G4/temp/_sha1_map.txt | 6 +- Test/G4/temp/_shared_sym.json | Bin 411787 -> 494184 bytes Test/G4/temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/G4/temp/c9f4be41ca1cc2b4.vpi | 22 - Test/G4/temp/dbd53aaa91309ba1.stub.ll.dep | 2 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/G5/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - Test/G5/output/5c5f2d19bc9e75ab.deps.json | 2 +- Test/G5/temp/_phase1_manifest.json | 2 +- Test/G5/temp/_sha1_map.txt | 6 +- Test/G5/temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/G5/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/G6/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/G7/.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - Test/G7/output/12c1b8e59d117476.deps.json | 2 +- Test/G7/temp/_phase1_manifest.json | 2 +- Test/G7/temp/_sha1_map.txt | 6 +- Test/G7/temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/G7/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../.tpv_build/temp/16/16e1f65b154831e8.vpi | 18 +- .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../GenericTest/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../.tpv_build/temp/bd/bdfc8bd243b7e5b7.vpi | 28 +- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - Test/GenericTest2/temp/_phase1_manifest.json | 2 +- .../.tpv_build/temp/01/01d9e58c9dd31a4d.vpi | 9 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../.tpv_build/temp/02/02d833b3cf571c5b.vpi | 15 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../.tpv_build/temp/2b/2b77d783c41d21d1.vpi | 41 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 19 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/02d833b3cf571c5b.deps.json | 1 - .../temp/02d833b3cf571c5b.doc.json | 1 - Test/HashTableTest/temp/02d833b3cf571c5b.vpi | 18 - Test/HashTableTest/temp/_phase1_manifest.json | 2 +- Test/HashTableTest/temp/_sha1_map.txt | 8 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/HashTableTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6b/6b8853854d6ef556.deps.txt | 1 - .../.tpv_build/temp/6b/6b8853854d6ef556.vpi | 17 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi | 86 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/IterTest/.tpv_build/temp/_sha1_map.txt | 19 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/6b8853854d6ef556.deps.json | 1 - Test/IterTest/temp/6b8853854d6ef556.doc.json | 1 - Test/IterTest/temp/6b8853854d6ef556.vpi | 23 - Test/IterTest/temp/_phase1_manifest.json | 2 +- Test/IterTest/temp/_sha1_map.txt | 4 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi | 86 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../.tpv_build/temp/8a/8a97754e9e3c2b9a.vpi | 27 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/JsonTest/.tpv_build/temp/_sha1_map.txt | 16 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../output/8a97754e9e3c2b9a.deps.json | 1 - .../temp/20cd49775c100a38.stub.ll.dep | 2 +- .../temp/240a9a4157959a9f.stub.ll.dep | 2 +- Test/JsonTest/temp/8a97754e9e3c2b9a.doc.json | 1 - Test/JsonTest/temp/8a97754e9e3c2b9a.vpi | 30 - Test/JsonTest/temp/_phase1_manifest.json | 2 +- Test/JsonTest/temp/_sha1_map.txt | 8 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/JsonTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../.tpv_build/temp/33/33d64eeb99369a85.vpi | 66 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../.tpv_build/temp/40/40c03bc03431ef81.vpi | 84 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/5b/5b8cf12a5862b640.deps.txt | 1 - .../.tpv_build/temp/5b/5b8cf12a5862b640.vpi | 68 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../.tpv_build/temp/63/63d0e4548b4c4672.vpi | 143 -- .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6b/6b3bc463fd044545.vpi | 58 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../.tpv_build/temp/87/874bac141c97bae9.vpi | 112 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 33 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../.tpv_build/temp/a7/a7748ef067f79205.vpi | 217 -- .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../.tpv_build/temp/f6/f6ab8989f3545e83.vpi | 19 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../.tpv_build/temp/f9/f9e36e2cd6fa659f.vpi | 47 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/33d64eeb99369a85.deps.json | 1 - .../output/40c03bc03431ef81.deps.json | 1 - .../output/5b8cf12a5862b640.deps.json | 1 - .../output/63d0e4548b4c4672.deps.json | 1 - .../output/6b3bc463fd044545.deps.json | 1 - .../output/874bac141c97bae9.deps.json | 1 - .../output/_shared_sym_includes.pickle | Bin 869210 -> 990182 bytes .../output/a7748ef067f79205.deps.json | 1 - .../output/f9e36e2cd6fa659f.deps.json | 1 - .../temp/33d64eeb99369a85.stub.ll.dep | 0 Test/LLvmLiteTest/temp/33d64eeb99369a85.vpi | 70 - .../temp/40c03bc03431ef81.stub.ll.dep | 1 - Test/LLvmLiteTest/temp/40c03bc03431ef81.vpi | 89 - .../temp/5b8cf12a5862b640.doc.json | 1 - Test/LLvmLiteTest/temp/5b8cf12a5862b640.vpi | 72 - .../temp/63d0e4548b4c4672.stub.ll.dep | 1 - Test/LLvmLiteTest/temp/63d0e4548b4c4672.vpi | 143 -- .../temp/6b3bc463fd044545.stub.ll.dep | 1 - Test/LLvmLiteTest/temp/6b3bc463fd044545.vpi | 63 - .../temp/874bac141c97bae9.stub.ll.dep | 1 - Test/LLvmLiteTest/temp/874bac141c97bae9.vpi | 119 - Test/LLvmLiteTest/temp/_phase1_manifest.json | 2 +- Test/LLvmLiteTest/temp/_sha1_map.txt | 24 +- .../temp/a7748ef067f79205.stub.ll.dep | 1 - Test/LLvmLiteTest/temp/a7748ef067f79205.vpi | 229 -- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/LLvmLiteTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/f9e36e2cd6fa659f.stub.ll.dep | 1 - Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.vpi | 51 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/ListTest/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/1ff2c5eb32359e40.deps.json | 2 +- .../temp/7cadfe07e983fd90.stub.ll.dep | 2 +- Test/ListTest/temp/_phase1_manifest.json | 2 +- Test/ListTest/temp/_sha1_map.txt | 6 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/ListTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/LoopTest/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/MemhubTest/.tpv_build/temp/_sha1_map.txt | 15 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/3ff210e50f345c7c.deps.json | 2 +- Test/MemhubTest/temp/_phase1_manifest.json | 2 +- Test/MemhubTest/temp/_sha1_map.txt | 6 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/MemhubTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/22/22bc0df83b3f0e62.vpi | 180 -- .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../.tpv_build/temp/43/4337fb260448bbe2.vpi | 76 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/NewAstTest/.tpv_build/temp/_sha1_map.txt | 31 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../.tpv_build/temp/b5/b543bc1dfb592119.vpi | 265 --- .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../.tpv_build/temp/f5/f5d13f1be34f417a.vpi | 64 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../.tpv_build/temp/fd/fde6db0747bdd959.vpi | 211 -- .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../output/4175f14c5fbef360.deps.json | 2 +- .../output/4dd6b3f1427d1cc5.deps.json | 1 - .../output/657e182b27c2a022.deps.json | 1 - .../output/_shared_sym_includes.pickle | Bin 1247159 -> 0 bytes .../output/b547ac4f380bddb6.deps.json | 1 - .../output/fde6db0747bdd959.deps.json | 1 - .../temp/4dd6b3f1427d1cc5.stub.ll.dep | 1 - Test/NewAstTest/temp/4dd6b3f1427d1cc5.vpi | 82 - .../temp/657e182b27c2a022.stub.ll.dep | 1 - Test/NewAstTest/temp/657e182b27c2a022.vpi | 226 -- .../temp/7cadfe07e983fd90.stub.ll.dep | 2 +- Test/NewAstTest/temp/_phase1_manifest.json | 2 +- Test/NewAstTest/temp/_sha1_map.txt | 24 +- .../temp/b547ac4f380bddb6.stub.ll.dep | 1 - Test/NewAstTest/temp/b547ac4f380bddb6.vpi | 166 -- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/NewAstTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/NewAstTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/fde6db0747bdd959.stub.ll.dep | 1 - Test/NewAstTest/temp/fde6db0747bdd959.vpi | 215 -- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../.tpv_build/temp/22/22650858c377c847.vpi | 60 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 19 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../.tpv_build/temp/f6/f6ab8989f3545e83.vpi | 19 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/22650858c377c847.deps.json | 1 - .../temp/22650858c377c847.doc.json | 1 - Test/NoVTableTest/temp/22650858c377c847.vpi | 64 - Test/NoVTableTest/temp/_phase1_manifest.json | 2 +- Test/NoVTableTest/temp/_sha1_map.txt | 8 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/NoVTableTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/NoVTableTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi | 86 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../PointerTest/.tpv_build/temp/_sha1_map.txt | 19 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../.tpv_build/temp/b4/b436212dcff1be29.vpi | 43 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/b436212dcff1be29.deps.json | 1 - Test/PointerTest/temp/_phase1_manifest.json | 2 +- Test/PointerTest/temp/_sha1_map.txt | 4 +- .../temp/b436212dcff1be29.doc.json | 1 - Test/PointerTest/temp/b436212dcff1be29.vpi | 48 - .../.tpv_build/temp/_sha1_map.txt | 12 + .../output/a711c9c66fd7c6ca.deps.json | 2 +- .../temp/_phase1_manifest.json | 2 +- Test/ShortCircuitTest/temp/_sha1_map.txt | 2 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/SimdTest/.tpv_build/temp/_sha1_map.txt | 22 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../.tpv_build/temp/c3/c3a6aed1f1fb8b1e.vpi | 235 -- .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../output/3f7c5e78d8652535.deps.json | 1 - .../output/6dde8fc09b24666c.deps.json | 1 - .../output/90f67f777f23b84b.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 600486 -> 683544 bytes .../output/aa246c6e6aa30484.deps.json | 2 +- .../output/c3a6aed1f1fb8b1e.deps.json | 1 - .../output/c9f4be41ca1cc2b4.deps.json | 1 - .../temp/3f7c5e78d8652535.stub.ll.dep | 0 Test/SimdTest/temp/3f7c5e78d8652535.vpi | 128 -- .../temp/6dde8fc09b24666c.stub.ll.dep | 0 Test/SimdTest/temp/6dde8fc09b24666c.vpi | 91 - Test/SimdTest/temp/_phase1_manifest.json | 2 +- Test/SimdTest/temp/_sha1_map.txt | 12 +- .../temp/c3a6aed1f1fb8b1e.stub.ll.dep | 0 Test/SimdTest/temp/c3a6aed1f1fb8b1e.vpi | 240 -- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/SimdTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/22/22bc0df83b3f0e62.vpi | 180 -- .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../.tpv_build/temp/43/4337fb260448bbe2.vpi | 76 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 31 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../.tpv_build/temp/b5/b543bc1dfb592119.vpi | 265 --- .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../.tpv_build/temp/f5/f5d13f1be34f417a.vpi | 64 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../.tpv_build/temp/fd/fde6db0747bdd959.vpi | 211 -- .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../output/44bd5632a417f7ac.deps.json | 2 +- .../temp/4dd6b3f1427d1cc5.stub.ll.dep | 1 - Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.vpi | 82 - .../temp/657e182b27c2a022.stub.ll.dep | 1 - Test/SlotsBugTest/temp/657e182b27c2a022.vpi | 226 -- Test/SlotsBugTest/temp/_phase1_manifest.json | 2 +- Test/SlotsBugTest/temp/_sha1_map.txt | 24 +- .../temp/b547ac4f380bddb6.stub.ll.dep | 1 - Test/SlotsBugTest/temp/b547ac4f380bddb6.vpi | 166 -- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/SlotsBugTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/fde6db0747bdd959.stub.ll.dep | 1 - Test/SlotsBugTest/temp/fde6db0747bdd959.vpi | 215 -- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../SprintfTest/.tpv_build/temp/_sha1_map.txt | 19 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f4/f492cb40d913400b.deps.txt | 1 - .../.tpv_build/temp/f4/f492cb40d913400b.vpi | 12 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../.tpv_build/temp/f6/f6ab8989f3545e83.vpi | 19 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/f492cb40d913400b.deps.json | 1 - Test/SprintfTest/temp/_phase1_manifest.json | 2 +- Test/SprintfTest/temp/_sha1_map.txt | 7 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/SprintfTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/f492cb40d913400b.doc.json | 1 - Test/SprintfTest/temp/f492cb40d913400b.vpi | 15 - .../temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/SprintfTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../.tpv_build/temp/14/14b944bb7e81fd72.vpi | 2 +- .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/924ed8cd4ea5c4c2.deps.json | 1 - .../temp/6c658cc728d0bbf4.stub.ll.dep | 1 - Test/StringIterTest/temp/6c658cc728d0bbf4.vpi | 22 - .../temp/7cadfe07e983fd90.stub.ll.dep | 1 - Test/StringIterTest/temp/7cadfe07e983fd90.vpi | 30 - .../temp/924ed8cd4ea5c4c2.doc.json | 1 - Test/StringIterTest/temp/924ed8cd4ea5c4c2.vpi | 38 - .../StringIterTest/temp/_phase1_manifest.json | 2 +- Test/StringIterTest/temp/_sha1_map.txt | 9 +- .../temp/aa246c6e6aa30484.stub.ll.dep | 0 Test/StringIterTest/temp/aa246c6e6aa30484.vpi | 26 - .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/StringIterTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/00/35/c9/0035c95a18d4f8e8.deps.txt | 1 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/06/7c/78/067c78e9f121dce3.deps.txt | 1 - .../temp/06/f5/3c/06f53cc594b4ac6c.deps.txt | 1 - .../temp/07/53/6d/07536d26b435806c.deps.txt | 1 - .../temp/0c/21/29/0c212981c180e7fb.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/0d/f6/5b/0df65b8ed15664b0.deps.txt | 1 - .../temp/13/11/0e/13110effbb0bb06c.deps.txt | 1 - .../temp/14/d3/36/14d33679f7fadf1f.deps.txt | 1 - .../temp/14/d3/36/14d33679f7fadf1f.pyi | 27 - .../temp/15/f1/de/15f1ded02f3aa5bc.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/19/f8/02/19f8024d10c828e8.deps.txt | 1 - .../temp/1c/46/d5/1c46d554b3a3f9f3.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/20/cd/49/20cd49775c100a38.deps.txt | 1 - .../temp/20/cd/49/20cd49775c100a38.pyi | 18 - .../temp/21/33/48/213348433fb01cc6.deps.txt | 1 - .../temp/21/a7/fc/21a7fcfc665f75ef.deps.txt | 1 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../temp/24/0a/9a/240a9a4157959a9f.deps.txt | 1 - .../temp/24/0a/9a/240a9a4157959a9f.pyi | 34 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/25/7e/07/257e074b935c33b4.deps.txt | 1 - .../temp/27/1e/a3/271ea3decb810db2.deps.txt | 1 - .../temp/27/1e/a3/271ea3decb810db2.pyi | 22 - .../temp/28/5a/82/285a822aa26bfbda.deps.txt | 1 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/2d/39/c6/2d39c6c7d3557b3e.deps.txt | 1 - .../temp/2d/a6/36/2da636c61863c815.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/34/54/87/34548789d646f432.deps.txt | 1 - .../temp/34/87/a2/3487a256b250bb74.deps.txt | 1 - .../temp/36/24/cf/3624cfde3c5cb6cb.deps.txt | 1 - .../temp/39/17/8d/39178dc5ba692b92.deps.txt | 1 - .../temp/39/39178dc5ba692b92.deps.txt | 1 - .../.tpv_build/temp/39/39178dc5ba692b92.vpi | 25 - .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/3f/7c/5e/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/37/fb/4337fb260448bbe2.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/17/45/451745df21e598af.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/47/76/7b/47767b5026a8ee15.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/4d/d6/b3/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/56/d0/7e/56d07ea7e30ef631.deps.txt | 1 - .../temp/57/28/84/57288496f7c2d1ad.deps.txt | 1 - .../temp/57/28/84/57288496f7c2d1ad.pyi | 65 - .../temp/5b/2e/22/5b2e220c5bae60c9.deps.txt | 1 - .../temp/5d/ab/8c/5dab8cb390496d22.deps.txt | 1 - .../temp/61/66/ae/6166aecc7fa7ad65.deps.txt | 1 - .../temp/62/cc/01/62cc01c2bb770ca3.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/46/62/6446627d4f07a1b5.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/03/c9/6503c97dde0c79c4.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/65/7e/18/657e182b27c2a022.deps.txt | 1 - .../temp/66/87/90/668790e6c9efdbae.deps.txt | 1 - .../temp/66/87/90/668790e6c9efdbae.pyi | 27 - .../temp/6b/3b/c4/6b3bc463fd044545.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/53/5d/6d535de0b03e99b5.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/62/fe/6f62fe05c5ea1ceb.deps.txt | 1 - .../temp/6f/62/fe/6f62fe05c5ea1ceb.pyi | 23 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/6f/f2/65/6ff26590374ae6fc.deps.txt | 1 - .../temp/71/e0/a3/71e0a3ffcb3ebfad.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi | 86 - .../temp/72/e2/d5/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/72/e2/d5/72e2d5ccb7cedcf1.pyi | 86 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/76/dd/6c/76dd6c275aa72b3b.deps.txt | 1 - .../temp/79/b3/37/79b337e5ea8951e2.deps.txt | 1 - .../temp/7e/52/9f/7e529fe7a078cfef.deps.txt | 1 - .../temp/7e/52/9f/7e529fe7a078cfef.pyi | 101 - .../temp/87/27/4c/87274c2b0190fb33.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/89/b3/96/89b3965176cd2407.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/8e/be/d8/8ebed83a7817fa0c.deps.txt | 1 - .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/90/92/1d/90921d009fdd674c.deps.txt | 1 - .../temp/90/c5/3d/90c53dd6db8d41cf.deps.txt | 1 - .../temp/93/c1/d1/93c1d18e35d188d6.deps.txt | 1 - .../temp/94/6e/08/946e087da91aaada.deps.txt | 1 - .../temp/95/39/4c/95394ca8da0f655a.deps.txt | 1 - .../temp/96/83/7b/96837bcc64032444.deps.txt | 1 - .../temp/97/1e/24/971e24c228377a9b.deps.txt | 1 - .../temp/99/5f/88/995f884b86cf981e.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../temp/9d/86/26/9d8626a10208b8de.deps.txt | 1 - Test/StringTest/.tpv_build/temp/_sha1_map.txt | 30 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a6/8b/70/a68b70f233541a7f.deps.txt | 1 - .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/a7/bc/8c/a7bc8c01684c0001.deps.txt | 1 - .../temp/ab/a4/39/aba439b7882ad9d6.deps.txt | 1 - .../temp/ab/bc/bd/abbcbd92436cc16a.deps.txt | 1 - .../temp/ad/6c/85/ad6c853acfc0c146.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b1/9a/9e/b19a9e500f677f2e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/47/ac/b547ac4f380bddb6.deps.txt | 1 - .../temp/b5/58/d8/b558d8d8f01f4825.deps.txt | 1 - .../temp/b5/a9/65/b5a965302cded36b.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/b6/2e/de/b62eded2baf30423.deps.txt | 1 - .../temp/b8/c6/6c/b8c66c8ff44eb874.deps.txt | 1 - .../temp/ba/12/ed/ba12ed409d78139e.deps.txt | 1 - .../temp/ba/12/ed/ba12ed409d78139e.pyi | 54 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/bb/df/3b/bbdf3bbd4c3bc28c.deps.txt | 1 - .../temp/bb/df/3b/bbdf3bbd4c3bc28c.pyi | 141 -- .../temp/c1/8c/3a/c18c3a20f82d7525.deps.txt | 1 - .../temp/c2/4f/25/c24f25b14b4bbd0a.deps.txt | 1 - .../temp/c3/a6/ae/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c3/b2/59/c3b259b4059f8668.deps.txt | 1 - .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/c9/d5/4a/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/f4/be/c9f4be41ca1cc2b4.deps.txt | 1 - .../temp/c9/f4/be/c9f4be41ca1cc2b4.pyi | 19 - .../temp/d0/89/e2/d089e25a15c6f6e0.deps.txt | 1 - .../temp/d0/89/e2/d089e25a15c6f6e0.pyi | 86 - .../temp/d1/52/11/d152115b49e50218.deps.txt | 1 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/41/ad/d541ade6afb689a5.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/d6/3d/2c/d63d2c2a2bd9bd2a.deps.txt | 1 - .../temp/d7/e3/38/d7e3386b828acb66.deps.txt | 1 - .../temp/d9/89/a2/d989a211953ede05.deps.txt | 1 - .../temp/da/44/92/da44924f0777c67a.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/e0/f1/d8/e0f1d864a10b2e4d.deps.txt | 1 - .../temp/e1/f7/ae/e1f7ae4d330dcf9f.deps.txt | 1 - .../temp/e3/e7/b6/e3e7b6de8d7d8b03.deps.txt | 1 - .../temp/e3/e7/b6/e3e7b6de8d7d8b03.pyi | 49 - .../temp/ea/80/a4/ea80a4a724accbda.deps.txt | 1 - .../temp/ee/52/c0/ee52c08239684346.deps.txt | 1 - .../temp/f5/52/25/f5522571bcce7bcb.deps.txt | 1 - .../temp/f5/52/25/f5522571bcce7bcb.pyi | 95 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/b5/18/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/e3/6e/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - Test/StringTest/App/main.vp | 1 + .../output/39178dc5ba692b92.deps.json | 2 +- Test/StringTest/temp/_phase1_manifest.json | 2 +- Test/StringTest/temp/_sha1_map.txt | 2 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi | 86 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/StructTest/.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/24e26a8de1173993.deps.json | 2 +- Test/StructTest/temp/_phase1_manifest.json | 2 +- Test/StructTest/temp/_sha1_map.txt | 2 +- Test/SysLibTest/.tpv_build/temp/_sha1_map.txt | 29 +- .../output/0c67644125bea0fd.deps.json | 1 - .../output/13110effbb0bb06c.deps.json | 2 +- .../output/28de517e3820658a.deps.json | 1 - .../output/4826f733b0735536.deps.json | 2 +- .../output/59e00d50660b941e.deps.json | 2 +- .../output/7d8c26e41226955a.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 831022 -> 913755 bytes .../output/a03139660029514f.deps.json | 2 +- .../output/a335eb99f2e34479.deps.json | 2 +- .../output/a68b70f233541a7f.deps.json | 2 +- .../output/c70684ccfe48a5a9.deps.json | 2 +- .../output/d152115b49e50218.deps.json | 2 +- .../temp/0c67644125bea0fd.stub.ll.dep | 2 +- .../temp/13110effbb0bb06c.stub.ll.dep | 2 +- .../temp/7d8c26e41226955a.stub.ll.dep | 2 +- Test/SysLibTest/temp/_phase1_manifest.json | 2 +- Test/SysLibTest/temp/_sha1_map.txt | 8 +- Test/SysLibTest/temp/_shared_sym.json | Bin 762350 -> 845083 bytes .../temp/a335eb99f2e34479.stub.ll.dep | 2 +- .../temp/a68b70f233541a7f.stub.ll.dep | 2 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/SysLibTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/d152115b49e50218.stub.ll.dep | 2 +- .../temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/SysLibTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../.tpv_build/temp/4f/4fb8940ff5ab1022.vpi | 31 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../.tpv_build/temp/6c/6c658cc728d0bbf4.vpi | 18 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/7c/7cadfe07e983fd90.deps.txt | 2 +- .../.tpv_build/temp/7c/7cadfe07e983fd90.vpi | 27 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/aa/aa246c6e6aa30484.deps.txt | 2 +- .../.tpv_build/temp/aa/aa246c6e6aa30484.vpi | 22 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/067c78e9f121dce3.deps.json | 2 +- .../output/06f53cc594b4ac6c.deps.json | 2 +- .../output/4fb8940ff5ab1022.deps.json | 1 - .../output/6446627d4f07a1b5.deps.json | 2 +- .../output/72e2d5ccb7cedcf1.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 601704 -> 682416 bytes .../output/d137b1f3311f3a7f.deps.json | 2 +- .../output/f6b51804a0ba8ff0.deps.json | 2 +- .../temp/4fb8940ff5ab1022.doc.json | 1 - Test/TestFBProject/temp/4fb8940ff5ab1022.vpi | 34 - Test/TestFBProject/temp/_phase1_manifest.json | 2 +- Test/TestFBProject/temp/_sha1_map.txt | 2 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi | 86 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../.tpv_build/temp/78/78418cf2ee722f0f.vpi | 2 +- .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/78418cf2ee722f0f.deps.json | 2 +- Test/TypeCastTest/temp/_phase1_manifest.json | 2 +- Test/TypeCastTest/temp/_sha1_map.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../.tpv_build/temp/3f/3f7c5e78d8652535.vpi | 123 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../VRandomTest/.tpv_build/temp/_sha1_map.txt | 18 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/03d3ece355d95d76.deps.json | 2 +- .../output/3f7c5e78d8652535.deps.json | 1 - .../output/_shared_sym_includes.pickle | Bin 416223 -> 496639 bytes .../output/e24a7f4a875f4518.deps.json | 2 +- .../temp/03d3ece355d95d76.stub.ll.dep | 2 +- .../temp/3f7c5e78d8652535.stub.ll.dep | 0 Test/VRandomTest/temp/3f7c5e78d8652535.vpi | 128 -- Test/VRandomTest/temp/_phase1_manifest.json | 2 +- Test/VRandomTest/temp/_sha1_map.txt | 2 +- .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- .../.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../.tpv_build/temp/f6/f6ab8989f3545e83.vpi | 19 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/c1416dfae155d6e2.deps.json | 2 +- Test/VariadicTest/temp/_phase1_manifest.json | 2 +- Test/VariadicTest/temp/_sha1_map.txt | 6 +- .../temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/VariadicTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../temp/f6ab8989f3545e83.stub.ll.dep | 1 - Test/VariadicTest/temp/f6ab8989f3545e83.vpi | 23 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../.tpv_build/temp/20/20cd49775c100a38.vpi | 19 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../.tpv_build/temp/24/240a9a4157959a9f.vpi | 35 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../.tpv_build/temp/64/6446627d4f07a1b5.vpi | 85 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../.tpv_build/temp/6d/6ddf430432a0e373.vpi | 65 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../.tpv_build/temp/80/8046d45456d0b153.vpi | 14 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../temp/8e/8ebed83a7817fa0c.deps.txt | 2 +- .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/WebTest/.tpv_build/temp/_sha1_map.txt | 17 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/e0/e0f0afe3caa1e486.deps.txt | 2 +- .../.tpv_build/temp/e0/e0f0afe3caa1e486.vpi | 49 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../.tpv_build/temp/f7/f742623d43c327ea.vpi | 4 +- .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../WebTest/output/8046d45456d0b153.deps.json | 1 - .../output/_shared_sym_includes.pickle | Bin 443002 -> 525838 bytes .../WebTest/output/a2c1138ed2328b33.deps.json | 2 +- .../WebTest/output/f742623d43c327ea.deps.json | 2 +- Test/WebTest/temp/8046d45456d0b153.doc.json | 1 - Test/WebTest/temp/8046d45456d0b153.vpi | 18 - Test/WebTest/temp/_phase1_manifest.json | 2 +- Test/WebTest/temp/_sha1_map.txt | 8 +- .../WebTest/temp/a2c1138ed2328b33.stub.ll.dep | 2 +- .../WebTest/temp/c9f4be41ca1cc2b4.stub.ll.dep | 1 - Test/WebTest/temp/c9f4be41ca1cc2b4.vpi | 22 - .../WebTest/temp/f742623d43c327ea.stub.ll.dep | 2 +- .../temp/03/03b24bc1d9327958.deps.txt | 1 - .../.tpv_build/temp/03/03b24bc1d9327958.vpi | 18 - .../temp/03/03d3ece355d95d76.deps.txt | 2 +- .../temp/06/067c78e9f121dce3.deps.txt | 1 - .../temp/06/06f53cc594b4ac6c.deps.txt | 1 - .../temp/0d/0df65b8ed15664b0.deps.txt | 1 - .../temp/19/19f8024d10c828e8.deps.txt | 1 - .../temp/1f/1f6617c02fc8899d.deps.txt | 1 - .../temp/22/22bc0df83b3f0e62.deps.txt | 1 - .../temp/2b/2b77d783c41d21d1.deps.txt | 1 - .../temp/32/32cfd766982bc6e7.deps.txt | 1 - .../temp/33/33d64eeb99369a85.deps.txt | 1 - .../temp/34/3487a256b250bb74.deps.txt | 2 +- .../temp/3e/3e775aa83705b119.deps.txt | 1 - .../temp/3f/3f7c5e78d8652535.deps.txt | 1 - .../temp/40/40c03bc03431ef81.deps.txt | 1 - .../temp/43/4337fb260448bbe2.deps.txt | 1 - .../temp/45/451745df21e598af.deps.txt | 1 - .../temp/4d/4dd6b3f1427d1cc5.deps.txt | 1 - .../temp/63/63d0e4548b4c4672.deps.txt | 1 - .../temp/64/6446627d4f07a1b5.deps.txt | 1 - .../temp/65/657e182b27c2a022.deps.txt | 1 - .../temp/6b/6b3bc463fd044545.deps.txt | 1 - .../temp/6d/6dde8fc09b24666c.deps.txt | 1 - .../temp/6f/6ff26590374ae6fc.deps.txt | 1 - .../temp/72/72e2d5ccb7cedcf1.deps.txt | 1 - .../.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi | 86 - .../temp/74/74cd54a2cba56957.deps.txt | 1 - .../temp/87/874bac141c97bae9.deps.txt | 1 - .../.tpv_build/temp/87/87b3eab7da115d70.vpi | 119 - .../temp/90/90921d009fdd674c.deps.txt | 1 - .../temp/99/995f884b86cf981e.deps.txt | 2 +- Test/ZlibTest/.tpv_build/temp/_sha1_map.txt | 29 +- .../temp/a4/a44503977f4f5951.deps.txt | 2 +- .../temp/a7/a7748ef067f79205.deps.txt | 1 - .../temp/af/af37c9ab38eea99e.deps.txt | 1 - .../temp/b3/b311b47f33281389.deps.txt | 2 +- .../temp/b3/b370d93b74bf55cc.deps.txt | 1 - .../temp/b5/b543bc1dfb592119.deps.txt | 1 - .../temp/b5/b547ac4f380bddb6.deps.txt | 1 - .../temp/bb/bbdf3bbd4c3bc28c.deps.txt | 1 - .../.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi | 141 -- .../temp/c3/c3a6aed1f1fb8b1e.deps.txt | 1 - .../temp/c9/c9d54a4158f7f5a8.deps.txt | 1 - .../temp/c9/c9f4be41ca1cc2b4.deps.txt | 1 - .../.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi | 19 - .../temp/d3/d3917d97537f703c.deps.txt | 1 - .../temp/d5/d541ade6afb689a5.deps.txt | 1 - .../temp/de/de3357cb9182715e.deps.txt | 1 - .../temp/f5/f5d13f1be34f417a.deps.txt | 1 - .../temp/f6/f6ab8989f3545e83.deps.txt | 1 - .../temp/f6/f6b51804a0ba8ff0.deps.txt | 1 - .../temp/f9/f9d023d1df2bc9c5.deps.txt | 1 - .../.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi | 97 - .../temp/f9/f9e36e2cd6fa659f.deps.txt | 1 - .../temp/fc/fc980acec33d69a7.deps.txt | 1 - .../.tpv_build/temp/fc/fc980acec33d69a7.vpi | 101 - .../temp/fd/fde6db0747bdd959.deps.txt | 1 - .../temp/ff/ffaf70367668b227.deps.txt | 1 - .../.tpv_build/temp/ff/ffaf70367668b227.vpi | 54 - .../output/03b24bc1d9327958.deps.json | 1 - .../output/0f8134f67bdaba8f.deps.json | 1 - .../output/784dde8a8697b7ab.deps.json | 1 - .../output/9b7d2adaae94f021.deps.json | 1 - .../output/cb151b297f4ea56d.deps.json | 1 - .../output/d855b3e66d1d6522.deps.json | 1 - .../output/dd19090b337e9bea.deps.json | 1 - .../output/e445a2bb299d1b7d.deps.json | 1 - Test/ZlibTest/temp/03b24bc1d9327958.doc.json | 1 - Test/ZlibTest/temp/03b24bc1d9327958.vpi | 21 - Test/ZlibTest/temp/067c78e9f121dce3.vpi | 136 -- Test/ZlibTest/temp/06f53cc594b4ac6c.vpi | 109 - Test/ZlibTest/temp/0f8134f67bdaba8f.doc.json | 1 - Test/ZlibTest/temp/0f8134f67bdaba8f.vpi | 122 - .../temp/285b6aa29a34754d.stub.ll.dep | 0 Test/ZlibTest/temp/285b6aa29a34754d.vpi | 23 - Test/ZlibTest/temp/6446627d4f07a1b5.vpi | 86 - .../temp/6c658cc728d0bbf4.stub.ll.dep | 1 - Test/ZlibTest/temp/6c658cc728d0bbf4.vpi | 22 - .../temp/72e2d5ccb7cedcf1.stub.ll.dep | 1 - Test/ZlibTest/temp/72e2d5ccb7cedcf1.vpi | 91 - .../temp/748d0424e8976fa0.stub.ll.dep | 1 - Test/ZlibTest/temp/748d0424e8976fa0.vpi | 31 - Test/ZlibTest/temp/784dde8a8697b7ab.doc.json | 1 - Test/ZlibTest/temp/784dde8a8697b7ab.vpi | 54 - Test/ZlibTest/temp/9b7d2adaae94f021.doc.json | 1 - Test/ZlibTest/temp/9b7d2adaae94f021.vpi | 65 - Test/ZlibTest/temp/_phase1_manifest.json | 1 - Test/ZlibTest/temp/_sha1_map.txt | 16 - Test/ZlibTest/temp/_shared_sym.json | Bin 500100 -> 0 bytes .../temp/bbdf3bbd4c3bc28c.stub.ll.dep | 1 - Test/ZlibTest/temp/bbdf3bbd4c3bc28c.vpi | 138 -- Test/ZlibTest/temp/cb151b297f4ea56d.doc.json | 1 - Test/ZlibTest/temp/cb151b297f4ea56d.vpi | 15 - Test/ZlibTest/temp/d137b1f3311f3a7f.vpi | 81 - Test/ZlibTest/temp/d855b3e66d1d6522.doc.json | 1 - Test/ZlibTest/temp/d855b3e66d1d6522.vpi | 66 - Test/ZlibTest/temp/dd19090b337e9bea.doc.json | 1 - Test/ZlibTest/temp/dd19090b337e9bea.vpi | 41 - Test/ZlibTest/temp/e445a2bb299d1b7d.doc.json | 1 - Test/ZlibTest/temp/e445a2bb299d1b7d.vpi | 51 - .../temp/f5522571bcce7bcb.stub.ll.dep | 0 Test/ZlibTest/temp/f5522571bcce7bcb.vpi | 100 - Test/ZlibTest/temp/f6b51804a0ba8ff0.vpi | 192 -- .../temp/fc980acec33d69a7.stub.ll.dep | 1 - Test/ZlibTest/temp/fc980acec33d69a7.vpi | 100 - _analyze_gen.py | 27 + _bench_vast_c.py | 38 + _bench_vast_c_pure.py | 36 + _calc_gen_layout.py | 73 + _check_imports.py | 108 + _check_off.py | 37 + _check_offset.py | 36 + _cmp_sig.py | 35 + _dump_super_ast.py | 46 + _final_check.py | 45 + _fix_dbody.py | 23 + _fp_u19.txt | 431 ++++ _ll_manifest_b4.txt | 431 ++++ _ll_manifest_b5.txt | 431 ++++ _repro_crash.py | 35 + _repro_gdb.py | 32 + _run_supertest.py | 18 + _supertest2.txt | 1 + _supertest3.txt | 1 + _supertest_out.txt | 1 + _test_vast_c_diff.py | 142 ++ _test_vast_c_hang.py | 52 + _test_vast_diff.py | 112 + _test_vast_pos.py | 50 + _test_vast_scan.py | 56 + _test_vast_tok.py | 68 + _toast_now.py | 21 + _toast_threading_test.py | 21 + a.vp | 27 - cprofile.txt | 1983 +++++++++++++++++ debug-llvmtype-overwrite-crash.md | 28 + debug-phase1-scan-crash.md | 39 + debug-reexport-strcmp-crash.md | 46 + debug-stmtgen-split-crash.md | 101 + find.py | 163 ++ handles_expr_HEAD.vp | 767 ------- output.s | 1281 ----------- sendaiandsplit.py | 119 + thistest/.tpv_build/temp/_sha1_map.txt | 17 + 3467 files changed, 8353 insertions(+), 43756 deletions(-) create mode 100644 .dbg/llvmtype-overwrite-crash.env create mode 100644 PROF/1.txt create mode 100644 PROF/_check_returns.py create mode 100644 PROF/_main_analyze.py create mode 100644 PROF/_worker_analyze.py create mode 100644 PROF/_worker_one.py create mode 100644 PROF/combined_worker_cum.txt create mode 100644 PROF/combined_worker_tottime.txt create mode 100644 PROF/main_prof_54088.prof create mode 100644 PROF/main_time.txt create mode 100644 R.PY delete mode 100644 Test/ArgparseTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/ArgparseTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/ArgparseTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/ArgparseTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/ArgparseTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ArgparseTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/ArgparseTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/ArgparseTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/ArgparseTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/ArgparseTest/output/c9f4be41ca1cc2b4.deps.json delete mode 100644 Test/ArgparseTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/ArgparseTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/AstTest/output/0853acdbdfc9b27c.deps.json delete mode 100644 Test/AstTest/output/f6ab8989f3545e83.deps.json delete mode 100644 Test/AstTest/temp/0853acdbdfc9b27c.doc.json delete mode 100644 Test/AstTest/temp/0853acdbdfc9b27c.vpi delete mode 100644 Test/AstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/AstTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/AstTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/AstTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/04/04e5fe47ff2af528.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/04/04e5fe47ff2af528.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/06/067c78e9f121dce3.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/06/06f53cc594b4ac6c.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/89/894f43429bd57061.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/d8/d85446c302a9efc8.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/d8/d85446c302a9efc8.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi delete mode 100644 Test/BuddyTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/BuddyTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/BuddyTest/output/067c78e9f121dce3.deps.json delete mode 100644 Test/BuddyTest/output/06f53cc594b4ac6c.deps.json delete mode 100644 Test/BuddyTest/output/6446627d4f07a1b5.deps.json delete mode 100644 Test/BuddyTest/output/72e2d5ccb7cedcf1.deps.json delete mode 100644 Test/BuddyTest/output/_shared_sym_includes.pickle delete mode 100644 Test/BuddyTest/output/d137b1f3311f3a7f.deps.json delete mode 100644 Test/BuddyTest/output/f6ab8989f3545e83.deps.json delete mode 100644 Test/BuddyTest/output/f6b51804a0ba8ff0.deps.json delete mode 100644 Test/BuddyTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/BuddyTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/BuddyTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/BuddyTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/BuiltinDecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/CPythonTest/.tpv_build/temp/7c/7c5d5ec59c5fb0a8.deps.txt delete mode 100644 Test/CPythonTest/.tpv_build/temp/7c/7c5d5ec59c5fb0a8.vpi delete mode 100644 Test/CPythonTest/output/7c5d5ec59c5fb0a8.deps.json delete mode 100644 Test/CPythonTest/temp/7c5d5ec59c5fb0a8.doc.json delete mode 100644 Test/CPythonTest/temp/7c5d5ec59c5fb0a8.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/ClosureCallTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/ClosureTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/ClosureTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/ClosureTest2/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/ClosureTest2/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/DecoratorMarkerTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/81/814e6b31adfc6256.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/DecoratorTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/DecoratorTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/DictTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/b3/b3c2b99b6f3be4c7.vpi delete mode 100644 Test/DictTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/DictTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/DictTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/DictTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/DictTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/DictTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/DictTest/output/b3c2b99b6f3be4c7.deps.json delete mode 100644 Test/DictTest/temp/b3c2b99b6f3be4c7.doc.json delete mode 100644 Test/DictTest/temp/b3c2b99b6f3be4c7.vpi delete mode 100644 Test/DictTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/DictTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/DocTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/DocTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/DocTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/DocTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/DocTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/DocTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/DocTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/DocTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/EdgeCaseTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/EqTest/.tpv_build/temp/78/78943d0dbc89a29a.vpi delete mode 100644 Test/EqTest/output/78943d0dbc89a29a.deps.json delete mode 100644 Test/EqTest/temp/78943d0dbc89a29a.doc.json delete mode 100644 Test/EqTest/temp/78943d0dbc89a29a.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/Extern2Test/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/Extern2Test/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/FakeDuckTest/.tpv_build/temp/48/48352329f97d0858.vpi delete mode 100644 Test/FakeDuckTest/output/48352329f97d0858.deps.json delete mode 100644 Test/FakeDuckTest/output/7cadfe07e983fd90.deps.json delete mode 100644 Test/FakeDuckTest/temp/48352329f97d0858.doc.json delete mode 100644 Test/FakeDuckTest/temp/48352329f97d0858.vpi delete mode 100644 Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/6d/6deb1a24b47f47fc.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/b3/b311b47f33281389.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/ForAndLoopTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/FormatStringTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/FormatStringTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/06/067f811511854c88.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/06/067f811511854c88.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/FuncTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/FuncTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/FuncTest/output/067f811511854c88.deps.json delete mode 100644 Test/FuncTest/temp/067c78e9f121dce3.vpi delete mode 100644 Test/FuncTest/temp/067f811511854c88.doc.json delete mode 100644 Test/FuncTest/temp/067f811511854c88.vpi delete mode 100644 Test/FuncTest/temp/06f53cc594b4ac6c.vpi delete mode 100644 Test/FuncTest/temp/285b6aa29a34754d.stub.ll.dep delete mode 100644 Test/FuncTest/temp/285b6aa29a34754d.vpi delete mode 100644 Test/FuncTest/temp/6446627d4f07a1b5.vpi delete mode 100644 Test/FuncTest/temp/72e2d5ccb7cedcf1.stub.ll.dep delete mode 100644 Test/FuncTest/temp/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/FuncTest/temp/748d0424e8976fa0.stub.ll.dep delete mode 100644 Test/FuncTest/temp/748d0424e8976fa0.vpi delete mode 100644 Test/FuncTest/temp/_phase1_manifest.json delete mode 100644 Test/FuncTest/temp/_sha1_map.txt delete mode 100644 Test/FuncTest/temp/bbdf3bbd4c3bc28c.stub.ll.dep delete mode 100644 Test/FuncTest/temp/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/FuncTest/temp/d137b1f3311f3a7f.vpi delete mode 100644 Test/FuncTest/temp/f5522571bcce7bcb.stub.ll.dep delete mode 100644 Test/FuncTest/temp/f5522571bcce7bcb.vpi delete mode 100644 Test/FuncTest/temp/f6b51804a0ba8ff0.vpi delete mode 100644 Test/FuncTest/temp/fc980acec33d69a7.stub.ll.dep delete mode 100644 Test/FuncTest/temp/fc980acec33d69a7.vpi delete mode 100644 Test/G3/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/G3/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/G3/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/G3/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/G3/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/G3/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/G3/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/G3/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/G3/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/G3/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/G3/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/G3/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/G3/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/G4/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/G4/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/G4/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/G4/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/G4/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/G4/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/G4/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/G4/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/G4/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/G4/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/G4/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/G4/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/G5/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/G5/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/G5/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/G5/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/G5/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/G5/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/G5/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/G5/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/G5/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/G5/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/G5/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/G5/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/G6/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/G6/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/G6/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/G6/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/G6/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/G6/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/G6/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/G6/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/G6/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/G6/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/G7/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/G7/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/G7/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/G7/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/G7/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/G7/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/G7/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/G7/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/G7/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/G7/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/G7/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/G7/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/GenericTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/GenericTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/GenericTest2/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/GenericTest2/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/GenericTest3/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/GenericTest3/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/GenericTest4/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/GenericTest4/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/02/02d833b3cf571c5b.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/HashTableTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/HashTableTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/HashTableTest/output/02d833b3cf571c5b.deps.json delete mode 100644 Test/HashTableTest/temp/02d833b3cf571c5b.doc.json delete mode 100644 Test/HashTableTest/temp/02d833b3cf571c5b.vpi delete mode 100644 Test/HashTableTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/HashTableTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/6b/6b8853854d6ef556.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/6b/6b8853854d6ef556.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/IterTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/IterTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/IterTest/output/6b8853854d6ef556.deps.json delete mode 100644 Test/IterTest/temp/6b8853854d6ef556.doc.json delete mode 100644 Test/IterTest/temp/6b8853854d6ef556.vpi delete mode 100644 Test/JsonTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/JsonTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/8a/8a97754e9e3c2b9a.vpi delete mode 100644 Test/JsonTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/JsonTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/JsonTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/JsonTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/JsonTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/JsonTest/output/8a97754e9e3c2b9a.deps.json delete mode 100644 Test/JsonTest/temp/8a97754e9e3c2b9a.doc.json delete mode 100644 Test/JsonTest/temp/8a97754e9e3c2b9a.vpi delete mode 100644 Test/JsonTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/JsonTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/33/33d64eeb99369a85.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/40/40c03bc03431ef81.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/5b/5b8cf12a5862b640.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/5b/5b8cf12a5862b640.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/63/63d0e4548b4c4672.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/6b/6b3bc463fd044545.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/87/874bac141c97bae9.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/a7/a7748ef067f79205.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/LLvmLiteTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/LLvmLiteTest/output/33d64eeb99369a85.deps.json delete mode 100644 Test/LLvmLiteTest/output/40c03bc03431ef81.deps.json delete mode 100644 Test/LLvmLiteTest/output/5b8cf12a5862b640.deps.json delete mode 100644 Test/LLvmLiteTest/output/63d0e4548b4c4672.deps.json delete mode 100644 Test/LLvmLiteTest/output/6b3bc463fd044545.deps.json delete mode 100644 Test/LLvmLiteTest/output/874bac141c97bae9.deps.json delete mode 100644 Test/LLvmLiteTest/output/a7748ef067f79205.deps.json delete mode 100644 Test/LLvmLiteTest/output/f9e36e2cd6fa659f.deps.json delete mode 100644 Test/LLvmLiteTest/temp/33d64eeb99369a85.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/33d64eeb99369a85.vpi delete mode 100644 Test/LLvmLiteTest/temp/40c03bc03431ef81.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/40c03bc03431ef81.vpi delete mode 100644 Test/LLvmLiteTest/temp/5b8cf12a5862b640.doc.json delete mode 100644 Test/LLvmLiteTest/temp/5b8cf12a5862b640.vpi delete mode 100644 Test/LLvmLiteTest/temp/63d0e4548b4c4672.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/63d0e4548b4c4672.vpi delete mode 100644 Test/LLvmLiteTest/temp/6b3bc463fd044545.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/6b3bc463fd044545.vpi delete mode 100644 Test/LLvmLiteTest/temp/874bac141c97bae9.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/874bac141c97bae9.vpi delete mode 100644 Test/LLvmLiteTest/temp/a7748ef067f79205.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/a7748ef067f79205.vpi delete mode 100644 Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/LLvmLiteTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.stub.ll.dep delete mode 100644 Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/ListTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/ListTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/ListTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/ListTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/LoopTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/LoopTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/MemhubTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/MemhubTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/MemhubTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/MemhubTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/NewAstTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/22/22bc0df83b3f0e62.vpi delete mode 100644 Test/NewAstTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/43/4337fb260448bbe2.vpi delete mode 100644 Test/NewAstTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/b5/b543bc1dfb592119.vpi delete mode 100644 Test/NewAstTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/f5/f5d13f1be34f417a.vpi delete mode 100644 Test/NewAstTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/NewAstTest/.tpv_build/temp/fd/fde6db0747bdd959.vpi delete mode 100644 Test/NewAstTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/NewAstTest/output/4dd6b3f1427d1cc5.deps.json delete mode 100644 Test/NewAstTest/output/657e182b27c2a022.deps.json delete mode 100644 Test/NewAstTest/output/_shared_sym_includes.pickle delete mode 100644 Test/NewAstTest/output/b547ac4f380bddb6.deps.json delete mode 100644 Test/NewAstTest/output/fde6db0747bdd959.deps.json delete mode 100644 Test/NewAstTest/temp/4dd6b3f1427d1cc5.stub.ll.dep delete mode 100644 Test/NewAstTest/temp/4dd6b3f1427d1cc5.vpi delete mode 100644 Test/NewAstTest/temp/657e182b27c2a022.stub.ll.dep delete mode 100644 Test/NewAstTest/temp/657e182b27c2a022.vpi delete mode 100644 Test/NewAstTest/temp/b547ac4f380bddb6.stub.ll.dep delete mode 100644 Test/NewAstTest/temp/b547ac4f380bddb6.vpi delete mode 100644 Test/NewAstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/NewAstTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/NewAstTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/NewAstTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/NewAstTest/temp/fde6db0747bdd959.stub.ll.dep delete mode 100644 Test/NewAstTest/temp/fde6db0747bdd959.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/22/22650858c377c847.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/NoVTableTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/NoVTableTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/NoVTableTest/output/22650858c377c847.deps.json delete mode 100644 Test/NoVTableTest/temp/22650858c377c847.doc.json delete mode 100644 Test/NoVTableTest/temp/22650858c377c847.vpi delete mode 100644 Test/NoVTableTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/NoVTableTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/NoVTableTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/NoVTableTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/b4/b436212dcff1be29.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/PointerTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/PointerTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/PointerTest/output/b436212dcff1be29.deps.json delete mode 100644 Test/PointerTest/temp/b436212dcff1be29.doc.json delete mode 100644 Test/PointerTest/temp/b436212dcff1be29.vpi delete mode 100644 Test/SimdTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/SimdTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/SimdTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/SimdTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.vpi delete mode 100644 Test/SimdTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/SimdTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/SimdTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/SimdTest/output/3f7c5e78d8652535.deps.json delete mode 100644 Test/SimdTest/output/6dde8fc09b24666c.deps.json delete mode 100644 Test/SimdTest/output/c3a6aed1f1fb8b1e.deps.json delete mode 100644 Test/SimdTest/output/c9f4be41ca1cc2b4.deps.json delete mode 100644 Test/SimdTest/temp/3f7c5e78d8652535.stub.ll.dep delete mode 100644 Test/SimdTest/temp/3f7c5e78d8652535.vpi delete mode 100644 Test/SimdTest/temp/6dde8fc09b24666c.stub.ll.dep delete mode 100644 Test/SimdTest/temp/6dde8fc09b24666c.vpi delete mode 100644 Test/SimdTest/temp/c3a6aed1f1fb8b1e.stub.ll.dep delete mode 100644 Test/SimdTest/temp/c3a6aed1f1fb8b1e.vpi delete mode 100644 Test/SimdTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/SimdTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/22/22bc0df83b3f0e62.vpi delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/43/4337fb260448bbe2.vpi delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/b5/b543bc1dfb592119.vpi delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/f5/f5d13f1be34f417a.vpi delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/fd/fde6db0747bdd959.vpi delete mode 100644 Test/SlotsBugTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.stub.ll.dep delete mode 100644 Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.vpi delete mode 100644 Test/SlotsBugTest/temp/657e182b27c2a022.stub.ll.dep delete mode 100644 Test/SlotsBugTest/temp/657e182b27c2a022.vpi delete mode 100644 Test/SlotsBugTest/temp/b547ac4f380bddb6.stub.ll.dep delete mode 100644 Test/SlotsBugTest/temp/b547ac4f380bddb6.vpi delete mode 100644 Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/SlotsBugTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/SlotsBugTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/SlotsBugTest/temp/fde6db0747bdd959.stub.ll.dep delete mode 100644 Test/SlotsBugTest/temp/fde6db0747bdd959.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/f4/f492cb40d913400b.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/f4/f492cb40d913400b.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/SprintfTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/SprintfTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/SprintfTest/output/f492cb40d913400b.deps.json delete mode 100644 Test/SprintfTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/SprintfTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/SprintfTest/temp/f492cb40d913400b.doc.json delete mode 100644 Test/SprintfTest/temp/f492cb40d913400b.vpi delete mode 100644 Test/SprintfTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/SprintfTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/StringIterTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/StringIterTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/StringIterTest/output/924ed8cd4ea5c4c2.deps.json delete mode 100644 Test/StringIterTest/temp/6c658cc728d0bbf4.stub.ll.dep delete mode 100644 Test/StringIterTest/temp/6c658cc728d0bbf4.vpi delete mode 100644 Test/StringIterTest/temp/7cadfe07e983fd90.stub.ll.dep delete mode 100644 Test/StringIterTest/temp/7cadfe07e983fd90.vpi delete mode 100644 Test/StringIterTest/temp/924ed8cd4ea5c4c2.doc.json delete mode 100644 Test/StringIterTest/temp/924ed8cd4ea5c4c2.vpi delete mode 100644 Test/StringIterTest/temp/aa246c6e6aa30484.stub.ll.dep delete mode 100644 Test/StringIterTest/temp/aa246c6e6aa30484.vpi delete mode 100644 Test/StringIterTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/StringIterTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/00/35/c9/0035c95a18d4f8e8.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/06/7c/78/067c78e9f121dce3.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/06/f5/3c/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/07/53/6d/07536d26b435806c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/0c/21/29/0c212981c180e7fb.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/0d/f6/5b/0df65b8ed15664b0.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/13/11/0e/13110effbb0bb06c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/14/d3/36/14d33679f7fadf1f.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/14/d3/36/14d33679f7fadf1f.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/15/f1/de/15f1ded02f3aa5bc.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/19/f8/02/19f8024d10c828e8.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/1c/46/d5/1c46d554b3a3f9f3.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/20/cd/49/20cd49775c100a38.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/20/cd/49/20cd49775c100a38.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/21/33/48/213348433fb01cc6.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/21/a7/fc/21a7fcfc665f75ef.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/24/0a/9a/240a9a4157959a9f.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/24/0a/9a/240a9a4157959a9f.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/25/7e/07/257e074b935c33b4.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/27/1e/a3/271ea3decb810db2.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/27/1e/a3/271ea3decb810db2.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/28/5a/82/285a822aa26bfbda.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/2d/39/c6/2d39c6c7d3557b3e.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/2d/a6/36/2da636c61863c815.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/34/54/87/34548789d646f432.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/34/87/a2/3487a256b250bb74.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/36/24/cf/3624cfde3c5cb6cb.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/39/17/8d/39178dc5ba692b92.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/39/39178dc5ba692b92.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/39/39178dc5ba692b92.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/3f/7c/5e/3f7c5e78d8652535.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/43/37/fb/4337fb260448bbe2.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/45/17/45/451745df21e598af.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/47/76/7b/47767b5026a8ee15.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/4d/d6/b3/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/56/d0/7e/56d07ea7e30ef631.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/57/28/84/57288496f7c2d1ad.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/57/28/84/57288496f7c2d1ad.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/5b/2e/22/5b2e220c5bae60c9.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/5d/ab/8c/5dab8cb390496d22.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/61/66/ae/6166aecc7fa7ad65.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/62/cc/01/62cc01c2bb770ca3.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/64/46/62/6446627d4f07a1b5.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/65/03/c9/6503c97dde0c79c4.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/65/7e/18/657e182b27c2a022.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/66/87/90/668790e6c9efdbae.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/66/87/90/668790e6c9efdbae.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/6b/3b/c4/6b3bc463fd044545.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/6d/53/5d/6d535de0b03e99b5.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/6f/62/fe/6f62fe05c5ea1ceb.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/6f/62/fe/6f62fe05c5ea1ceb.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/6f/f2/65/6ff26590374ae6fc.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/71/e0/a3/71e0a3ffcb3ebfad.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/72/e2/d5/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/72/e2/d5/72e2d5ccb7cedcf1.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/76/dd/6c/76dd6c275aa72b3b.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/79/b3/37/79b337e5ea8951e2.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/7e/52/9f/7e529fe7a078cfef.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/7e/52/9f/7e529fe7a078cfef.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/87/27/4c/87274c2b0190fb33.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/89/b3/96/89b3965176cd2407.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/8e/be/d8/8ebed83a7817fa0c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/90/92/1d/90921d009fdd674c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/90/c5/3d/90c53dd6db8d41cf.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/93/c1/d1/93c1d18e35d188d6.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/94/6e/08/946e087da91aaada.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/95/39/4c/95394ca8da0f655a.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/96/83/7b/96837bcc64032444.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/97/1e/24/971e24c228377a9b.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/99/5f/88/995f884b86cf981e.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/9d/86/26/9d8626a10208b8de.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/a6/8b/70/a68b70f233541a7f.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/a7/bc/8c/a7bc8c01684c0001.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/ab/a4/39/aba439b7882ad9d6.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/ab/bc/bd/abbcbd92436cc16a.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/ad/6c/85/ad6c853acfc0c146.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b1/9a/9e/b19a9e500f677f2e.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b5/47/ac/b547ac4f380bddb6.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b5/58/d8/b558d8d8f01f4825.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b5/a9/65/b5a965302cded36b.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b6/2e/de/b62eded2baf30423.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/b8/c6/6c/b8c66c8ff44eb874.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/ba/12/ed/ba12ed409d78139e.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/ba/12/ed/ba12ed409d78139e.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/bb/df/3b/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/bb/df/3b/bbdf3bbd4c3bc28c.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/c1/8c/3a/c18c3a20f82d7525.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c2/4f/25/c24f25b14b4bbd0a.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c3/a6/ae/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c3/b2/59/c3b259b4059f8668.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/c9/d5/4a/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c9/f4/be/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/c9/f4/be/c9f4be41ca1cc2b4.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/d0/89/e2/d089e25a15c6f6e0.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/d0/89/e2/d089e25a15c6f6e0.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/d1/52/11/d152115b49e50218.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/d5/41/ad/d541ade6afb689a5.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/d6/3d/2c/d63d2c2a2bd9bd2a.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/d7/e3/38/d7e3386b828acb66.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/d9/89/a2/d989a211953ede05.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/da/44/92/da44924f0777c67a.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/e0/f1/d8/e0f1d864a10b2e4d.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/e1/f7/ae/e1f7ae4d330dcf9f.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/e3/e7/b6/e3e7b6de8d7d8b03.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/e3/e7/b6/e3e7b6de8d7d8b03.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/ea/80/a4/ea80a4a724accbda.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/ee/52/c0/ee52c08239684346.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/f5/52/25/f5522571bcce7bcb.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/f5/52/25/f5522571bcce7bcb.pyi delete mode 100644 Test/StringTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/f6/b5/18/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/f9/e3/6e/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/StringTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/StringTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/StructTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/StructTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/SysLibTest/output/0c67644125bea0fd.deps.json delete mode 100644 Test/SysLibTest/output/28de517e3820658a.deps.json delete mode 100644 Test/SysLibTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/SysLibTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/SysLibTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/SysLibTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/4f/4fb8940ff5ab1022.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/7c/7cadfe07e983fd90.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/aa/aa246c6e6aa30484.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/TestFBProject/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/TestFBProject/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/TestFBProject/output/4fb8940ff5ab1022.deps.json delete mode 100644 Test/TestFBProject/temp/4fb8940ff5ab1022.doc.json delete mode 100644 Test/TestFBProject/temp/4fb8940ff5ab1022.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/TypeCastTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/TypeCastTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/VRandomTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/VRandomTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/VRandomTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/3f/3f7c5e78d8652535.vpi delete mode 100644 Test/VRandomTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/VRandomTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/VRandomTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/VRandomTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/VRandomTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/VRandomTest/output/3f7c5e78d8652535.deps.json delete mode 100644 Test/VRandomTest/temp/3f7c5e78d8652535.stub.ll.dep delete mode 100644 Test/VRandomTest/temp/3f7c5e78d8652535.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/VariadicTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/VariadicTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/VariadicTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/VariadicTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/VariadicTest/temp/f6ab8989f3545e83.stub.ll.dep delete mode 100644 Test/VariadicTest/temp/f6ab8989f3545e83.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/20/20cd49775c100a38.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/24/240a9a4157959a9f.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/64/6446627d4f07a1b5.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/80/8046d45456d0b153.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/WebTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/WebTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/WebTest/output/8046d45456d0b153.deps.json delete mode 100644 Test/WebTest/temp/8046d45456d0b153.doc.json delete mode 100644 Test/WebTest/temp/8046d45456d0b153.vpi delete mode 100644 Test/WebTest/temp/c9f4be41ca1cc2b4.stub.ll.dep delete mode 100644 Test/WebTest/temp/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ZlibTest/.tpv_build/temp/03/03b24bc1d9327958.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/03/03b24bc1d9327958.vpi delete mode 100644 Test/ZlibTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/45/451745df21e598af.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/ZlibTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/87/87b3eab7da115d70.vpi delete mode 100644 Test/ZlibTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/ZlibTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi delete mode 100644 Test/ZlibTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi delete mode 100644 Test/ZlibTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi delete mode 100644 Test/ZlibTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt delete mode 100644 Test/ZlibTest/.tpv_build/temp/ff/ffaf70367668b227.vpi delete mode 100644 Test/ZlibTest/output/03b24bc1d9327958.deps.json delete mode 100644 Test/ZlibTest/output/0f8134f67bdaba8f.deps.json delete mode 100644 Test/ZlibTest/output/784dde8a8697b7ab.deps.json delete mode 100644 Test/ZlibTest/output/9b7d2adaae94f021.deps.json delete mode 100644 Test/ZlibTest/output/cb151b297f4ea56d.deps.json delete mode 100644 Test/ZlibTest/output/d855b3e66d1d6522.deps.json delete mode 100644 Test/ZlibTest/output/dd19090b337e9bea.deps.json delete mode 100644 Test/ZlibTest/output/e445a2bb299d1b7d.deps.json delete mode 100644 Test/ZlibTest/temp/03b24bc1d9327958.doc.json delete mode 100644 Test/ZlibTest/temp/03b24bc1d9327958.vpi delete mode 100644 Test/ZlibTest/temp/067c78e9f121dce3.vpi delete mode 100644 Test/ZlibTest/temp/06f53cc594b4ac6c.vpi delete mode 100644 Test/ZlibTest/temp/0f8134f67bdaba8f.doc.json delete mode 100644 Test/ZlibTest/temp/0f8134f67bdaba8f.vpi delete mode 100644 Test/ZlibTest/temp/285b6aa29a34754d.stub.ll.dep delete mode 100644 Test/ZlibTest/temp/285b6aa29a34754d.vpi delete mode 100644 Test/ZlibTest/temp/6446627d4f07a1b5.vpi delete mode 100644 Test/ZlibTest/temp/6c658cc728d0bbf4.stub.ll.dep delete mode 100644 Test/ZlibTest/temp/6c658cc728d0bbf4.vpi delete mode 100644 Test/ZlibTest/temp/72e2d5ccb7cedcf1.stub.ll.dep delete mode 100644 Test/ZlibTest/temp/72e2d5ccb7cedcf1.vpi delete mode 100644 Test/ZlibTest/temp/748d0424e8976fa0.stub.ll.dep delete mode 100644 Test/ZlibTest/temp/748d0424e8976fa0.vpi delete mode 100644 Test/ZlibTest/temp/784dde8a8697b7ab.doc.json delete mode 100644 Test/ZlibTest/temp/784dde8a8697b7ab.vpi delete mode 100644 Test/ZlibTest/temp/9b7d2adaae94f021.doc.json delete mode 100644 Test/ZlibTest/temp/9b7d2adaae94f021.vpi delete mode 100644 Test/ZlibTest/temp/_phase1_manifest.json delete mode 100644 Test/ZlibTest/temp/_sha1_map.txt delete mode 100644 Test/ZlibTest/temp/_shared_sym.json delete mode 100644 Test/ZlibTest/temp/bbdf3bbd4c3bc28c.stub.ll.dep delete mode 100644 Test/ZlibTest/temp/bbdf3bbd4c3bc28c.vpi delete mode 100644 Test/ZlibTest/temp/cb151b297f4ea56d.doc.json delete mode 100644 Test/ZlibTest/temp/cb151b297f4ea56d.vpi delete mode 100644 Test/ZlibTest/temp/d137b1f3311f3a7f.vpi delete mode 100644 Test/ZlibTest/temp/d855b3e66d1d6522.doc.json delete mode 100644 Test/ZlibTest/temp/d855b3e66d1d6522.vpi delete mode 100644 Test/ZlibTest/temp/dd19090b337e9bea.doc.json delete mode 100644 Test/ZlibTest/temp/dd19090b337e9bea.vpi delete mode 100644 Test/ZlibTest/temp/e445a2bb299d1b7d.doc.json delete mode 100644 Test/ZlibTest/temp/e445a2bb299d1b7d.vpi delete mode 100644 Test/ZlibTest/temp/f5522571bcce7bcb.stub.ll.dep delete mode 100644 Test/ZlibTest/temp/f5522571bcce7bcb.vpi delete mode 100644 Test/ZlibTest/temp/f6b51804a0ba8ff0.vpi delete mode 100644 Test/ZlibTest/temp/fc980acec33d69a7.stub.ll.dep delete mode 100644 Test/ZlibTest/temp/fc980acec33d69a7.vpi create mode 100644 _analyze_gen.py create mode 100644 _bench_vast_c.py create mode 100644 _bench_vast_c_pure.py create mode 100644 _calc_gen_layout.py create mode 100644 _check_imports.py create mode 100644 _check_off.py create mode 100644 _check_offset.py create mode 100644 _cmp_sig.py create mode 100644 _dump_super_ast.py create mode 100644 _final_check.py create mode 100644 _fix_dbody.py create mode 100644 _fp_u19.txt create mode 100644 _ll_manifest_b4.txt create mode 100644 _ll_manifest_b5.txt create mode 100644 _repro_crash.py create mode 100644 _repro_gdb.py create mode 100644 _run_supertest.py create mode 100644 _supertest2.txt create mode 100644 _supertest3.txt create mode 100644 _supertest_out.txt create mode 100644 _test_vast_c_diff.py create mode 100644 _test_vast_c_hang.py create mode 100644 _test_vast_diff.py create mode 100644 _test_vast_pos.py create mode 100644 _test_vast_scan.py create mode 100644 _test_vast_tok.py create mode 100644 _toast_now.py create mode 100644 _toast_threading_test.py delete mode 100644 a.vp create mode 100644 cprofile.txt create mode 100644 debug-llvmtype-overwrite-crash.md create mode 100644 debug-phase1-scan-crash.md create mode 100644 debug-reexport-strcmp-crash.md create mode 100644 debug-stmtgen-split-crash.md create mode 100644 find.py delete mode 100644 handles_expr_HEAD.vp delete mode 100644 output.s create mode 100644 sendaiandsplit.py diff --git a/.dbg/llvmtype-overwrite-crash.env b/.dbg/llvmtype-overwrite-crash.env new file mode 100644 index 0000000..81e7804 --- /dev/null +++ b/.dbg/llvmtype-overwrite-crash.env @@ -0,0 +1,2 @@ +DEBUG_SERVER_URL=http://127.0.0.1:7777/event +DEBUG_SESSION_ID=llvmtype-overwrite-crash diff --git a/.gitignore b/.gitignore index 2730a94..4c73a25 100644 --- a/.gitignore +++ b/.gitignore @@ -78,4 +78,7 @@ Undo/vmware/ **/.tpv_build/ # wiki -/wiki/ \ No newline at end of file +/wiki/ + +# VRTE +/VRTE/ \ No newline at end of file diff --git a/PROF/1.txt b/PROF/1.txt new file mode 100644 index 0000000..f815520 --- /dev/null +++ b/PROF/1.txt @@ -0,0 +1,389 @@ +======================================================================== +上次编译状态: 成功 总耗时: 501.25s +PROF 综合分析报告 生成时间: 1787069174.1244113 +主进程 prof: 1 个, worker prof: 43 个 +总函数调用 115119581 次, 总 tottime 610.6s +======================================================================== + +【一】Top 40 热点函数 (tottime = 真实 CPU 消耗, 优先优化) +------------------------------------------------------------------------ +Wed Aug 19 00:01:32 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\main_prof_45008.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_12728_1.prof +Wed Aug 19 00:00:10 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_12728_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_1.prof +Wed Aug 19 00:00:06 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_2.prof +Wed Aug 19 00:00:15 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14748_1.prof +Wed Aug 19 00:00:13 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14748_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_1.prof +Wed Aug 19 00:00:05 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_2.prof +Wed Aug 19 00:00:10 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_3188_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_3188_2.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_2.prof +Wed Aug 19 00:00:20 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_2.prof +Wed Aug 19 00:00:17 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_2.prof +Wed Aug 19 00:00:25 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_2.prof +Wed Aug 19 00:00:30 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_3.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_2.prof +Wed Aug 19 00:00:20 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_3.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_1.prof +Wed Aug 19 00:00:06 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_2.prof +Wed Aug 19 00:00:12 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_2.prof +Wed Aug 19 00:00:15 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60724_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60724_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_2.prof +Wed Aug 19 00:00:13 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_2.prof +Wed Aug 19 00:00:32 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_7536_1.prof +Wed Aug 19 00:00:11 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_7536_2.prof + + 117198624 function calls (115119581 primitive calls) in 610.649 seconds + + Ordered by: internal time + List reduced from 1597 to 40 due to restriction <40> + + ncalls tottime percall cumtime percall filename:lineno(function) + 328/225 347.601 1.060 340.376 1.513 {built-in method _winapi.WaitForMultipleObjects} +8673/8497 35.909 0.004 3.930 0.000 {method 'read' of '_io.TextIOWrapper' objects} + 1566897 32.755 0.000 34.355 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Nodes.py:314(_Init) + 1681 9.850 0.006 44.109 0.026 {built-in method vast_c.parse} + 5992065 9.808 0.000 21.155 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:25(iter_child_nodes) + 37941 8.858 0.000 9.456 0.000 {method 'sub' of 're.Pattern' objects} + 22279914 8.469 0.000 8.471 0.000 {built-in method builtins.isinstance} + 102 8.264 0.081 11.625 0.114 {built-in method _pickle.loads} + 43 7.662 0.178 17.425 0.405 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:134(finalize) +9768/9762 7.574 0.001 8.010 0.001 {built-in method _io.open} + 14754 7.149 0.000 7.149 0.000 {built-in method nt._path_isfile} + 2645472 5.942 0.000 30.949 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:36(walk) + 7476487 5.586 0.000 8.417 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:16(iter_fields) + 16891112 5.172 0.000 5.172 0.000 {method 'startswith' of 'str' objects} + 2638676 4.169 0.000 23.733 0.000 {method 'extend' of 'collections.deque' objects} + 6776 4.058 0.001 4.058 0.001 {built-in method nt._path_isdir} +6966982/6694056 3.969 0.000 4.322 0.000 {built-in method builtins.getattr} +256646/41890 3.463 0.000 3.953 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:65(_format) + 43 3.360 0.078 3.361 0.078 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:43(__setstate__) + 1 3.117 3.117 26.021 26.021 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2401(_compile_include_py_files) + 127184 2.983 0.000 3.315 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:98(__init__) + 78599 2.495 0.000 3.410 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:411(_count_braces_outside_strings) + 5594722 2.429 0.000 2.429 0.000 {method 'split' of 'str' objects} + 108/26 2.365 0.022 0.688 0.026 {built-in method _winapi.CreateProcess} +8524640/8521367 2.046 0.000 2.048 0.000 {built-in method builtins.len} + 2/1 1.858 0.929 62.458 62.458 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:606(run) + 86 1.765 0.021 2.443 0.028 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:947(_find_all_type_refs) + 2981 1.721 0.001 1.721 0.001 {built-in method nt.stat} + 1342030 1.474 0.000 1.926 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:49(__get__) + 382 1.467 0.004 1.467 0.004 {built-in method _winapi.CopyFile2} +483183/117 1.285 0.000 4.300 0.037 D:\Python312\Lib\copy.py:118(deepcopy) + 2639795 1.236 0.000 1.236 0.000 {method 'popleft' of 'collections.deque' objects} + 9588 1.223 0.000 1.223 0.000 {method '__exit__' of '_io._IOBase' objects} + 284 1.215 0.004 1.215 0.004 {built-in method nt.remove} + 239 1.157 0.005 1.157 0.005 {built-in method nt.unlink} + 41890 1.057 0.000 5.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:47(dump) + 439 1.050 0.002 16.621 0.038 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:91(get_file_dependencies) +41890/33133 1.044 0.000 15.450 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:36(_GetCTypeInfoInternal) + 1845179 1.035 0.000 1.035 0.000 {method 'get' of 'dict' objects} + 99 0.993 0.010 17.926 0.181 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:882(_build_current_ModuleSha1Map) + + + +【二】Top 20 调用链耗时 (cumtime = 含子调用, 看大流程) +------------------------------------------------------------------------ +Wed Aug 19 00:01:32 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\main_prof_45008.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_12728_1.prof +Wed Aug 19 00:00:10 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_12728_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_1.prof +Wed Aug 19 00:00:06 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_2.prof +Wed Aug 19 00:00:15 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14748_1.prof +Wed Aug 19 00:00:13 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14748_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_1.prof +Wed Aug 19 00:00:05 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_2.prof +Wed Aug 19 00:00:10 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_3188_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_3188_2.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_2.prof +Wed Aug 19 00:00:20 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_2.prof +Wed Aug 19 00:00:17 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_2.prof +Wed Aug 19 00:00:25 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_2.prof +Wed Aug 19 00:00:30 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_3.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_2.prof +Wed Aug 19 00:00:20 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_3.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_1.prof +Wed Aug 19 00:00:06 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_2.prof +Wed Aug 19 00:00:12 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_2.prof +Wed Aug 19 00:00:15 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60724_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60724_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_2.prof +Wed Aug 19 00:00:13 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_2.prof +Wed Aug 19 00:00:32 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_7536_1.prof +Wed Aug 19 00:00:11 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_7536_2.prof + + 117198624 function calls (115119581 primitive calls) in 610.649 seconds + + Ordered by: cumulative time + List reduced from 1597 to 20 due to restriction <20> + + ncalls tottime percall cumtime percall filename:lineno(function) + 362/2 0.006 0.000 409.833 204.916 D:\Python312\Lib\threading.py:302(wait) + 2424/49 0.098 0.000 409.833 8.364 {method 'acquire' of '_thread.lock' objects} + 1 0.000 0.000 409.827 409.827 D:\Python312\Lib\concurrent\futures\process.py:335(run) + 61/59 0.016 0.000 348.841 5.913 D:\Python312\Lib\concurrent\futures\process.py:773(submit) + 90 0.005 0.000 347.709 3.863 D:\Python312\Lib\concurrent\futures\process.py:403(wait_result_broken_or_wakeup) + 208 0.009 0.000 347.667 1.671 D:\Python312\Lib\multiprocessing\connection.py:1014(wait) + 208 0.004 0.000 340.383 1.636 D:\Python312\Lib\multiprocessing\connection.py:992(_exhaustive_wait) + 328/225 347.601 1.060 340.376 1.513 {built-in method _winapi.WaitForMultipleObjects} + 61 0.007 0.000 336.080 5.510 D:\Python312\Lib\concurrent\futures\_base.py:199(as_completed) + 43 0.069 0.002 109.409 2.544 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:69(_parallel_translate_worker) + 43 0.296 0.007 96.859 2.253 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1286(_translate_file) + 43 0.012 0.000 86.997 2.023 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\TransPyC.py:482(Convert) + 200/32 0.066 0.000 85.929 2.685 D:\Python312\Lib\threading.py:1094(join) + 200/32 0.028 0.000 85.927 2.685 D:\Python312\Lib\threading.py:1132(_wait_for_tstate_lock) + 43 0.024 0.001 73.365 1.706 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:324(GenerateCCode) + 43 0.077 0.002 72.785 1.693 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:25(GenerateLlvmDirect) + 2/1 0.017 0.008 62.462 62.462 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:109(main) + 2/1 1.858 0.929 62.458 62.458 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:606(run) + 61 0.001 0.000 47.362 0.776 D:\Python312\Lib\concurrent\futures\process.py:79(wakeup) + 1681 0.019 0.000 44.287 0.026 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\__init__.py:66(parse) + + + +【三】热点函数 callers 定位(找出"谁在调用"以定点优化) +------------------------------------------------------------------------ + +== _path_isfile == + : tottime=7.149s cumtime=7.149s ncalls=14754 + <- _build_current_ModuleSha1Map x(9306, 9306, 5.764490400000001, 5.764490400000001) + <- _EmitModuleDeclarationsLlvm x(2170, 2170, 0.2648532, 0.2648532) + <- _LoadModuleDeclarationsFromFile x(707, 707, 0.1145328, 0.1145328) + <- _register_compiled_include x(558, 558, 0.1046041, 0.1046041) + <- _TryGlobalCache x(245, 245, 0.134557, 0.134557) + <- _compile_ll_files x(239, 239, 0.043330400000000005, 0.043330400000000005) + <- _scan_include_libraries x(228, 228, 0.0227586, 0.0227586) + <- _RegisterCrossModuleDocstrings x(198, 198, 0.03636790000000001, 0.03636790000000001) + _path_isfile: tottime=0.000s cumtime=0.002s ncalls=5 + <- find_spec x(5, 5, 2.7600000000000003e-05, 0.0024415) + +== _LookupStubFuncType == + _LookupStubFuncType: tottime=0.764s cumtime=3.120s ncalls=209 + <- _HandleMethodCallLlvm x(201, 201, 0.6248898, 2.693493) + <- _HandleExternalCallLlvm x(8, 8, 0.1386203, 0.42693610000000004) + +== _Init == + _Init: tottime=32.755s cumtime=34.355s ncalls=1566897 + <- x(1553060, 1553060, 32.67106370000001, 34.258838499999996) + <- _make_replacement_node x(4050, 4050, 0.0093437, 0.011644100000000003) + <- _make_name_node x(3590, 3590, 0.014290699999999998, 0.0166854) + <- _body_contains_raise x(3526, 3526, 0.0362245, 0.0415034) + <- _EmitExternalClassDeclLlvm x(1561, 1561, 0.0180834, 0.020307500000000003) + <- _specialize_generic_class x(448, 448, 0.0018721000000000002, 0.0021786) + <- _HandleCallLlvm x(392, 392, 0.0029563000000000007, 0.0033427000000000005) + <- _apply_type_map_to_expr x(270, 270, 0.0006885999999999999, 0.0008499000000000001) + +== _TryLoadClassMembersFromPyi == + _TryLoadClassMembersFromPyi: tottime=0.942s cumtime=13.839s ncalls=27760 + <- _EmitExternalClassDeclLlvm x(26280, 25992, 0.8715457, 6.3125135000000006) + <- _TryLoadStructFromStub x(852, 500, 0.059921, 12.739853600000002) + <- _EnsureClassParentsLoaded x(628, 628, 0.0100637, 0.03792390000000001) + +== _TryLoadStructFromStub == + _TryLoadStructFromStub: tottime=0.059s cumtime=13.246s ncalls=4576 + <- _EmitExternalClassDeclLlvm x(4398, 1818, 0.04607270000000001, 12.950515200000002) + <- _generate_structs x(164, 65, 0.012509600000000004, 7.769146399999998) + <- _try_register_vtable_ondemand x(11, 11, 5.4800000000000004e-05, 6.630000000000001e-05) + <- _try_Load_struct_from_stub x(3, 3, 0.0001218, 0.07452360000000001) + +== vast_c.parse == + : tottime=9.850s cumtime=44.109s ncalls=1681 + <- parse x(1681, 1681, 9.8499697, 44.108808200000006) + +== finalize == + finalize: tottime=7.662s cumtime=17.425s ncalls=43 + <- GenerateLlvmDirect x(43, 43, 7.661724799999999, 17.425479499999998) + +== _LoadSha1Map == + _LoadSha1Map: tottime=0.113s cumtime=5.072s ncalls=44 + <- __init__ x(44, 44, 0.11333119999999998, 5.072211100000001) + +== _BuildPyiCacheFile == + _BuildPyiCacheFile: tottime=0.012s cumtime=4.602s ncalls=1 + <- _LoadSha1Map x(1, 1, 0.012170100000000001, 4.601761300000001) + +== _translate_file == + _translate_file: tottime=0.296s cumtime=96.859s ncalls=43 + <- _parallel_translate_worker x(43, 43, 0.29592929999999995, 96.8589117) + +== Convert == + _ConvertFunction: tottime=0.043s cumtime=0.133s ncalls=2619 + <- convert x(1346, 1346, 0.0219496, 0.0697753) + <- _ConvertClass x(1273, 1273, 0.0208297, 0.0634073) + _ConvertClass: tottime=0.034s cumtime=0.117s ncalls=251 + <- convert x(242, 242, 0.033336500000000005, 0.1171013) + <- _ConvertClass x(9, 9, 0.0002843, 0.0004173) + Convert: tottime=0.012s cumtime=86.997s ncalls=43 + <- _translate_file x(43, 43, 0.0123759, 86.99665020000002) + _ConvertVariable: tottime=0.005s cumtime=0.009s ncalls=810 + <- convert x(810, 810, 0.005180700000000001, 0.0094774) + +== GenerateCCode == + GenerateCCode: tottime=0.024s cumtime=73.365s ncalls=43 + <- Convert x(43, 43, 0.024371399999999998, 73.36474700000001) + +== _build_current_ModuleSha1Map == + _build_current_ModuleSha1Map: tottime=0.993s cumtime=17.926s ncalls=99 + <- run x(98, 98, 0.9912645000000001, 17.8981996) + <- _compile_include_py_files x(1, 1, 0.0013576, 0.027985600000000003) + +== iter_child_nodes == + iter_child_nodes: tottime=9.808s cumtime=21.155s ncalls=5992065 + <- x(5320727, 5320727, 9.053009700000006, 19.564493900000002) + <- visit x(424689, 424689, 0.529203, 1.135389) + <- _scan_node_for_self_assign x(148078, 148078, 0.13488460000000002, 0.30432620000000005) + <- generate x(15114, 15114, 0.011840700000000001, 0.0196225) + <- GenerateLlvmDirect x(13878, 13878, 0.011724000000000002, 0.018197500000000002) + <- _generate_class_decl x(11704, 11704, 0.010219, 0.013796500000000001) + <- _CollectInheritedWrapperDecls x(11044, 11044, 0.008940700000000001, 0.015206) + <- _collect_typedef_map x(10076, 10076, 0.004780100000000001, 0.007480400000000001) + +== read of == + [无匹配 'read of' 的函数] + +== iter_fields == + iter_fields: tottime=5.586s cumtime=8.417s ncalls=7476487 + <- iter_child_nodes x(7476487, 7476487, 5.585532999999999, 8.416754499999998) + +== walk == + walk: tottime=5.942s cumtime=30.949s ncalls=2645472 + <- get_file_dependencies x(554166, 554166, 1.4321114000000001, 7.6097542) + <- run x(406031, 406031, 1.666206, 8.0717625) + <- _extract_app_default_args x(406031, 406031, 0.48141090000000003, 2.5379018) + <- _body_contains_raise x(255751, 255751, 0.38476660000000007, 1.8634377000000002) + <- _infer_return_type_from_body x(218222, 218222, 0.2991063, 1.615264) + <- _build_struct_sha1_map x(188688, 188688, 0.6377285, 3.5367842) + <- _get_needed_include_files x(164518, 164518, 0.44745820000000003, 2.5512192000000002) + <- _discover_transitive_deps x(149441, 149441, 0.1595975, 0.8626633) + walk: tottime=0.009s cumtime=0.120s ncalls=98 + <- find_reachable_files_from_entries x(22, 22, 0.0011724, 0.0161676) + <- _precollect_vtable_state x(13, 13, 0.0027139, 0.059532600000000005) + <- _get_needed_include_files x(13, 13, 0.0010159000000000001, 0.0121867) + <- _build_include_py_index x(13, 13, 0.0004531, 0.0084963) + <- _compile_include_sources x(11, 11, 0.0011647, 0.012670200000000001) + <- _scan_dir_for_libs x(10, 10, 0.00018820000000000002, 0.0011597) + <- _scan_include_libraries x(10, 10, 0.00014450000000000002, 0.0013974) + <- _compile_ll_files x(6, 6, 0.002362, 0.008541100000000001) + +== _io.open == + : tottime=7.574s cumtime=8.010s ncalls=9768 + <- _build_current_ModuleSha1Map x(4653, 4653, 3.9519885, 4.026187) + <- _LookupStubFuncType x(919, 919, 0.4358869, 0.44136520000000007) + <- _LoadDeclarationsFromStubLlvm x(696, 696, 0.3019841999999999, 0.30635930000000006) + <- parse_python_file x(486, 486, 0.34128450000000005, 0.3472362) + <- _compile_ll_files x(255, 255, 0.2454773, 0.247264) + <- extract x(255, 255, 0.1342307, 0.13721170000000002) + <- _build_shared_symbol_data x(243, 243, 0.2233081, 0.22601130000000003) + <- _process_file_pyi x(196, 196, 0.4939116, 0.4949057) + : tottime=0.002s cumtime=0.002s ncalls=5 + <- get_data x(5, 5, 0.0016684, 0.0016684) + +== _pickle.loads == + : tottime=8.264s cumtime=11.625s ncalls=102 + <- recv x(59, 59, 0.020488600000000003, 0.020488600000000003) + <- _parallel_translate_worker x(43, 43, 8.243114700000001, 11.604251500000004) + +【四】模块聚合耗时(按顶层模块归类, tottime 降序) +------------------------------------------------------------------------ +模块 ncalls tottime(s) cumtime(s) +~ 84531274 483.12 951.23 +vast 17767923 58.64 148.17 +core 5802693 34.46 606.64 +Projectrans 856256 16.48 629.30 +D:\Python312\Lib\copy.py 571920 3.33 22.80 +D:\Python312\Lib\site-packages\llvmlite\ir\values.py 1082356 2.32 22.07 +D:\Python312\Lib\site-packages\llvmlite\ir\types.py 1164385 1.80 4.28 +includes 571512 1.69 3.63 + 356171 1.47 3.51 +D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py 775537 1.32 4.79 +_bootstrap.py 325643 1.31 3.04 +D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py 232628 1.02 5.61 +D:\Python312\Lib\re\__init__.py 343628 0.93 11.57 +D:\Python312\Lib\site-packages\llvmlite\ir\builder.py 277544 0.57 3.67 +D:\Python312\Lib\threading.py 11314 0.51 613.13 + 27303 0.23 0.71 +StubGen 21794 0.21 4.86 + 20590 0.18 0.37 + 7798 0.17 1.06 +D:\Python312\Lib\re\_parser.py 134790 0.13 0.48 +D:\Python312\Lib\subprocess.py 3572 0.13 137.58 +D:\Python312\Lib\copyreg.py 43917 0.09 0.11 +D:\Python312\Lib\json\encoder.py 112864 0.08 0.18 +D:\Python312\Lib\site-packages\llvmlite\ir\module.py 9984 0.07 6.84 +D:\Python312\Lib\re\_compiler.py 10540 0.06 0.46 +D:\Python312\Lib\json\__init__.py 341 0.06 0.24 +D:\Python312\Lib\enum.py 27617 0.05 0.06 + 9938 0.03 0.14 +D:\Python312\Lib\concurrent\futures\process.py 800 0.03 1154.73 +D:\Python312\Lib\multiprocessing\connection.py 3352 0.02 702.58 + 1789 0.02 0.16 +D:\Python312\Lib\concurrent\futures\_base.py 1270 0.02 368.28 +D:\Python312\Lib\shutil.py 458 0.02 3.91 +D:\Python312\Lib\concurrent\futures\thread.py 133 0.01 9.04 +D:\Python312\Lib\contextlib.py 1744 0.01 0.03 +Shell 131 0.01 87.01 +D:\Python312\Lib\tempfile.py 838 0.01 0.21 +D:\Python312\Lib\argparse.py 322 0.01 0.12 +D:\Python312\Lib\json\decoder.py 198 0.01 0.02 +D:\Python312\Lib\multiprocessing\reduction.py 294 0.01 0.05 +D:\Python312\Lib\multiprocessing\process.py 2899 0.00 0.48 +D:\Python312\Lib\multiprocessing\popen_spawn_win32.py 387 0.00 0.47 +D:\Python312\Lib\queue.py 479 0.00 0.00 +D:\Python312\Lib\_weakrefset.py 418 0.00 0.00 + 236 0.00 0.07 + 341 0.00 0.00 +D:\Python312\Lib\inspect.py 465 0.00 0.00 +D:\Python312\Lib\functools.py 86 0.00 0.00 +D:\Python312\Lib\multiprocessing\spawn.py 130 0.00 0.01 +D:\Python312\Lib\random.py 53 0.00 0.00 +D:\Python312\Lib\multiprocessing\queues.py 245 0.00 0.00 +D:\Python312\Lib\multiprocessing\context.py 366 0.00 0.47 + 138 0.00 0.00 +D:\Python312\Lib\multiprocessing\synchronize.py 69 0.00 0.00 +D:\Python312\Lib\gettext.py 18 0.00 0.01 +D:\Python312\Lib\multiprocessing\util.py 26 0.00 0.00 +D:\Python312\Lib\locale.py 9 0.00 0.00 +D:\Python312\Lib\weakref.py 33 0.00 0.00 + 4 0.00 0.00 +D:\Python312\Lib\encodings\__init__.py 3 0.00 0.00 + 4 0.00 0.00 +D:\Python312\Lib\importlib\_abc.py 2 0.00 0.00 +D:\Python312\Lib\site-packages\_distutils_hack\__init__.py 8 0.00 0.00 + 1 0.00 0.00 + diff --git a/PROF/_check_returns.py b/PROF/_check_returns.py new file mode 100644 index 0000000..fa611b9 --- /dev/null +++ b/PROF/_check_returns.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +"""临时:扫描 .vp 源码中真实可能掉出末尾的函数 +(有 -> 返回注解、非 extern/export 声明、末句非 return 且非控制流关键字开头)""" +import re +import glob + +ROOTS = [ + r"D:\Users\TermiNexus\Desktop\TransPyC\TransPyV\App\lib", + r"D:\Users\TermiNexus\Desktop\TransPyC\includes", +] + +pat_def = re.compile(r'^(\s*)def (\w+)\(.*\)\s*(->\s*.+)?:') +CTRL = ('if', 'match', 'while', 'for', 'try', 'with', 'return', 'raise', + 'pass', 'def', 'class', 'extern', 'export') +total = 0 + +for root in ROOTS: + for path in sorted(glob.glob(root + r"\**\*.vp", recursive=True)): + lines = open(path, encoding='utf-8').read().split('\n') + defs = [] + for i, ln in enumerate(lines): + m = pat_def.match(ln) + if m: + defs.append((i, m.group(2), m.group(3), len(m.group(1)))) + for idx, (start, name, ret_ann, indent) in enumerate(defs): + if not ret_ann: + continue + ret = ret_ann.strip() + # 排除 extern/export 声明(| t.State / | t.CExport) + if '| t.State' in ret or '| t.CExport' in ret: + continue + # 排除 void 返回(-> None / -> t.CVoid:掉出末尾 ret void 合法) + if ret in ('-> None', '-> t.CVoid') or ret.startswith('-> t.CVoid |'): + continue + end = defs[idx + 1][0] if idx + 1 < len(defs) else len(lines) + body = lines[start + 1:end] + last = None + for ln in reversed(body): + s = ln.strip() + if s and not s.startswith('#'): + # 末行缩进必须大于 def 缩进(否则是模块级语句,非函数体) + lead = len(ln) - len(ln.lstrip(' ')) + if lead <= indent: + last = None + break + last = s + break + if last is None or last.startswith('return'): + continue + # 排除 docstring 误报(末行是字符串字面量 docstring) + if last.startswith('"""') or last.startswith("'''"): + continue + first = last.split('(', 1)[0].split(' ', 1)[0] + # 排除"末句是控制流/声明关键字"(TPV 会正确收尾) + if first in CTRL: + continue + print(f"MISS {path}:L{start+1} def {name} {ret} 末行: {last!r}") + total += 1 + +print(f"\n共 {total} 个真实掉出候选(有返回注解 + 末句普通语句)") + + diff --git a/PROF/_main_analyze.py b/PROF/_main_analyze.py new file mode 100644 index 0000000..7b535c9 --- /dev/null +++ b/PROF/_main_analyze.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +"""临时:拆解主进程 prof,看 501s 编译时间的分布""" +import pstats +import sys + +prof = r"D:\Users\TermiNexus\Desktop\TransPyC\PROF\main_prof_64336.prof" +st = pstats.Stats(prof) + +print("=" * 72) +print("主进程 Top 45 (cumtime, 含子调用)") +print("=" * 72) +st.sort_stats("cumulative") +st.print_stats(45) + +print("=" * 72) +print("主进程 Top 30 (tottime, 真实 CPU)") +print("=" * 72) +st.sort_stats("tottime") +st.print_stats(30) diff --git a/PROF/_worker_analyze.py b/PROF/_worker_analyze.py new file mode 100644 index 0000000..d3f5d01 --- /dev/null +++ b/PROF/_worker_analyze.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +"""临时:分析 worker prof,看翻译计算时间分布""" +import pstats +import glob + +files = sorted(glob.glob(r"D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_*.prof")) +print(f"worker prof 数量: {len(files)}") + +rows = [] +for f in files: + st = pstats.Stats(f) + # 总时间 = 文件头打印的 in X seconds + total = st.total_tt # tottime 总和 + # 找 _translate_file 的 cumtime + tt_file = st.stats.get(('D:\\Users\\TermiNexus\\Desktop\\TransPyC\\lib\\Projectrans\\Phase2Translator.py', + 1286, '_translate_file')) + tf_cum = tt_file[3] if tt_file else 0.0 + rows.append((tf_cum, total, f)) + +rows.sort(reverse=True) +print(f"{'worker文件':<45}{'translate_file(s)':>18}{'total_tt(s)':>12}") +for tf_cum, total, f in rows[:20]: + print(f"{f.split('worker_prof_')[-1]:<45}{tf_cum:>18.2f}{total:>12.2f}") diff --git a/PROF/_worker_one.py b/PROF/_worker_one.py new file mode 100644 index 0000000..2c54c36 --- /dev/null +++ b/PROF/_worker_one.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +"""临时:单个 worker prof 的 top""" +import pstats + +f = r"D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_34852_1.prof" +st = pstats.Stats(f) +st.sort_stats("cumulative") +st.print_stats(25) +print("=" * 72) +st.sort_stats("tottime") +st.print_stats(25) diff --git a/PROF/combined_worker_cum.txt b/PROF/combined_worker_cum.txt new file mode 100644 index 0000000..95e0eb7 --- /dev/null +++ b/PROF/combined_worker_cum.txt @@ -0,0 +1,936 @@ +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_12728_1.prof +Wed Aug 19 00:00:10 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_12728_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_1.prof +Wed Aug 19 00:00:06 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_2.prof +Wed Aug 19 00:00:15 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14748_1.prof +Wed Aug 19 00:00:13 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14748_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_1.prof +Wed Aug 19 00:00:05 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_2.prof +Wed Aug 19 00:00:10 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_3188_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_3188_2.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_2.prof +Wed Aug 19 00:00:20 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_2.prof +Wed Aug 19 00:00:17 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_2.prof +Wed Aug 19 00:00:25 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_2.prof +Wed Aug 19 00:00:30 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_3.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_2.prof +Wed Aug 19 00:00:20 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_3.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_1.prof +Wed Aug 19 00:00:06 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_2.prof +Wed Aug 19 00:00:12 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_2.prof +Wed Aug 19 00:00:15 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60724_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60724_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_2.prof +Wed Aug 19 00:00:13 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_2.prof +Wed Aug 19 00:00:32 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_7536_1.prof +Wed Aug 19 00:00:11 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_7536_2.prof + + 70332069 function calls (68531363 primitive calls) in 109.411 seconds + + Ordered by: cumulative time + + ncalls tottime percall cumtime percall filename:lineno(function) + 43 0.069 0.002 109.409 2.544 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:69(_parallel_translate_worker) + 43 0.296 0.007 96.859 2.253 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1286(_translate_file) + 43 0.012 0.000 86.997 2.023 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\TransPyC.py:482(Convert) + 43 0.024 0.001 73.365 1.706 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:324(GenerateCCode) + 43 0.077 0.002 72.785 1.693 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:25(GenerateLlvmDirect) + 277/232 0.126 0.000 21.435 0.092 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:506(_EmitClassLlvm) + 405 0.004 0.000 20.802 0.051 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\__init__.py:66(parse) + 405 2.467 0.006 20.782 0.051 {built-in method vast_c.parse} +1435/1359 0.441 0.000 19.266 0.014 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1151(_EmitFunctionLlvm) + 607620 17.983 0.000 18.412 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Nodes.py:314(_Init) + 43 7.662 0.178 17.425 0.405 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:134(finalize) +41890/33133 0.081 0.000 15.519 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:26(GetCTypeInfo) +41890/33133 1.044 0.000 15.450 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:36(_GetCTypeInfoInternal) + 93 0.055 0.001 15.400 0.166 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:190(_EmitImportFromDeclarationsLlvm) + 2199/567 0.540 0.000 14.953 0.026 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1470(_EmitExternalClassDeclLlvm) +17338/15475 0.204 0.000 14.582 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:773(MergeTypes) +27760/10005 0.942 0.000 13.839 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2280(_TryLoadClassMembersFromPyi) +26364/22594 0.141 0.000 13.813 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:690(ResolveAnnotationType) +4297/1121 0.147 0.000 13.478 0.012 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:14(HandleBodyLlvm) +4576/1689 0.059 0.000 13.246 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2173(_TryLoadStructFromStub) + 335/43 0.033 0.000 12.681 0.295 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:330(_LoadModuleDeclarationsFromFile) +34716/30990 0.078 0.000 12.630 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:743(_GetTypeFromNode) + 43 8.243 0.192 11.604 0.270 {built-in method _pickle.loads} + 155 0.059 0.000 11.032 0.071 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:565(_EmitModuleDeclarationsLlvm) +1747/1386 0.061 0.000 10.549 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:82(_specialize_generic_class) +34295/11889 0.129 0.000 9.813 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:48(HandleExprLlvm) +21129/17560 0.056 0.000 9.263 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:703(CollectAnnAssignMember) +1912/1571 0.030 0.000 9.142 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3528(_ResolveGenericSlice) +1896/1572 0.007 0.000 8.815 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:416(_HandleSubscript) +1896/1572 0.047 0.000 8.809 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:425(CollectAll) + 148 0.069 0.000 8.508 0.057 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:99(_EmitImportDeclarationsLlvm) + 349/313 0.300 0.001 8.354 0.027 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:214(_generate_structs) +4569/4023 0.098 0.000 8.062 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:266(_HandleCallLlvm) + 43 0.256 0.006 6.839 0.159 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\PythonParser.py:63(ParsePythonFile) +26867/16007 0.042 0.000 6.776 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:525(HandleExprLlvm) +1836/1806 0.010 0.000 6.711 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAnnAssign.py:309(_HandleAnnAssignLlvm) +1836/1806 0.157 0.000 6.701 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAnnAssign.py:317(_HandleAnnAssignLlvmInner) + 769071 1.106 0.000 5.721 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:36(walk) +2233/1420 0.054 0.000 5.656 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesIf.py:157(_HandleIfLlvm) +2091/2071 0.071 0.000 5.528 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1021(_EmitFunctionForwardDeclLlvm) +3836/3776 0.194 0.000 5.259 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1151(_EmitExternalFuncDeclLlvm) + 41890 1.057 0.000 5.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:47(dump) +1240/1123 0.106 0.000 4.912 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2570(_HandleMethodCallLlvm) + 15752538 4.679 0.000 4.679 0.000 {method 'startswith' of 'str' objects} +2091/2071 0.161 0.000 4.567 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:452(_GetFunctionSignatureLlvm) + 763295 0.757 0.000 4.359 0.000 {method 'extend' of 'collections.deque' objects} +483183/117 1.285 0.000 4.300 0.037 D:\Python312\Lib\copy.py:118(deepcopy) +43842/117 0.370 0.000 4.295 0.037 D:\Python312\Lib\copy.py:247(_reconstruct) +26292/117 0.161 0.000 4.285 0.037 D:\Python312\Lib\copy.py:200(_deepcopy_tuple) +26292/117 0.345 0.000 4.281 0.037 D:\Python312\Lib\copy.py:217(_deepcopy_dict) +10809/585 0.032 0.000 4.268 0.007 D:\Python312\Lib\copy.py:191(_deepcopy_list) + 43 0.200 0.005 4.169 0.097 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1215(_inject_auto_imports) + 43 0.300 0.007 4.101 0.095 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:979(_split_ll) +256646/41890 3.463 0.000 3.953 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:65(_format) + 1689319 1.822 0.000 3.935 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:25(iter_child_nodes) + 78599 2.495 0.000 3.410 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:411(_count_braces_outside_strings) + 43 0.001 0.000 3.400 0.079 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:243(__repr__) + 43 0.025 0.001 3.395 0.079 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:217(_get_body_lines) + 43 3.360 0.078 3.361 0.078 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:43(__setstate__) + 8210 0.010 0.000 3.304 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1017(__str__) + 8210 0.011 0.000 3.279 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1010(descr) + 310 0.277 0.001 3.244 0.010 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2550(_LoadDeclarationsFromStubLlvm) + 209 0.764 0.004 3.120 0.015 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2402(_LookupStubFuncType) + 10776467 2.946 0.000 2.947 0.000 {built-in method builtins.isinstance} +475663/229408 0.755 0.000 2.909 0.000 {method 'format' of 'str' objects} +309733/107738 0.408 0.000 2.697 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:44(__str__) + 1451 0.009 0.000 2.688 0.002 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1003(descr_body) + 8776 0.069 0.000 2.679 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1176(descr) +33715/31448 0.428 0.000 2.613 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:28(_ctype_to_llvm) + 444/302 0.001 0.000 2.484 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:528(HandleBodyLlvm) + 3526 0.387 0.000 2.471 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:216(_body_contains_raise) + 341/212 0.009 0.000 2.420 0.011 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesWhile.py:10(_HandleWhileLlvm) +2278/2246 0.054 0.000 2.332 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:37(_HandleAssignLlvm) + 66960 0.242 0.000 2.300 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:544(_to_string) +3571980/3299054 1.651 0.000 2.004 0.000 {built-in method builtins.getattr} + 1082 0.142 0.000 1.838 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:277(_infer_return_type_from_body) + 1286813 1.398 0.000 1.827 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:49(__get__) + 17338 0.325 0.000 1.796 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:820(_MergeAllComponentTypes) +3064/3020 0.005 0.000 1.791 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:34(HandleExprLlvm) + 1478 0.004 0.000 1.735 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:76(HandleExprLlvm) + 2119979 1.018 0.000 1.602 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:16(iter_fields) +42990/27995 0.470 0.000 1.590 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2846(_parse_llvm_type) + 20064 0.091 0.000 1.490 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:364(FromNode) + 30720 0.192 0.000 1.475 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:123(_base_ctype_to_llvm) + 17544 0.029 0.000 1.404 0.000 D:\Python312\Lib\re\__init__.py:179(sub) +21425/20064 0.085 0.000 1.399 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:59(from_node) + 6124 0.116 0.000 1.374 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2806(_parse_llvm_declare) + 24675 0.127 0.000 1.360 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:121(_PatchedAsPointer) +6510870/6510509 1.333 0.000 1.333 0.000 {built-in method builtins.len} + 8253 0.171 0.000 1.332 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:940(__init__) + 17630 0.720 0.000 1.317 0.000 {method 'sub' of 're.Pattern' objects} +2663/2643 0.153 0.000 1.278 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1926(_HandleClosureCallLlvm) + 101331 0.943 0.000 1.198 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:98(__init__) + 75242 0.252 0.000 1.197 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:164(__init__) + 24675 0.081 0.000 1.189 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:28(as_pointer) + 108795 0.206 0.000 1.186 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:537(__init__) + 2273 1.112 0.000 1.174 0.001 {built-in method _io.open} +3605/3539 0.020 0.000 1.150 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:906(_HandleAttributeLlvm) + 87684 0.958 0.000 1.124 0.000 D:\Python312\Lib\copy.py:252() + 65444 0.265 0.000 1.044 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:13(__init__) + 4962 0.028 0.000 1.039 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:738(alloca) + 2748 0.064 0.000 1.038 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:253(_HandleCompareLlvm) + 4962 0.025 0.000 0.996 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:532(__init__) + 454 0.123 0.000 0.976 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1418(_HandleExternalCallLlvm) + 3095 0.030 0.000 0.972 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:108(_allocaEntry) + 111652 0.180 0.000 0.963 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:557(_set_name) + 16006 0.370 0.000 0.961 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:582(_from_node_attribute) + 75242 0.875 0.000 0.922 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:90(_patched_init) + 59 0.002 0.000 0.912 0.015 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4596(_HandleGenericClassNewLlvm) + 3529617 0.899 0.000 0.899 0.000 {method 'isdigit' of 'str' objects} + 82999 0.346 0.000 0.892 0.000 :107(join) + 16493 0.325 0.000 0.892 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:891(_MergeCTypeInfoInto) + 43 0.000 0.000 0.867 0.020 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:122(_strip_unnecessary_quotes) + 16072 0.106 0.000 0.838 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1068(CTypeToLLVM) + 114897 0.427 0.000 0.835 0.000 D:\Python312\Lib\re\__init__.py:164(match) + 2461 0.163 0.000 0.828 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:396(_handle_attr_name) + 111652 0.186 0.000 0.783 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:16(register) + 97996 0.778 0.000 0.778 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:74(__init__) + 4436 0.086 0.000 0.763 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:813(_EmitExternalGlobalDeclLlvm) + 5736 0.039 0.000 0.747 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:642(_get_or_declare_function) + 1857 0.022 0.000 0.740 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesReturn.py:28(_HandleReturnLlvm) +41893/40786 0.633 0.000 0.736 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:171(_to_string) + 838 0.735 0.001 0.735 0.001 {built-in method nt.listdir} + 9538 0.040 0.000 0.734 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:467(descr) + 19695 0.097 0.000 0.720 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:129(_load) + 24806 0.096 0.000 0.710 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1108(__init__) + 1731924 0.703 0.000 0.703 0.000 {method 'get' of 'dict' objects} + 14157 0.146 0.000 0.695 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:328(_HandleNameLlvm) + 12208 0.021 0.000 0.691 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:409(__init__) + 783/777 0.002 0.000 0.685 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2371(_try_complete_generic_specialization) +350371/350054 0.247 0.000 0.670 0.000 {method 'join' of 'str' objects} + 13228 0.102 0.000 0.633 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:239(_get_or_create_struct) + 66868 0.260 0.000 0.616 0.000 {built-in method builtins.all} +186126/185430 0.268 0.000 0.603 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:54(get_reference) + 212/208 0.020 0.000 0.602 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4169(_HandleClassNewLlvm) + 216789 0.247 0.000 0.597 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:124(_unquote) + 75242 0.191 0.000 0.585 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:85(_patched_new) + 8210 0.058 0.000 0.578 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:977(descr_prototype) + 1387 0.006 0.000 0.561 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1048(_scan_method_body_for_self_members) +76419/4760 0.186 0.000 0.555 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1052(_scan_node_for_self_assign) + 19696 0.108 0.000 0.549 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:756(load) + 85208 0.280 0.000 0.549 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:129(BaseType) + 1182 0.315 0.000 0.534 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:159(_fill_default_args) + 7841 0.060 0.000 0.523 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:922(gep) + 101883 0.270 0.000 0.522 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:24(deduplicate) + 3401 0.511 0.000 0.511 0.000 {built-in method nt._path_isfile} + 168512 0.345 0.000 0.509 0.000 :179(splitroot) + 1381347 0.490 0.000 0.490 0.000 {method 'endswith' of 'str' objects} + 1431596 0.472 0.000 0.472 0.000 {method 'strip' of 'str' objects} + 2638 0.050 0.000 0.467 0.000 {built-in method builtins.min} + 9117 0.305 0.000 0.459 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:567(_find_function) + 7841 0.097 0.000 0.447 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:551(__init__) + 2646 0.058 0.000 0.431 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:24(_gep_and_Load_member) + 43 0.431 0.010 0.431 0.010 {built-in method _pickle.load} + 485/468 0.020 0.000 0.424 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:114(_HandleBoolOpLlvm) + 39192 0.116 0.000 0.418 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2205(_entry_priority) + 437/351 0.006 0.000 0.394 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1751(_HandleTypeCastLlvm) + 19696 0.062 0.000 0.392 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:434(__init__) + 425/335 0.004 0.000 0.389 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:341(_HandleTSpecialCallLlvm) + 1260/862 0.033 0.000 0.388 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:12(_HandleBinOpLlvm) + 43 0.004 0.000 0.381 0.009 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:442(__init__) + 349 0.193 0.001 0.374 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:535(_create_Vtable_globals) + 877136 0.371 0.000 0.371 0.000 {method 'append' of 'list' objects} + 4291 0.048 0.000 0.366 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:875(call) + 1305 0.361 0.000 0.361 0.000 {built-in method nt._path_isdir} + 41641 0.337 0.000 0.354 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:864(__init__) + 354 0.003 0.000 0.354 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:83(_register_cdefine_constant) + 220882 0.261 0.000 0.353 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:55(__set__) + 5836 0.015 0.000 0.345 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:596(_has_function) + 43 0.074 0.002 0.343 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:518(_LoadSha1Map) + 24806 0.062 0.000 0.339 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1055(__init__) + 7976 0.054 0.000 0.335 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:245(_store) + 13860 0.132 0.000 0.332 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:370(_resolve_typedef_int_width) + 847 0.020 0.000 0.309 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAugAssign.py:57(_HandleAugAssignLlvm) + 4291 0.103 0.000 0.301 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:68(__init__) + 98040 0.211 0.000 0.289 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:107(lookup) + 24691 0.024 0.000 0.288 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:983() + 15988 0.196 0.000 0.285 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:577(_llvm_str_to_ir) + 139194 0.155 0.000 0.284 0.000 D:\Python312\Lib\re\__init__.py:280(_compile) + 9538 0.059 0.000 0.281 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:769(store) + 46834 0.097 0.000 0.278 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:426(GetTModuleCType) + 6947 0.075 0.000 0.278 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:212(_HandleConstantLlvm) + 1024 0.019 0.000 0.273 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:297(_handle_attr_self) + 16481 0.038 0.000 0.264 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1127(__str__) + 4691 0.061 0.000 0.263 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:87(_from_node_name) + 263 0.027 0.000 0.260 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1417(_EmitNewFunctionLlvm) + 705309 0.257 0.000 0.257 0.000 {method 'group' of 're.Match' objects} + 123673 0.254 0.000 0.254 0.000 {method 'match' of 're.Pattern' objects} + 1972 0.221 0.000 0.254 0.000 {method 'read' of '_io.TextIOWrapper' objects} + 9128 0.059 0.000 0.250 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:19(from_type_name) + 75242 0.189 0.000 0.242 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:124(__new__) + 80328 0.141 0.000 0.242 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:564(_get_reference) + 696954 0.239 0.000 0.239 0.000 {method 'items' of 'dict' objects} + 2267 0.022 0.000 0.236 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:90(_resolve_typedef_ctype) + 915 0.035 0.000 0.235 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:686(_HandleAttributeStoreLlvm) + 763295 0.232 0.000 0.232 0.000 {method 'popleft' of 'collections.deque' objects} +10090/8438 0.028 0.000 0.231 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:650(_check_node_unsigned) + 10860 0.082 0.000 0.217 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:660(_mangle_func_name) + 7841 0.053 0.000 0.216 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:582(descr) + 332973 0.202 0.000 0.202 0.000 {method 'replace' of 'str' objects} + 64463 0.125 0.000 0.196 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1062(GetClassByName) + 107235 0.115 0.000 0.186 0.000 D:\Python312\Lib\copy.py:231(_keep_alive) + 9538 0.037 0.000 0.186 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:463(__init__) + 226378 0.186 0.000 0.186 0.000 {method 'split' of 'str' objects} + 43 0.006 0.000 0.177 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1131(_save_deps) + 704865 0.176 0.000 0.176 0.000 {built-in method builtins.id} + 150484 0.118 0.000 0.172 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:58(_IsBadPointee) + 1269 0.014 0.000 0.171 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:749(_check_attribute_signedness) + 45 0.003 0.000 0.169 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:27(_HandleForLlvm) + 124 0.166 0.001 0.169 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1664(_CheckEnumMemberAssignment) + 43842 0.169 0.000 0.169 0.000 {method '__reduce_ex__' of 'object' objects} + 201776 0.158 0.000 0.168 0.000 {built-in method builtins.hasattr} + 386274 0.166 0.000 0.166 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:277(__new__) + 8776 0.028 0.000 0.166 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:201(__init__) +52094/17338 0.110 0.000 0.164 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:731(_CollectAllOperandTypes) + 8776 0.036 0.000 0.164 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:965(append_basic_block) + 4291 0.008 0.000 0.163 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:175(descr) + 19696 0.062 0.000 0.163 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:447(descr) + 43 0.120 0.003 0.163 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:14(setup_from_symbol_table) + 418 0.018 0.000 0.158 0.000 {built-in method builtins.sum} + 1210 0.078 0.000 0.156 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:483(_resolve_class_for_var) + 4291 0.050 0.000 0.156 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:133(_descr) + 74878 0.085 0.000 0.155 0.000 {built-in method builtins.any} + 9946 0.042 0.000 0.154 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:222(_extract_struct_sha1) + 397062 0.154 0.000 0.154 0.000 {built-in method builtins.setattr} + 6671 0.049 0.000 0.153 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:548(_skip_mangle) + 107009 0.153 0.000 0.153 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:244(__init__) + 57983 0.065 0.000 0.153 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:31(__ne__) +5678/4414 0.033 0.000 0.150 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:376(Copy) + 2273 0.149 0.000 0.149 0.000 {method '__exit__' of '_io._IOBase' objects} + 657/652 0.017 0.000 0.144 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:276(_from_node_binop) + 1701 0.143 0.000 0.143 0.000 {method 'splitlines' of 'str' objects} + 370 0.012 0.000 0.139 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:943(_HandleSubscriptLlvm) + 6344 0.039 0.000 0.138 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:205(descr) + 9769 0.042 0.000 0.135 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:785(__init__) + 94592 0.106 0.000 0.135 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:720(__eq__) + 666264 0.133 0.000 0.133 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2210() + 437 0.005 0.000 0.131 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2177(_try_register_vtable_ondemand) + 65444 0.087 0.000 0.130 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:351(_insert) + 8/4 0.000 0.000 0.129 0.032 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:531(_LoadPackageInitForRelativeImport) + 29002 0.069 0.000 0.129 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:445(__init__) + 24691 0.067 0.000 0.126 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1095(_to_list) + 437 0.005 0.000 0.125 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2218(collect_class_methods) + 8776 0.041 0.000 0.123 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1158(__init__) + 3706 0.059 0.000 0.121 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:82(_adjust_args) + 191870 0.121 0.000 0.121 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:13(is_used) + 17/15 0.000 0.000 0.119 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:11(_HandleMatchLlvm) + 110 0.003 0.000 0.119 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2197(load_pyi) + 22880 0.059 0.000 0.119 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:557(_IsTModuleType) + 3254 0.027 0.000 0.119 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:568(_icmp) + 3718 0.013 0.000 0.118 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:350(FromTypeName) + 17/15 0.003 0.000 0.117 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:236(_HandleRenumMatchLlvm) + 109616 0.117 0.000 0.117 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2915() +35506/33190 0.069 0.000 0.112 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:12(_get_align) + 20061 0.082 0.000 0.112 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:528(_set_node_info) + 107009 0.112 0.000 0.112 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:137(__init__) + 1928 0.053 0.000 0.110 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\ExprGen.py:49(emit_binary_op) + 43 0.032 0.001 0.109 0.003 D:\Python312\Lib\json\__init__.py:120(dump) + 48011 0.108 0.000 0.108 0.000 {method 'write' of '_io.TextIOWrapper' objects} + 1654 0.030 0.000 0.107 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\ExprGen.py:257(emit_return) + 4302 0.023 0.000 0.103 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:160(wrapped) + 3526 0.048 0.000 0.102 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:153(_apply_struct_self_cls_types) + 24814 0.021 0.000 0.101 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:993() + 395 0.008 0.000 0.099 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1175(_HandleSubscriptStoreLlvm) + 154975 0.095 0.000 0.095 0.000 {method 'insert' of 'list' objects} +26979/26707 0.041 0.000 0.095 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:455(_get_reference) + 157258 0.093 0.000 0.093 0.000 {method 'add' of 'set' objects} + 3247 0.017 0.000 0.092 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:834(cbranch) + 12073 0.021 0.000 0.090 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2504(_strip_llvm_param_name) + 732 0.002 0.000 0.089 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:801(_apply_type_map_to_body) + 6396 0.022 0.000 0.087 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:235(_to_string) +2793/2085 0.010 0.000 0.087 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:805(_apply_type_map_to_stmt) + 50 0.086 0.002 0.086 0.002 {built-in method builtins.print} + 3097 0.015 0.000 0.086 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:826(branch) + 3269 0.030 0.000 0.084 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:349(__init__) + 39308 0.062 0.000 0.084 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:575(function_type) + 3563 0.054 0.000 0.084 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:233(_get_member_offset) + 30932 0.045 0.000 0.081 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2423() + 8210 0.018 0.000 0.080 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1141(__str__) + 21591 0.055 0.000 0.080 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:246(__init__) +54049/54030 0.060 0.000 0.080 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:178(__eq__) + 386978 0.080 0.000 0.080 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:125(BaseType) + 1623 0.004 0.000 0.079 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:56(_try_Load_struct_from_stub) + 8253 0.044 0.000 0.077 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:894(__init__) + 23419 0.053 0.000 0.076 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:169(__init__) + 3526 0.051 0.000 0.076 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:130(_resolve_method_class) + 1516 0.012 0.000 0.076 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:798(__init__) + 27765 0.047 0.000 0.075 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:506(Get) + 788 0.010 0.000 0.075 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1376(_EmitGlobalAnnAssignLlvm) + 2159 0.011 0.000 0.075 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:858(ret) + 119084 0.075 0.000 0.075 0.000 {built-in method __new__ of type object at 0x00007FFA5E6513D0} + 3613 0.023 0.000 0.072 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:314(CreateFromTypeName) + 15153 0.043 0.000 0.071 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:303(__init__) + 3641 0.016 0.000 0.070 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3485(_resolve_generic_slice_type) + 1804 0.003 0.000 0.068 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:579(icmp_signed) + 43 0.001 0.000 0.067 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:156(info) + 43 0.001 0.000 0.066 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:98(_write) + 255705 0.065 0.000 0.065 0.000 {built-in method nt.fspath} + 1598 0.032 0.000 0.065 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:175(_lookup_cdefine) + 4261 0.010 0.000 0.064 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:419(__init__) + 149712 0.064 0.000 0.064 0.000 {built-in method builtins.issubclass} + 43 0.001 0.000 0.064 0.001 D:\Python312\Lib\tempfile.py:521(NamedTemporaryFile) + 375948 0.064 0.000 0.064 0.000 D:\Python312\Lib\copy.py:172(_deepcopy_atomic) + 33209 0.043 0.000 0.064 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:138(_lookup_t_type) + 43842 0.042 0.000 0.063 0.000 D:\Python312\Lib\copyreg.py:98(__newobj__) + 1302 0.008 0.000 0.063 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1324(_StoreWithCoerce) + 164624 0.062 0.000 0.062 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:554(_get_name) + 43 0.062 0.001 0.062 0.001 {built-in method nt.unlink} + 47 0.002 0.000 0.062 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:70(_try_operator_overLoad) + 3269 0.019 0.000 0.061 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:365(descr) + 2461 0.024 0.000 0.060 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:374(_handle_attr_enum) + 5739 0.012 0.000 0.060 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1135(_check_annotation_for_state) + 30514 0.032 0.000 0.059 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2424() + 81195 0.059 0.000 0.059 0.000 {built-in method builtins.repr} + 47882 0.017 0.000 0.058 0.000 D:\Python312\Lib\json\encoder.py:414(_iterencode) + 2415 0.009 0.000 0.057 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:226(__init__) + 1450 0.003 0.000 0.057 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:588(icmp_unsigned) +10956/4849 0.035 0.000 0.054 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:167(FindStructNameInAnnotation) + 4261 0.013 0.000 0.054 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:422(descr) + 2277 0.013 0.000 0.054 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:31(wrapped) + 129 0.053 0.000 0.053 0.000 {built-in method nt._path_exists} + 10474 0.016 0.000 0.052 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:134(descr_arg) +2661/2013 0.006 0.000 0.052 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:749(_replace_type_in_annotation) + 92 0.002 0.000 0.052 0.001 D:\Python312\Lib\re\_compiler.py:738(compile) +12072/3900 0.030 0.000 0.052 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:867(_apply_type_map_to_expr) + 169082 0.051 0.000 0.051 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:235() +30909/17839 0.034 0.000 0.051 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:214(AnnotationContainsName) + 821 0.003 0.000 0.050 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:21(_MakeCTypeInfoFromName) + 204 0.003 0.000 0.050 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:284(_RegisterCrossModuleDocstrings) + 43 0.000 0.000 0.050 0.001 D:\Python312\Lib\tempfile.py:561(opener) + 43 0.001 0.000 0.050 0.001 D:\Python312\Lib\tempfile.py:243(_mkstemp_inner) + 1212 0.007 0.000 0.049 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:558(_mangle_name) + 9769 0.042 0.000 0.048 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:148(add_global) + 13857 0.025 0.000 0.048 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:449(_is_ctype_marker_name) + 1516 0.008 0.000 0.047 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:810(descr) + 783 0.006 0.000 0.047 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2539(_EnsureClassParentsLoaded) + 120/115 0.003 0.000 0.047 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:640(_handle_attr_nested) + 5678 0.042 0.000 0.047 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:298(copy) + 69048 0.045 0.000 0.045 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\BaseTranslator.py:150(DebugPrint) + 957 0.007 0.000 0.044 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:771(_make_replacement_node) + 43 0.044 0.001 0.044 0.001 {built-in method nt.open} + 8776 0.021 0.000 0.043 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:357(_set_terminator) + 43 0.001 0.000 0.043 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:540(_set_source_info) + 86 0.001 0.000 0.043 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:16(ExpandSoftKeywords) + 23450 0.037 0.000 0.042 0.000 D:\Python312\Lib\enum.py:1491(__contains__) + 31652 0.030 0.000 0.042 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:97(__len__) + 10870 0.030 0.000 0.042 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:44(register_method) + 26706 0.022 0.000 0.042 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:879(_to_list) + 33355 0.027 0.000 0.042 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:550() + 43 0.001 0.000 0.041 0.001 :200(makedirs) + 47882 0.026 0.000 0.041 0.000 D:\Python312\Lib\json\encoder.py:334(_iterencode_dict) + 2094 0.020 0.000 0.041 0.000 :236(split) +9919/3333 0.028 0.000 0.041 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3426(_resolve_type_arg_str) + 3526 0.024 0.000 0.040 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:114(_compute_func_name_meta) + 28716 0.017 0.000 0.039 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:64(_find_project_root) + 7 0.003 0.000 0.039 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:53(_HandleAsmLlvm) + 196 0.009 0.000 0.039 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3606(_HandleSizeofLlvm) + 74015 0.038 0.000 0.038 0.000 {method 'rstrip' of 'str' objects} + 847 0.002 0.000 0.038 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAugAssign.py:42(_is_aug_unsigned) + 1458 0.019 0.000 0.036 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:519(wrap_constant_value) + 8776 0.014 0.000 0.036 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1192(_format_name) + 118145 0.036 0.000 0.036 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:370(__new__) + 2130 0.011 0.000 0.035 0.000 :319(decode) + 12 0.001 0.000 0.035 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:491(_HandleForStrLlvm) + 8296 0.034 0.000 0.034 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:9(__init__) + 132 0.002 0.000 0.034 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:193(_HandleUnaryOpLlvm) + 78 0.005 0.000 0.034 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1014(_fill_vtable_with_methods) + 9444 0.018 0.000 0.033 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:162(__init__) + 35 0.001 0.000 0.033 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1625(_HandleTypeUnionCastLlvm) + 3303 0.007 0.000 0.033 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:439(GetCName) + 1272 0.004 0.000 0.032 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:70(wrapped) + 7030 0.014 0.000 0.032 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:117(ParseListAnnotation) + 7234 0.022 0.000 0.031 0.000 :1384(_handle_fromlist) + 119036 0.031 0.000 0.031 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:195(block) + 92 0.001 0.000 0.031 0.000 D:\Python312\Lib\re\_parser.py:962(parse) + 1099 0.003 0.000 0.031 0.000 :268(basename) + 86 0.006 0.000 0.031 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:627(_set_Vtable_initializers) + 23553 0.025 0.000 0.030 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:312(format_constant) +19298/17904 0.021 0.000 0.030 0.000 {built-in method builtins.max} + 68668 0.030 0.000 0.030 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:71(_stringify_metadata) + 186/92 0.002 0.000 0.029 0.000 D:\Python312\Lib\re\_parser.py:445(_parse_sub) + 5678 0.024 0.000 0.029 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:187(copy) + 51 0.001 0.000 0.029 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4064(_HandleCDerefAsLlvm) + 267/92 0.010 0.000 0.028 0.000 D:\Python312\Lib\re\_parser.py:505(_parse) + 11406 0.028 0.000 0.028 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:554() + 32944 0.022 0.000 0.028 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:303(__eq__) + 1162/962 0.020 0.000 0.028 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1981(_FlattenExt) + 4962 0.010 0.000 0.028 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:539(descr) + 2279 0.012 0.000 0.028 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:30(descr) + 3414 0.013 0.000 0.028 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:899(add) + 6662 0.008 0.000 0.027 0.000 D:\Python312\Lib\re\__init__.py:219(finditer) + 3446 0.018 0.000 0.027 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:85(_check_eh_return) + 21279 0.026 0.000 0.026 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:159(has) + 75242 0.026 0.000 0.026 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:130(__init__) + 1011 0.008 0.000 0.026 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:787(_make_name_node) + 8102 0.023 0.000 0.025 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:188(gep) + 2411 0.017 0.000 0.025 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:35(_HandleBuiltinCallLlvm) + 65241 0.025 0.000 0.025 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1034(_build) + 38 0.001 0.000 0.025 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:516(_RegisterSubModuleSha1) + 15676 0.018 0.000 0.024 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:218(IsStr) + 2130 0.024 0.000 0.024 0.000 {built-in method _codecs.utf_8_decode} + 850 0.004 0.000 0.023 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1117(_RegisterCDefineSymbol) + 3641 0.013 0.000 0.023 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:38(_append_eh_msg_out_arg) + 16968 0.023 0.000 0.023 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:173(insert) + 3327 0.010 0.000 0.023 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:163(is_struct) + 2415 0.008 0.000 0.023 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:237(descr) + 80676 0.022 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2679() + 93 0.010 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:123(_RegisterFromImportAliases) + 70/55 0.001 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:400(_HandleTPtrCastLlvm) + 2748 0.007 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:36(GetComparatorSymbol) + 2107 0.006 0.000 0.021 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:30(GetOpSymbol) + 261 0.003 0.000 0.020 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:396(gep) + 387 0.001 0.000 0.020 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1169(_StoreArrElemWithCoerceBswap) + 2504 0.012 0.000 0.020 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:14(_apply_bswap_on_Load) + 37176 0.019 0.000 0.019 0.000 {method 'extend' of 'list' objects} + 26706 0.019 0.000 0.019 0.000 {built-in method builtins.sorted} + 43 0.013 0.000 0.019 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:606(_fix_global_var_init) + 42 0.002 0.000 0.019 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1822(_HandleREnumConstructLlvm) + 9885 0.014 0.000 0.019 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:73(IsListAnnotation) + 42449 0.018 0.000 0.018 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1164(is_terminated) + 92 0.000 0.000 0.018 0.000 D:\Python312\Lib\re\_compiler.py:571(_code) + 507 0.003 0.000 0.018 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:602(descr) + 7393 0.006 0.000 0.018 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:165() + 493/475 0.002 0.000 0.018 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:291(_type_str_to_llvm) + 1552 0.010 0.000 0.017 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:247(__eq__) + 3349 0.012 0.000 0.017 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:59(_apply_auto_addr) + 2015 0.008 0.000 0.017 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:924(_to_list) + 78 0.003 0.000 0.017 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:577(_create_vtable_for_class) +3104/1386 0.010 0.000 0.017 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:251(_ExtractLLVMAttrs) + 491 0.003 0.000 0.017 0.000 :804(get) + 281 0.005 0.000 0.016 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:203(find_struct_by_pointee) + 43 0.014 0.000 0.016 0.000 {method 'readlines' of '_io._IOBase' objects} + 18888 0.016 0.000 0.016 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:94(__contains__) + 1147 0.004 0.000 0.016 0.000 :596(abspath) + 5225 0.011 0.000 0.016 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:641(_record_var_signedness) + 13055 0.015 0.000 0.015 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:230(__init__) + 43 0.001 0.000 0.015 0.000 D:\Python312\Lib\tempfile.py:500(__exit__) + 522 0.005 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:669(_check_call_unsigned) + 2748 0.014 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:28(GetComparatorSymbol) + 91/73 0.001 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:309(_type_str_to_llvm_impl) + 3414 0.013 0.000 0.015 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:874(add) + 2107 0.014 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:15(GetOpSymbol) + 1866 0.010 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1032(_get_ModulePath) + 2387/669 0.008 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:79(_get_struct_size) + 31108 0.015 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:87(HasPosition) + 952 0.001 0.000 0.015 0.000 :275(dirname) + 1585/193 0.009 0.000 0.014 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3393(_resolve_opaque_struct_members) + 22 0.001 0.000 0.014 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprLambda.py:134(_HandleIfExpLlvm) + 7 0.001 0.000 0.014 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:309(_HandleAsmWithOpLlvm) + 43 0.014 0.000 0.014 0.000 {built-in method nt.mkdir} + 491 0.007 0.000 0.014 0.000 :680(__getitem__) + 16006 0.014 0.000 0.014 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:39(IsTModulePath) + 43 0.000 0.000 0.013 0.000 D:\Python312\Lib\tempfile.py:481(func_wrapper) + 1557 0.005 0.000 0.013 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:279(_check_struct_match) + 24691 0.013 0.000 0.013 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1068(align) + 91/73 0.004 0.000 0.013 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:320(_type_str_to_llvm_base) + 4484 0.007 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:591(__init__) + 1136 0.002 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:39(_get_var_class) + 361/92 0.004 0.000 0.012 0.000 D:\Python312\Lib\re\_compiler.py:37(_compile) + 2015 0.011 0.000 0.012 0.000 :309(__init__) + 14473 0.012 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:83(__getitem__) + 507 0.003 0.000 0.012 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:990(phi) + 4663 0.008 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:227(IsUInt) + 357 0.001 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:19(_load_arr_elem_with_bswap) + 27081 0.012 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:210(IsPtr) + 1643 0.003 0.000 0.012 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:603() + 1643 0.008 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:202(_lookup_module_global) + 321 0.002 0.000 0.012 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:539(not_) +3443/1107 0.008 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\PythonParser.py:420(_has_ctype) + 198 0.002 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:510(_get_current_module_name) + 4890 0.008 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:177(resolve_alias) + 7001 0.009 0.000 0.011 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1022(is_declaration) + 27765 0.011 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:463(_build_map) + 73 0.001 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:210(_HandleCDerefLlvm) +6586/3293 0.008 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3470(_get_raw_type_name) + 19816 0.011 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:819(_apply_bswap_if_big) + 256 0.001 0.000 0.011 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:851(ret_void) + 23898 0.010 0.000 0.010 0.000 {built-in method _json.encode_basestring_ascii} + 43 0.001 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\TransPyC.py:34(__init__) +1560/1232 0.005 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:36(_get_var_class) + 383 0.003 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:620(_is_type_unsigned) + 58 0.002 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:488(_from_node_subscript) + 38 0.002 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1122(_replace_function_decl) + 3526 0.005 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:720(_is_generic_function) + 1684 0.007 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:736(_get_source_line) + 2644 0.002 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:28() + 783 0.001 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2490(_adjust_this_for_inherited_method) + 43 0.007 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\BaseTranslator.py:43(__init__) + 12350 0.009 0.000 0.009 0.000 {method 'rsplit' of 'str' objects} + 336 0.002 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:173(_coerce_value) + 2260 0.004 0.000 0.009 0.000 {built-in method builtins.next} + 6662 0.009 0.000 0.009 0.000 {method 'finditer' of 're.Pattern' objects} + 3712 0.009 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:197() + 1011 0.002 0.000 0.009 0.000 D:\Python312\Lib\re\__init__.py:255(escape) + 15406 0.009 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:97(IsStorageClass) + 2965 0.005 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:218(position_before) + 4904 0.005 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:647(_is_var_unsigned) + 43 0.005 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:56(__init__) + 238 0.005 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2428(_compute_field_byte_offset) + 507 0.001 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:597(__init__) + 973 0.002 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:706(_to_string) + 1581 0.005 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:547(_to_string) + 1113 0.005 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:31(_escape_string) + 5652 0.006 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:214(IsVoid) + 2389 0.005 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:517(_is_char_pointer) + 120 0.004 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1472(_try_resolve_nested_cdefine) + 6 0.001 0.000 0.007 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:204(_process_joined_str_template) + 19159 0.007 0.000 0.007 0.000 {method 'isalnum' of 'str' objects} + 9 0.003 0.000 0.007 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1333(_RegisterEnumMembers) + 4869 0.006 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:28(IsTModule) + 82 0.001 0.000 0.007 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:565(format_constant) + 3526 0.007 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:49(_extract_decorator_storage_flags) + 1147 0.003 0.000 0.007 0.000 :564(normpath) + 425 0.003 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:326(_ResolveTAttrToCName) + 3479 0.006 0.000 0.007 0.000 D:\Python312\Lib\re\_parser.py:254(get) + 1870 0.006 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1938() + 13603 0.007 0.000 0.007 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:587(packed) + 534 0.002 0.000 0.007 0.000 :754(encodekey) + 962 0.004 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:94(ExtractListFromBinOp) + 23649 0.007 0.000 0.007 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:318(wrap_constant_value) + 387 0.005 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:599(_get_mro_chain) + 5578 0.005 0.000 0.007 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:624(gep) + 1011 0.007 0.000 0.007 0.000 {method 'translate' of 'str' objects} + 34 0.000 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1144(HandleSubscriptPtrLlvm) + 1460 0.005 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:773(_create_doc_global) + 1533 0.002 0.000 0.006 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:519(__init__) + 1857 0.006 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesReturn.py:22(_find_active_finally) + 15137 0.006 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:102(IsTypeQualifier) + 1147 0.006 0.000 0.006 0.000 {built-in method nt._getfullpathname} + 92 0.001 0.000 0.006 0.000 D:\Python312\Lib\re\_compiler.py:509(_compile_info) + 6371 0.005 0.000 0.005 0.000 {method 'pop' of 'dict' objects} + 24691 0.005 0.000 0.005 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1077(dereferenceable) + 1325 0.003 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:465(__init__) + 24691 0.005 0.000 0.005 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1086(dereferenceable_or_null) + 3345 0.004 0.000 0.005 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:241(position_at_end) + 4033 0.005 0.000 0.005 0.000 {method 'pop' of 'list' objects} + 263 0.004 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:385(_resolve_class_flags) + 290 0.001 0.000 0.005 0.000 :257(splitext) + 2233 0.004 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesIf.py:25(_is_cif_call) + 4913 0.005 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:23(_ExtractFuncMeta) + 10354 0.005 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2107() + 9094 0.005 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:71(_EmitTempFrees) + 696 0.003 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1742(_eval_const_expr) + 66/61 0.002 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:586(_basic_type_to_llvm) + 1018 0.003 0.000 0.005 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:694(__init__) + 3839 0.004 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:427() + 96 0.003 0.000 0.005 0.000 D:\Python312\Lib\re\_compiler.py:241(_optimize_charset) + 43 0.001 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:21(compute_sha1) + 1458 0.003 0.000 0.005 0.000 :645(parent) + 1192 0.002 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:399(__init__) + 577 0.004 0.000 0.005 0.000 :748(check_str) + 1 0.000 0.000 0.004 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1182(_EmitREnumLlvm) + 973 0.002 0.000 0.004 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:11(_wrapname) + 620 0.003 0.000 0.004 0.000 :87(isabs) + 1194 0.004 0.000 0.004 0.000 {method 'encode' of 'str' objects} + 24 0.000 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:1174(_HandleVaArgLlvm) + 6911 0.004 0.000 0.004 0.000 {method 'find' of 'str' objects} + 43 0.001 0.000 0.004 0.000 D:\Python312\Lib\tempfile.py:473(__getattr__) + 1589 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:252(_resolve_var_classname) + 1465 0.004 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:262(_GetAttrLLVMName) + 4291 0.004 0.000 0.004 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:119(args) + 743 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:77(_is_cdefine_type) + 12682 0.004 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2630() + 1206 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:439() + 392 0.004 0.000 0.004 0.000 {method 'clear' of 'dict' objects} + 1832 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:228(IsCPtrNode) + 7455 0.004 0.000 0.004 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:234(position_at_start) + 1832 0.002 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:458(__init__) + 442 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1133(ResolveName) + 2094 0.002 0.000 0.004 0.000 :35(_get_bothseps) + 6575 0.004 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:393(set) + 392 0.002 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:87(_ZeroConst) + 290 0.002 0.000 0.004 0.000 :133(_splitext) + 2020 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:316(__init__) + 81 0.003 0.000 0.003 0.000 {built-in method _hashlib.openssl_sha1} + 2364 0.003 0.000 0.003 0.000 {method 'rfind' of 'str' objects} + 14484 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2230() + 3007 0.003 0.000 0.003 0.000 {method 'index' of 'list' objects} + 1303 0.002 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:550(__eq__) + 9531 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1793() + 9531 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1792() + 43 0.000 0.000 0.003 0.000 D:\Python312\Lib\tempfile.py:114(_sanitize_params) + 137/87 0.002 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:671(_FlattenInherited) + 90 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:117(_to_bool) + 9531 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1795() + 36 0.000 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:555(_parse_asm_descr) + 8582 0.003 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:111(callee) + 43 0.000 0.000 0.003 0.000 :688(__setitem__) + 3575 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:210(_extract_short_name) + 5583 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1140(_check_decorators_for_state) + 1451 0.002 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:190(__init__) + 336 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1117(NameToLLVM) + 43 0.001 0.000 0.003 0.000 D:\Python312\Lib\functools.py:35(update_wrapper) + 960 0.002 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:728(set_body) + 1260 0.002 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:281(__init__) + 3497 0.003 0.000 0.003 0.000 {method 'values' of 'dict' objects} + 91 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:206(_resolve_typedef) + 7260 0.003 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:110(_to_string) + 3402 0.002 0.000 0.003 0.000 D:\Python312\Lib\re\_parser.py:164(__getitem__) + 43 0.003 0.000 0.003 0.000 {method 'strftime' of 'datetime.date' objects} + 155 0.001 0.000 0.003 0.000 D:\Python312\Lib\inspect.py:908(getfile) + 43 0.003 0.000 0.003 0.000 {method 'disable' of '_lsprof.Profiler' objects} + 43 0.003 0.000 0.003 0.000 {built-in method nt.putenv} + 183 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:110() + 1147 0.002 0.000 0.002 0.000 {built-in method nt._path_normpath} + 68/22 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:488(_FindNonVoidCTypeInfo) + 2015 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:906(alignstack) + 7 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:184(_prepare_intel_asm) + 9531 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1797() + 1653 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:17(_unregister_local_heap_ptr) + 43 0.001 0.000 0.002 0.000 D:\Python312\Lib\tempfile.py:153(__next__) + 1345 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:599(__len__) + 184 0.001 0.000 0.002 0.000 D:\Python312\Lib\enum.py:1538(__and__) + 3095 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:957(entry_basic_block) + 3 0.000 0.000 0.002 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:981(_HandleMemsetLlvm) + 2622 0.001 0.000 0.002 0.000 D:\Python312\Lib\re\_parser.py:172(append) + 13 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:570(ResolveListElementType) + 12 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1856(_HandleTypedefCastLlvm) + 9531 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1794() + 1136 0.001 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:613(add_incoming) + 9531 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1796() + 43 0.001 0.000 0.002 0.000 D:\Python312\Lib\tempfile.py:85(_infer_return_type) + 2437 0.002 0.000 0.002 0.000 {method 'copy' of 'dict' objects} + 378 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:521(__init__) + 4 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\ConstEval.py:30(_BuildArrayInitConstants) + 3269 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:368() + 2415 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:230(return_value) + 4165 0.002 0.000 0.002 0.000 D:\Python312\Lib\re\_parser.py:233(__next) + 7 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:281(_mangle_asm_calls) + 1478 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:285(_get_var_ptr) + 273 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:342(_resolve_decorator_kind) + 1718 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:557(gep) + 212 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4109(_InjectRequiresFields) + 714/696 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:124(eval_full) + 1458 0.002 0.000 0.002 0.000 {method 'rpartition' of 'str' objects} + 1018 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:595(packed) + 26 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:28(_HandleCAddrLlvm) + 501 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:437(__init__) + 942 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:451(__init__) + 277 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:306(_is_classname_ctype_marker) + 103/92 0.001 0.000 0.002 0.000 D:\Python312\Lib\re\_compiler.py:434(_get_literal_prefix) + 1166 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:68(_UnregisterTempPtr) + 3020 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:607(is_opaque) + 454 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:727(LookupFunctionSymbol) + 348 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:64(_extract_const_value) + 91 0.001 0.000 0.002 0.000 D:\Python312\Lib\re\__init__.py:209(findall) + 642 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:492(_try_resolve_ctype_basic) + 2015 0.002 0.000 0.002 0.000 :260(__init__) + 108 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:68(_mangle_generic_class_name) + 524 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:205() + 278 0.001 0.000 0.002 0.000 D:\Python312\Lib\enum.py:709(__call__) + 1297 0.002 0.000 0.002 0.000 {method 'setdefault' of 'dict' objects} + 2284 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:445(__getitem__) + 2137 0.002 0.000 0.002 0.000 {method 'keys' of 'dict' objects} + 1123 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:38() + 43 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:33(configure_platform) + 357 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3210(_EnsureReceiverStructConcrete) + 1986 0.001 0.000 0.001 0.000 {method 'reverse' of 'list' objects} + 132 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:33(GetUnaryOpSymbol) + 807 0.001 0.000 0.001 0.000 {method 'discard' of 'set' objects} + 83 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_compiler.py:384(_mk_bitmap) + 284 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\ConstEval.py:178(_BuildScalarConstantUnified) + 85 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:442(_uniq) + 43 0.001 0.000 0.001 0.000 D:\Python312\Lib\random.py:454(choices) + 273 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:19(_is_exception_class) + 131/105 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:174(getwidth) + 1204 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:513(__init__) + 223 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:444(__init__) + 871/850 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1025(_ExtractConstValue) + 59 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:429(format_constant) + 43 0.001 0.000 0.001 0.000 D:\Python312\Lib\json\encoder.py:205(iterencode) + 43 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:7(__init__) + 1952 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:20(_emit_local_heap_frees) + 1062 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:249(match) + 59 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:360(_format_double) + 3421 0.001 0.000 0.001 0.000 {built-in method builtins.ord} + 132 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:24(GetUnaryOpSymbol) + 17 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:298(descr) + 24 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:59(emit_va_arg) + 114 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:77(items) + 3613 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:332(_get_llvm_primitive_map) + 51 0.001 0.000 0.001 0.000 D:\Python312\Lib\enum.py:1528(__or__) + 96/58 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:335(_HasNoBreak) + 5 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:550(_HandleLenLlvm) + 59 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:353(_format_float_as_hex) + 3895 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:75(wrap_constant_value) + 120 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1461(_build_attr_path) + 778 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:619() + 120 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1529(_try_resolve_cross_module_enum) + 316 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:540(elements) + 328 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:204(__init__) + 36 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:550(neg) + 247 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1444(_infer_array_member_type) + 221 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1351(_infer_element_struct_class) + 1617 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:536(__init__) + 43 0.001 0.000 0.001 0.000 :117(__instancecheck__) + 43 0.001 0.000 0.001 0.000 D:\Python312\Lib\tempfile.py:297(gettempdir) + 1297 0.001 0.000 0.001 0.000 {built-in method builtins.vars} + 3 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:168(_HandleCLoadLlvm) + 86 0.001 0.000 0.001 0.000 D:\Python312\Lib\tempfile.py:430(cleanup) + 92 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_compiler.py:405(_generate_overlap_table) + 310 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:183(__init__) + 189 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:288(__init__) + 16 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:1106(_resolve_vararg_type) + 162 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:266(_resolve_base_kind) + 96 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:365(_escape) + 8/2 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1274(_FindNonVoidCTypeInfo) + 81 0.001 0.000 0.001 0.000 {method 'hexdigest' of '_hashlib.HASH' objects} + 399 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:228(_ApplyKeywordArgs) + 91 0.001 0.000 0.001 0.000 {method 'findall' of 're.Pattern' objects} + 13 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:81(_from_node_constant) + 2015 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:915(personality) + 96 0.000 0.000 0.001 0.000 D:\Python312\Lib\re\_compiler.py:214(_compile_charset) + 59/50 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:38(eval_with_symtab) + 201 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:818(GetOrCreateStubFuncDecl) + 15 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:613(fcmp_unordered) + 43 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:20(_parse_triple) + 278 0.001 0.000 0.001 0.000 D:\Python312\Lib\enum.py:1112(__new__) + 215 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:274(__init__) + 2015 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:871(_expand) + 534 0.001 0.000 0.001 0.000 {method 'upper' of 'str' objects} + 277 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:63(_is_generic_class) + 7 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:47(emit_va_end) + 285/124 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1665(_get_attr_path) + 436 0.001 0.000 0.001 0.000 {method 'find' of 'bytearray' objects} + 6 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesRaise.py:19(_HandleRaiseLlvm) + 44 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:55(try_eval_const_expr) + 17 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:818(switch) + 43 0.000 0.000 0.001 0.000 D:\Python312\Lib\tempfile.py:455(__del__) + 412 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:656(_get_function) + 212 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4178(_get_struct_type) + 81 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:305(_class_escape) + 92 0.000 0.000 0.000 0.000 {built-in method _sre.compile} + 8 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:1149(_infer_vararg_type_from_context) + 56 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1391(_ClassifyExternalClass) + 371 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:373(__eq__) + 129 0.000 0.000 0.000 0.000 {method 'update' of 'dict' objects} + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:494(__enter__) + 696 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:479(__init__) + 326 0.000 0.000 0.000 0.000 {built-in method builtins.iter} + 155 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:291(ismodule) + 85 0.000 0.000 0.000 0.000 {built-in method fromkeys} + 549 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:160(__len__) + 194 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:190(__init__) + 1192 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:208(_to_string) + 193 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:33(_resolve_opaque_struct) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:530(__init__) + 96 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:224(__init__) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:26(__init__) + 378 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:286(tell) + 35 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:237(ToString) + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:24(emit_va_start) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:142(rng) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\__init__.py:331(_compile_template) + 20 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1571(_eval_global_const) + 215 0.000 0.000 0.000 0.000 :186(__init__) + 17 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:283(__init__) + 685 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:526(_get_reference) + 116 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:267(__init__) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:989(parse_template) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1558(_get_attr_class) + 43 0.000 0.000 0.000 0.000 {built-in method now} + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:44() + 1272 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:342(bitcast) + 61 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:576(__init__) + 186 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAugAssign.py:200(_deref_if_ptr) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\encoder.py:260(_make_iterencode) + 43 0.000 0.000 0.000 0.000 {built-in method _abc._abc_instancecheck} + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:467(__init__) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:49(__init__) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:197(__get__) + 2 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1237(_get_attr_ptr) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:225(_get_metadata_lines) + 94/54 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1695(_IsTypedefAnnotation) + 103 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:260(__init__) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:27(__init__) + 59 0.000 0.000 0.000 0.000 {built-in method _struct.unpack} + 112 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:100(__iter__) + 361 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:109(__init__) + 184 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:568(isstring) + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:94(closegroup) + 92 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:946(fix_flags) + 43 0.000 0.000 0.000 0.000 {method 'flush' of '_io.TextIOWrapper' objects} + 210 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:79(groups) + 63 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:176(__init__) + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:189(_normalize_asm_template) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:65(wraps) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:17(__init__) + 17 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1252(_ir_type_size) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DiagnosticCollector.py:41(__init__) + 43 0.000 0.000 0.000 0.000 :824(fsdecode) + 22 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:259(_RegisterGlobalNames) + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:211(_eval_compile_time_call) + 73 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:417() + 24 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:12(descr) + 43 0.000 0.000 0.000 0.000 {method '__enter__' of '_io._IOBase' objects} + 155 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:295(isclass) + 83 0.000 0.000 0.000 0.000 {method 'translate' of 'bytearray' objects} + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:8(_get_va_start_intrinsic) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:90(_colorize) + 525 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:426(__str__) + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:16(_get_va_end_intrinsic) + 26 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:363(__init__) + 316 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:438(__init__) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:11(__init__) + 92 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:73(__init__) + 324 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:544(__len__) + 43 0.000 0.000 0.000 0.000 :2(__init__) + 129 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:45() + 43 0.000 0.000 0.000 0.000 {method 'items' of 'collections.OrderedDict' objects} + 59 0.000 0.000 0.000 0.000 {built-in method _struct.pack} + 114 0.000 0.000 0.000 0.000 {method 'lower' of 'str' objects} + 344 0.000 0.000 0.000 0.000 {method 'random' of '_random.Random' objects} + 344 0.000 0.000 0.000 0.000 {built-in method math.floor} + 9 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:163(_make_define_constant) + 55 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:261(_infer_deref_target_type) + 35 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:430(__init__) + 11 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:255(_HandleGlobalLlvm) + 42 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:292(add_case) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1276(value) + 7 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:772(get_reference) + 9 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:81(add_enum) + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:63(_eval_ctype_ctor_call) + 43 0.000 0.000 0.000 0.000 {method 'close' of '_io.TextIOWrapper' objects} + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:265(get_logger) + 22 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:486(__init__) + 10 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:416(__init__) + 92 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:201() + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:82(opengroup) + 43 0.000 0.000 0.000 0.000 {built-in method nt.getpid} + 204 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:218() + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:25(_patched_inline_asm_descr) + 43 0.000 0.000 0.000 0.000 {built-in method sys.getrecursionlimit} + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:322(_eval_arith) + 103 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:426(_get_iscased) + 8 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2398(_BuildScalarConstant) + 17 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2151(_has_cvtable_decorator) + 43 0.000 0.000 0.000 0.000 {built-in method sys.setrecursionlimit} + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:396(_simple) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:29(__init__) + 4 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1478(_BuildScalarConstant) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:229(_get_candidate_names) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:27(get_sha1_map_store) + 43 0.000 0.000 0.000 0.000 {built-in method sys.audit} + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:21(_patched_inline_asm_init) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:214(get_identified_types) + 13 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:619(ParseArrayCount) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DecoratorPass.py:476(run) + 5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:828(_zero_value_for_type) + 13/9 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\PythonParser.py:127(find_PostdefNode) + 17 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2167(_has_novtable_decorator) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:1005(addgroup) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:18(wrapped) + 11/5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:21(_contains_identified_struct) + 43 0.000 0.000 0.000 0.000 {method 'values' of 'collections.OrderedDict' objects} + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:42(_format_to_dialect) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:12(__init__) + 102 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:357() + 8 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:997(addliteral) + 85 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:218() + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:424(__init__) + 43 0.000 0.000 0.000 0.000 {built-in method _io.text_encoding} + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\Config.py:6(__init__) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:285(_gettempdir) + 14 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAnnAssign.py:15(_IsGenericTpName) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\ExprGen.py:9(emit_constant) + 28 0.000 0.000 0.000 0.000 {method 'lstrip' of 'str' objects} + 6/2 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3565(_AnnotationContainsCPtr) + 13 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:111(__init__) + 7 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:759(__init__) + 5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:379(__init__) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:211(__eq__) + 24 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:31(_combine_flags) + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:61() + 34 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:288(value) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:511(_get_var_ptr_for_asm) + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesRaise.py:12(_get_exception_code) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:325(__init__) + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:168(__setitem__) + 34 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2689() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:91(_is_t_storage_decorator) + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:536(get_or_declare_c_func) + 9 0.000 0.000 0.000 0.000 {built-in method builtins.abs} + 4 0.000 0.000 0.000 0.000 {built-in method _sre.template} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:71(keys) + + diff --git a/PROF/combined_worker_tottime.txt b/PROF/combined_worker_tottime.txt new file mode 100644 index 0000000..2fec95c --- /dev/null +++ b/PROF/combined_worker_tottime.txt @@ -0,0 +1,936 @@ +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_12728_1.prof +Wed Aug 19 00:00:10 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_12728_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_1.prof +Wed Aug 19 00:00:06 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_2.prof +Wed Aug 19 00:00:15 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14308_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14748_1.prof +Wed Aug 19 00:00:13 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_14748_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_1.prof +Wed Aug 19 00:00:05 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_2.prof +Wed Aug 19 00:00:10 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_21412_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_3188_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_3188_2.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_2.prof +Wed Aug 19 00:00:20 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_32220_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_2.prof +Wed Aug 19 00:00:17 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_36004_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_2.prof +Wed Aug 19 00:00:25 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_41872_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_1.prof +Wed Aug 19 00:00:08 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_2.prof +Wed Aug 19 00:00:30 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_47120_3.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_2.prof +Wed Aug 19 00:00:20 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_54788_3.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_1.prof +Wed Aug 19 00:00:06 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_2.prof +Wed Aug 19 00:00:12 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_55456_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_2.prof +Wed Aug 19 00:00:15 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60112_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60724_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_60724_2.prof +Wed Aug 19 00:00:02 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_1.prof +Wed Aug 19 00:00:07 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_2.prof +Wed Aug 19 00:00:13 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_6192_3.prof +Wed Aug 19 00:00:03 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_1.prof +Wed Aug 19 00:00:09 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_2.prof +Wed Aug 19 00:00:32 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_63756_3.prof +Wed Aug 19 00:00:04 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_7536_1.prof +Wed Aug 19 00:00:11 2026 D:\Users\TermiNexus\Desktop\TransPyC\PROF\worker_prof_7536_2.prof + + 70332069 function calls (68531363 primitive calls) in 109.411 seconds + + Ordered by: internal time + + ncalls tottime percall cumtime percall filename:lineno(function) + 607620 17.983 0.000 18.412 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Nodes.py:314(_Init) + 43 8.243 0.192 11.604 0.270 {built-in method _pickle.loads} + 43 7.662 0.178 17.425 0.405 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:134(finalize) + 15752538 4.679 0.000 4.679 0.000 {method 'startswith' of 'str' objects} +256646/41890 3.463 0.000 3.953 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:65(_format) + 43 3.360 0.078 3.361 0.078 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:43(__setstate__) + 10776467 2.946 0.000 2.947 0.000 {built-in method builtins.isinstance} + 78599 2.495 0.000 3.410 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:411(_count_braces_outside_strings) + 405 2.467 0.006 20.782 0.051 {built-in method vast_c.parse} + 1689319 1.822 0.000 3.935 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:25(iter_child_nodes) +3571980/3299054 1.651 0.000 2.004 0.000 {built-in method builtins.getattr} + 1286813 1.398 0.000 1.827 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:49(__get__) +6510870/6510509 1.333 0.000 1.333 0.000 {built-in method builtins.len} +483183/117 1.285 0.000 4.300 0.037 D:\Python312\Lib\copy.py:118(deepcopy) + 2273 1.112 0.000 1.174 0.001 {built-in method _io.open} + 769071 1.106 0.000 5.721 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:36(walk) + 41890 1.057 0.000 5.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:47(dump) +41890/33133 1.044 0.000 15.450 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:36(_GetCTypeInfoInternal) + 2119979 1.018 0.000 1.602 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:16(iter_fields) + 87684 0.958 0.000 1.124 0.000 D:\Python312\Lib\copy.py:252() + 101331 0.943 0.000 1.198 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:98(__init__) +27760/10005 0.942 0.000 13.839 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2280(_TryLoadClassMembersFromPyi) + 3529617 0.899 0.000 0.899 0.000 {method 'isdigit' of 'str' objects} + 75242 0.875 0.000 0.922 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:90(_patched_init) + 97996 0.778 0.000 0.778 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:74(__init__) + 209 0.764 0.004 3.120 0.015 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2402(_LookupStubFuncType) + 763295 0.757 0.000 4.359 0.000 {method 'extend' of 'collections.deque' objects} +475663/229408 0.755 0.000 2.909 0.000 {method 'format' of 'str' objects} + 838 0.735 0.001 0.735 0.001 {built-in method nt.listdir} + 17630 0.720 0.000 1.317 0.000 {method 'sub' of 're.Pattern' objects} + 1731924 0.703 0.000 0.703 0.000 {method 'get' of 'dict' objects} +41893/40786 0.633 0.000 0.736 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:171(_to_string) + 2199/567 0.540 0.000 14.953 0.026 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1470(_EmitExternalClassDeclLlvm) + 3401 0.511 0.000 0.511 0.000 {built-in method nt._path_isfile} + 1381347 0.490 0.000 0.490 0.000 {method 'endswith' of 'str' objects} + 1431596 0.472 0.000 0.472 0.000 {method 'strip' of 'str' objects} +42990/27995 0.470 0.000 1.590 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2846(_parse_llvm_type) +1435/1359 0.441 0.000 19.266 0.014 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1151(_EmitFunctionLlvm) + 43 0.431 0.010 0.431 0.010 {built-in method _pickle.load} +33715/31448 0.428 0.000 2.613 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:28(_ctype_to_llvm) + 114897 0.427 0.000 0.835 0.000 D:\Python312\Lib\re\__init__.py:164(match) +309733/107738 0.408 0.000 2.697 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:44(__str__) + 3526 0.387 0.000 2.471 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:216(_body_contains_raise) + 877136 0.371 0.000 0.371 0.000 {method 'append' of 'list' objects} + 16006 0.370 0.000 0.961 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:582(_from_node_attribute) +43842/117 0.370 0.000 4.295 0.037 D:\Python312\Lib\copy.py:247(_reconstruct) + 1305 0.361 0.000 0.361 0.000 {built-in method nt._path_isdir} + 82999 0.346 0.000 0.892 0.000 :107(join) +26292/117 0.345 0.000 4.281 0.037 D:\Python312\Lib\copy.py:217(_deepcopy_dict) + 168512 0.345 0.000 0.509 0.000 :179(splitroot) + 41641 0.337 0.000 0.354 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:864(__init__) + 17338 0.325 0.000 1.796 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:820(_MergeAllComponentTypes) + 16493 0.325 0.000 0.892 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:891(_MergeCTypeInfoInto) + 1182 0.315 0.000 0.534 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:159(_fill_default_args) + 9117 0.305 0.000 0.459 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:567(_find_function) + 349/313 0.300 0.001 8.354 0.027 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:214(_generate_structs) + 43 0.300 0.007 4.101 0.095 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:979(_split_ll) + 43 0.296 0.007 96.859 2.253 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1286(_translate_file) + 85208 0.280 0.000 0.549 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:129(BaseType) + 310 0.277 0.001 3.244 0.010 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2550(_LoadDeclarationsFromStubLlvm) + 101883 0.270 0.000 0.522 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:24(deduplicate) +186126/185430 0.268 0.000 0.603 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:54(get_reference) + 65444 0.265 0.000 1.044 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:13(__init__) + 220882 0.261 0.000 0.353 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:55(__set__) + 66868 0.260 0.000 0.616 0.000 {built-in method builtins.all} + 705309 0.257 0.000 0.257 0.000 {method 'group' of 're.Match' objects} + 43 0.256 0.006 6.839 0.159 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\PythonParser.py:63(ParsePythonFile) + 123673 0.254 0.000 0.254 0.000 {method 'match' of 're.Pattern' objects} + 75242 0.252 0.000 1.197 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:164(__init__) + 216789 0.247 0.000 0.597 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:124(_unquote) +350371/350054 0.247 0.000 0.670 0.000 {method 'join' of 'str' objects} + 66960 0.242 0.000 2.300 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:544(_to_string) + 696954 0.239 0.000 0.239 0.000 {method 'items' of 'dict' objects} + 763295 0.232 0.000 0.232 0.000 {method 'popleft' of 'collections.deque' objects} + 1972 0.221 0.000 0.254 0.000 {method 'read' of '_io.TextIOWrapper' objects} + 98040 0.211 0.000 0.289 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:107(lookup) + 108795 0.206 0.000 1.186 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:537(__init__) +17338/15475 0.204 0.000 14.582 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:773(MergeTypes) + 332973 0.202 0.000 0.202 0.000 {method 'replace' of 'str' objects} + 43 0.200 0.005 4.169 0.097 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1215(_inject_auto_imports) + 15988 0.196 0.000 0.285 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:577(_llvm_str_to_ir) +3836/3776 0.194 0.000 5.259 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1151(_EmitExternalFuncDeclLlvm) + 349 0.193 0.001 0.374 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:535(_create_Vtable_globals) + 30720 0.192 0.000 1.475 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:123(_base_ctype_to_llvm) + 75242 0.191 0.000 0.585 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:85(_patched_new) + 75242 0.189 0.000 0.242 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:124(__new__) +76419/4760 0.186 0.000 0.555 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1052(_scan_node_for_self_assign) + 111652 0.186 0.000 0.783 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:16(register) + 226378 0.186 0.000 0.186 0.000 {method 'split' of 'str' objects} + 111652 0.180 0.000 0.963 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:557(_set_name) + 704865 0.176 0.000 0.176 0.000 {built-in method builtins.id} + 8253 0.171 0.000 1.332 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:940(__init__) + 43842 0.169 0.000 0.169 0.000 {method '__reduce_ex__' of 'object' objects} + 124 0.166 0.001 0.169 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1664(_CheckEnumMemberAssignment) + 386274 0.166 0.000 0.166 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:277(__new__) + 2461 0.163 0.000 0.828 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:396(_handle_attr_name) +2091/2071 0.161 0.000 4.567 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:452(_GetFunctionSignatureLlvm) +26292/117 0.161 0.000 4.285 0.037 D:\Python312\Lib\copy.py:200(_deepcopy_tuple) + 201776 0.158 0.000 0.168 0.000 {built-in method builtins.hasattr} +1836/1806 0.157 0.000 6.701 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAnnAssign.py:317(_HandleAnnAssignLlvmInner) + 139194 0.155 0.000 0.284 0.000 D:\Python312\Lib\re\__init__.py:280(_compile) + 397062 0.154 0.000 0.154 0.000 {built-in method builtins.setattr} + 107009 0.153 0.000 0.153 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:244(__init__) +2663/2643 0.153 0.000 1.278 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1926(_HandleClosureCallLlvm) + 2273 0.149 0.000 0.149 0.000 {method '__exit__' of '_io._IOBase' objects} +4297/1121 0.147 0.000 13.478 0.012 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:14(HandleBodyLlvm) + 14157 0.146 0.000 0.695 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:328(_HandleNameLlvm) + 1701 0.143 0.000 0.143 0.000 {method 'splitlines' of 'str' objects} + 1082 0.142 0.000 1.838 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:277(_infer_return_type_from_body) +26364/22594 0.141 0.000 13.813 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:690(ResolveAnnotationType) + 80328 0.141 0.000 0.242 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:564(_get_reference) + 666264 0.133 0.000 0.133 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2210() + 13860 0.132 0.000 0.332 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:370(_resolve_typedef_int_width) +34295/11889 0.129 0.000 9.813 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:48(HandleExprLlvm) + 24675 0.127 0.000 1.360 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:121(_PatchedAsPointer) + 277/232 0.126 0.000 21.435 0.092 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:506(_EmitClassLlvm) + 64463 0.125 0.000 0.196 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1062(GetClassByName) + 454 0.123 0.000 0.976 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1418(_HandleExternalCallLlvm) + 191870 0.121 0.000 0.121 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:13(is_used) + 43 0.120 0.003 0.163 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:14(setup_from_symbol_table) + 150484 0.118 0.000 0.172 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:58(_IsBadPointee) + 109616 0.117 0.000 0.117 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2915() + 39192 0.116 0.000 0.418 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2205(_entry_priority) + 6124 0.116 0.000 1.374 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2806(_parse_llvm_declare) + 107235 0.115 0.000 0.186 0.000 D:\Python312\Lib\copy.py:231(_keep_alive) + 107009 0.112 0.000 0.112 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:137(__init__) +52094/17338 0.110 0.000 0.164 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:731(_CollectAllOperandTypes) + 19696 0.108 0.000 0.549 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:756(load) + 48011 0.108 0.000 0.108 0.000 {method 'write' of '_io.TextIOWrapper' objects} + 94592 0.106 0.000 0.135 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:720(__eq__) + 16072 0.106 0.000 0.838 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1068(CTypeToLLVM) +1240/1123 0.106 0.000 4.912 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2570(_HandleMethodCallLlvm) + 4291 0.103 0.000 0.301 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:68(__init__) + 13228 0.102 0.000 0.633 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:239(_get_or_create_struct) +4569/4023 0.098 0.000 8.062 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:266(_HandleCallLlvm) + 7841 0.097 0.000 0.447 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:551(__init__) + 19695 0.097 0.000 0.720 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:129(_load) + 46834 0.097 0.000 0.278 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:426(GetTModuleCType) + 24806 0.096 0.000 0.710 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1108(__init__) + 154975 0.095 0.000 0.095 0.000 {method 'insert' of 'list' objects} + 157258 0.093 0.000 0.093 0.000 {method 'add' of 'set' objects} + 20064 0.091 0.000 1.490 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:364(FromNode) + 65444 0.087 0.000 0.130 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:351(_insert) + 50 0.086 0.002 0.086 0.002 {built-in method builtins.print} + 4436 0.086 0.000 0.763 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:813(_EmitExternalGlobalDeclLlvm) + 74878 0.085 0.000 0.155 0.000 {built-in method builtins.any} +21425/20064 0.085 0.000 1.399 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:59(from_node) + 10860 0.082 0.000 0.217 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:660(_mangle_func_name) + 20061 0.082 0.000 0.112 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:528(_set_node_info) +41890/33133 0.081 0.000 15.519 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:26(GetCTypeInfo) + 24675 0.081 0.000 1.189 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:28(as_pointer) + 386978 0.080 0.000 0.080 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:125(BaseType) +34716/30990 0.078 0.000 12.630 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:743(_GetTypeFromNode) + 1210 0.078 0.000 0.156 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:483(_resolve_class_for_var) + 43 0.077 0.002 72.785 1.693 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:25(GenerateLlvmDirect) + 6947 0.075 0.000 0.278 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:212(_HandleConstantLlvm) + 119084 0.075 0.000 0.075 0.000 {built-in method __new__ of type object at 0x00007FFA5E6513D0} + 43 0.074 0.002 0.343 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:518(_LoadSha1Map) +2091/2071 0.071 0.000 5.528 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1021(_EmitFunctionForwardDeclLlvm) +35506/33190 0.069 0.000 0.112 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:12(_get_align) + 148 0.069 0.000 8.508 0.057 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:99(_EmitImportDeclarationsLlvm) + 8776 0.069 0.000 2.679 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1176(descr) + 43 0.069 0.002 109.409 2.544 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:69(_parallel_translate_worker) + 29002 0.069 0.000 0.129 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:445(__init__) + 24691 0.067 0.000 0.126 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1095(_to_list) + 255705 0.065 0.000 0.065 0.000 {built-in method nt.fspath} + 57983 0.065 0.000 0.153 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:31(__ne__) + 2748 0.064 0.000 1.038 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:253(_HandleCompareLlvm) + 149712 0.064 0.000 0.064 0.000 {built-in method builtins.issubclass} + 375948 0.064 0.000 0.064 0.000 D:\Python312\Lib\copy.py:172(_deepcopy_atomic) + 164624 0.062 0.000 0.062 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:554(_get_name) + 43 0.062 0.001 0.062 0.001 {built-in method nt.unlink} + 19696 0.062 0.000 0.163 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:447(descr) + 39308 0.062 0.000 0.084 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:575(function_type) + 19696 0.062 0.000 0.392 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:434(__init__) + 24806 0.062 0.000 0.339 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1055(__init__) +1747/1386 0.061 0.000 10.549 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:82(_specialize_generic_class) + 4691 0.061 0.000 0.263 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:87(_from_node_name) +54049/54030 0.060 0.000 0.080 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:178(__eq__) + 7841 0.060 0.000 0.523 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:922(gep) + 155 0.059 0.000 11.032 0.071 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:565(_EmitModuleDeclarationsLlvm) + 22880 0.059 0.000 0.119 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:557(_IsTModuleType) + 81195 0.059 0.000 0.059 0.000 {built-in method builtins.repr} +4576/1689 0.059 0.000 13.246 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2173(_TryLoadStructFromStub) + 9538 0.059 0.000 0.281 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:769(store) + 3706 0.059 0.000 0.121 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:82(_adjust_args) + 9128 0.059 0.000 0.250 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:19(from_type_name) + 2646 0.058 0.000 0.431 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:24(_gep_and_Load_member) + 8210 0.058 0.000 0.578 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:977(descr_prototype) +21129/17560 0.056 0.000 9.263 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:703(CollectAnnAssignMember) + 21591 0.055 0.000 0.080 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:246(__init__) + 93 0.055 0.001 15.400 0.166 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:190(_EmitImportFromDeclarationsLlvm) +2233/1420 0.054 0.000 5.656 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesIf.py:157(_HandleIfLlvm) +2278/2246 0.054 0.000 2.332 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:37(_HandleAssignLlvm) + 7976 0.054 0.000 0.335 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:245(_store) + 3563 0.054 0.000 0.084 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:233(_get_member_offset) + 129 0.053 0.000 0.053 0.000 {built-in method nt._path_exists} + 1928 0.053 0.000 0.110 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\ExprGen.py:49(emit_binary_op) + 7841 0.053 0.000 0.216 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:582(descr) + 23419 0.053 0.000 0.076 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:169(__init__) + 169082 0.051 0.000 0.051 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:235() + 3526 0.051 0.000 0.076 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:130(_resolve_method_class) + 4291 0.050 0.000 0.156 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:133(_descr) + 2638 0.050 0.000 0.467 0.000 {built-in method builtins.min} + 6671 0.049 0.000 0.153 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:548(_skip_mangle) + 4291 0.048 0.000 0.366 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:875(call) + 3526 0.048 0.000 0.102 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:153(_apply_struct_self_cls_types) +1896/1572 0.047 0.000 8.809 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:425(CollectAll) + 27765 0.047 0.000 0.075 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:506(Get) + 30932 0.045 0.000 0.081 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2423() + 69048 0.045 0.000 0.045 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\BaseTranslator.py:150(DebugPrint) + 43 0.044 0.001 0.044 0.001 {built-in method nt.open} + 8253 0.044 0.000 0.077 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:894(__init__) + 15153 0.043 0.000 0.071 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:303(__init__) + 33209 0.043 0.000 0.064 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:138(_lookup_t_type) +26867/16007 0.042 0.000 6.776 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:525(HandleExprLlvm) + 9946 0.042 0.000 0.154 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:222(_extract_struct_sha1) + 43842 0.042 0.000 0.063 0.000 D:\Python312\Lib\copyreg.py:98(__newobj__) + 9769 0.042 0.000 0.048 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:148(add_global) + 9769 0.042 0.000 0.135 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:785(__init__) + 5678 0.042 0.000 0.047 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:298(copy) + 8776 0.041 0.000 0.123 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1158(__init__) +26979/26707 0.041 0.000 0.095 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:455(_get_reference) + 9538 0.040 0.000 0.734 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:467(descr) + 5736 0.039 0.000 0.747 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:642(_get_or_declare_function) + 6344 0.039 0.000 0.138 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:205(descr) + 74015 0.038 0.000 0.038 0.000 {method 'rstrip' of 'str' objects} + 16481 0.038 0.000 0.264 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1127(__str__) + 9538 0.037 0.000 0.186 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:463(__init__) + 23450 0.037 0.000 0.042 0.000 D:\Python312\Lib\enum.py:1491(__contains__) + 8776 0.036 0.000 0.164 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:965(append_basic_block) + 118145 0.036 0.000 0.036 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:370(__new__) + 915 0.035 0.000 0.235 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:686(_HandleAttributeStoreLlvm) +10956/4849 0.035 0.000 0.054 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:167(FindStructNameInAnnotation) + 8296 0.034 0.000 0.034 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:9(__init__) +30909/17839 0.034 0.000 0.051 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:214(AnnotationContainsName) + 1260/862 0.033 0.000 0.388 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:12(_HandleBinOpLlvm) + 335/43 0.033 0.000 12.681 0.295 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:330(_LoadModuleDeclarationsFromFile) +5678/4414 0.033 0.000 0.150 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:376(Copy) +10809/585 0.032 0.000 4.268 0.007 D:\Python312\Lib\copy.py:191(_deepcopy_list) + 30514 0.032 0.000 0.059 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2424() + 1598 0.032 0.000 0.065 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:175(_lookup_cdefine) + 43 0.032 0.001 0.109 0.003 D:\Python312\Lib\json\__init__.py:120(dump) + 119036 0.031 0.000 0.031 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:195(block) +12072/3900 0.030 0.000 0.052 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:867(_apply_type_map_to_expr) +1912/1571 0.030 0.000 9.142 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3528(_ResolveGenericSlice) + 3269 0.030 0.000 0.084 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:349(__init__) + 3095 0.030 0.000 0.972 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:108(_allocaEntry) + 10870 0.030 0.000 0.042 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:44(register_method) + 68668 0.030 0.000 0.030 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:71(_stringify_metadata) + 1654 0.030 0.000 0.107 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\ExprGen.py:257(emit_return) + 31652 0.030 0.000 0.042 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:97(__len__) + 17544 0.029 0.000 1.404 0.000 D:\Python312\Lib\re\__init__.py:179(sub) + 8776 0.028 0.000 0.166 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:201(__init__) + 11406 0.028 0.000 0.028 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:554() +9919/3333 0.028 0.000 0.041 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3426(_resolve_type_arg_str) +10090/8438 0.028 0.000 0.231 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:650(_check_node_unsigned) + 4962 0.028 0.000 1.039 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:738(alloca) + 3254 0.027 0.000 0.119 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:568(_icmp) + 263 0.027 0.000 0.260 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1417(_EmitNewFunctionLlvm) + 33355 0.027 0.000 0.042 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:550() + 21279 0.026 0.000 0.026 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:159(has) + 75242 0.026 0.000 0.026 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:130(__init__) + 47882 0.026 0.000 0.041 0.000 D:\Python312\Lib\json\encoder.py:334(_iterencode_dict) + 23553 0.025 0.000 0.030 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:312(format_constant) + 43 0.025 0.001 3.395 0.079 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:217(_get_body_lines) + 4962 0.025 0.000 0.996 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:532(__init__) + 13857 0.025 0.000 0.048 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:449(_is_ctype_marker_name) + 65241 0.025 0.000 0.025 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1034(_build) + 43 0.024 0.001 73.365 1.706 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:324(GenerateCCode) + 24691 0.024 0.000 0.288 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:983() + 5678 0.024 0.000 0.029 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:187(copy) + 2130 0.024 0.000 0.024 0.000 {built-in method _codecs.utf_8_decode} + 3526 0.024 0.000 0.040 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:114(_compute_func_name_meta) + 2461 0.024 0.000 0.060 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:374(_handle_attr_enum) + 8102 0.023 0.000 0.025 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:188(gep) + 3613 0.023 0.000 0.072 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:314(CreateFromTypeName) + 16968 0.023 0.000 0.023 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:173(insert) + 4302 0.023 0.000 0.103 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:160(wrapped) + 1857 0.022 0.000 0.740 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesReturn.py:28(_HandleReturnLlvm) + 26706 0.022 0.000 0.042 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:879(_to_list) + 80676 0.022 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2679() + 6396 0.022 0.000 0.087 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:235(_to_string) + 7234 0.022 0.000 0.031 0.000 :1384(_handle_fromlist) + 32944 0.022 0.000 0.028 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:303(__eq__) + 2267 0.022 0.000 0.236 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:90(_resolve_typedef_ctype) + 12073 0.021 0.000 0.090 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2504(_strip_llvm_param_name) + 8776 0.021 0.000 0.043 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:357(_set_terminator) + 12208 0.021 0.000 0.691 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:409(__init__) +19298/17904 0.021 0.000 0.030 0.000 {built-in method builtins.max} + 24814 0.021 0.000 0.101 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:993() + 485/468 0.020 0.000 0.424 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:114(_HandleBoolOpLlvm) + 2094 0.020 0.000 0.041 0.000 :236(split) + 1162/962 0.020 0.000 0.028 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1981(_FlattenExt) +3605/3539 0.020 0.000 1.150 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:906(_HandleAttributeLlvm) + 847 0.020 0.000 0.309 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAugAssign.py:57(_HandleAugAssignLlvm) + 212/208 0.020 0.000 0.602 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4169(_HandleClassNewLlvm) + 37176 0.019 0.000 0.019 0.000 {method 'extend' of 'list' objects} + 26706 0.019 0.000 0.019 0.000 {built-in method builtins.sorted} + 3269 0.019 0.000 0.061 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:365(descr) + 1458 0.019 0.000 0.036 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:519(wrap_constant_value) + 1024 0.019 0.000 0.273 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:297(_handle_attr_self) + 15676 0.018 0.000 0.024 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:218(IsStr) + 42449 0.018 0.000 0.018 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1164(is_terminated) + 8210 0.018 0.000 0.080 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1141(__str__) + 418 0.018 0.000 0.158 0.000 {built-in method builtins.sum} + 9444 0.018 0.000 0.033 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:162(__init__) + 3446 0.018 0.000 0.027 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:85(_check_eh_return) + 28716 0.017 0.000 0.039 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:64(_find_project_root) + 47882 0.017 0.000 0.058 0.000 D:\Python312\Lib\json\encoder.py:414(_iterencode) + 2411 0.017 0.000 0.025 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:35(_HandleBuiltinCallLlvm) + 3247 0.017 0.000 0.092 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:834(cbranch) + 657/652 0.017 0.000 0.144 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:276(_from_node_binop) + 18888 0.016 0.000 0.016 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:94(__contains__) + 3641 0.016 0.000 0.070 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3485(_resolve_generic_slice_type) + 10474 0.016 0.000 0.052 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:134(descr_arg) + 13055 0.015 0.000 0.015 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:230(__init__) + 3097 0.015 0.000 0.086 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:826(branch) + 5836 0.015 0.000 0.345 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:596(_has_function) + 31108 0.015 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:87(HasPosition) + 9885 0.014 0.000 0.019 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:73(IsListAnnotation) + 8776 0.014 0.000 0.036 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1192(_format_name) + 7030 0.014 0.000 0.032 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:117(ParseListAnnotation) + 43 0.014 0.000 0.016 0.000 {method 'readlines' of '_io._IOBase' objects} + 1269 0.014 0.000 0.171 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:749(_check_attribute_signedness) + 43 0.014 0.000 0.014 0.000 {built-in method nt.mkdir} + 2107 0.014 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:15(GetOpSymbol) + 2748 0.014 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:28(GetComparatorSymbol) + 16006 0.014 0.000 0.014 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:39(IsTModulePath) + 4261 0.013 0.000 0.054 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:422(descr) + 3414 0.013 0.000 0.028 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:899(add) + 3414 0.013 0.000 0.015 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:874(add) + 3641 0.013 0.000 0.023 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:38(_append_eh_msg_out_arg) + 2277 0.013 0.000 0.054 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:31(wrapped) + 43 0.013 0.000 0.019 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:606(_fix_global_var_init) + 24691 0.013 0.000 0.013 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1068(align) + 3718 0.013 0.000 0.118 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:350(FromTypeName) + 3349 0.012 0.000 0.017 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:59(_apply_auto_addr) + 43 0.012 0.000 86.997 2.023 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\TransPyC.py:482(Convert) + 1516 0.012 0.000 0.076 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:798(__init__) + 5739 0.012 0.000 0.060 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1135(_check_annotation_for_state) + 2504 0.012 0.000 0.020 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:14(_apply_bswap_on_Load) + 14473 0.012 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:83(__getitem__) + 27081 0.012 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:210(IsPtr) + 2279 0.012 0.000 0.028 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:30(descr) + 370 0.012 0.000 0.139 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:943(_HandleSubscriptLlvm) + 2130 0.011 0.000 0.035 0.000 :319(decode) + 5225 0.011 0.000 0.016 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:641(_record_var_signedness) + 8210 0.011 0.000 3.279 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1010(descr) + 2159 0.011 0.000 0.075 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:858(ret) + 27765 0.011 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:463(_build_map) + 2015 0.011 0.000 0.012 0.000 :309(__init__) + 19816 0.011 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:819(_apply_bswap_if_big) + 23898 0.010 0.000 0.010 0.000 {built-in method _json.encode_basestring_ascii} + 93 0.010 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:123(_RegisterFromImportAliases) + 1552 0.010 0.000 0.017 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:247(__eq__) + 4962 0.010 0.000 0.028 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:539(descr) +3104/1386 0.010 0.000 0.017 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:251(_ExtractLLVMAttrs) +1836/1806 0.010 0.000 6.711 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAnnAssign.py:309(_HandleAnnAssignLlvm) + 8210 0.010 0.000 3.304 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1017(__str__) + 4261 0.010 0.000 0.064 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:419(__init__) + 267/92 0.010 0.000 0.028 0.000 D:\Python312\Lib\re\_parser.py:505(_parse) + 1866 0.010 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1032(_get_ModulePath) + 3327 0.010 0.000 0.023 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:163(is_struct) +2793/2085 0.010 0.000 0.087 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:805(_apply_type_map_to_stmt) + 788 0.010 0.000 0.075 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1376(_EmitGlobalAnnAssignLlvm) + 1585/193 0.009 0.000 0.014 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3393(_resolve_opaque_struct_members) + 341/212 0.009 0.000 2.420 0.011 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesWhile.py:10(_HandleWhileLlvm) + 1451 0.009 0.000 2.688 0.002 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1003(descr_body) + 12350 0.009 0.000 0.009 0.000 {method 'rsplit' of 'str' objects} + 2415 0.009 0.000 0.057 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:226(__init__) + 196 0.009 0.000 0.039 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3606(_HandleSizeofLlvm) + 6662 0.009 0.000 0.009 0.000 {method 'finditer' of 're.Pattern' objects} + 7001 0.009 0.000 0.011 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1022(is_declaration) + 3712 0.009 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:197() + 15406 0.009 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:97(IsStorageClass) + 4890 0.008 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:177(resolve_alias) + 4663 0.008 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:227(IsUInt) + 2415 0.008 0.000 0.023 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:237(descr) + 1643 0.008 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:202(_lookup_module_global) + 2387/669 0.008 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:79(_get_struct_size) +6586/3293 0.008 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3470(_get_raw_type_name) + 1302 0.008 0.000 0.063 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1324(_StoreWithCoerce) + 6662 0.008 0.000 0.027 0.000 D:\Python312\Lib\re\__init__.py:219(finditer) + 1516 0.008 0.000 0.047 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:810(descr) + 1011 0.008 0.000 0.026 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:787(_make_name_node) + 4291 0.008 0.000 0.163 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:175(descr) + 2015 0.008 0.000 0.017 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:924(_to_list) + 395 0.008 0.000 0.099 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1175(_HandleSubscriptStoreLlvm) +3443/1107 0.008 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\PythonParser.py:420(_has_ctype) + 19159 0.007 0.000 0.007 0.000 {method 'isalnum' of 'str' objects} + 4484 0.007 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:591(__init__) + 957 0.007 0.000 0.044 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:771(_make_replacement_node) + 491 0.007 0.000 0.014 0.000 :680(__getitem__) + 3526 0.007 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:49(_extract_decorator_storage_flags) +1896/1572 0.007 0.000 8.815 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:416(_HandleSubscript) + 3303 0.007 0.000 0.033 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:439(GetCName) + 13603 0.007 0.000 0.007 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:587(packed) + 1684 0.007 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:736(_get_source_line) + 23649 0.007 0.000 0.007 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:318(wrap_constant_value) + 1212 0.007 0.000 0.049 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:558(_mangle_name) + 43 0.007 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\BaseTranslator.py:43(__init__) + 1011 0.007 0.000 0.007 0.000 {method 'translate' of 'str' objects} + 2748 0.007 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:36(GetComparatorSymbol) + 2107 0.006 0.000 0.021 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:30(GetOpSymbol) + 783 0.006 0.000 0.047 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2539(_EnsureClassParentsLoaded) + 4869 0.006 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:28(IsTModule) + 437/351 0.006 0.000 0.394 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1751(_HandleTypeCastLlvm) + 5652 0.006 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:214(IsVoid) + 7393 0.006 0.000 0.018 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:165() + 43 0.006 0.000 0.177 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1131(_save_deps) + 1870 0.006 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1938() + 1387 0.006 0.000 0.561 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1048(_scan_method_body_for_self_members) +2661/2013 0.006 0.000 0.052 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:749(_replace_type_in_annotation) + 1857 0.006 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesReturn.py:22(_find_active_finally) + 86 0.006 0.000 0.031 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:627(_set_Vtable_initializers) + 15137 0.006 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:102(IsTypeQualifier) + 1147 0.006 0.000 0.006 0.000 {built-in method nt._getfullpathname} + 3479 0.006 0.000 0.007 0.000 D:\Python312\Lib\re\_parser.py:254(get) + 1113 0.005 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:31(_escape_string) + 6371 0.005 0.000 0.005 0.000 {method 'pop' of 'dict' objects} + 5578 0.005 0.000 0.007 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:624(gep) + 24691 0.005 0.000 0.005 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1077(dereferenceable) + 24691 0.005 0.000 0.005 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1086(dereferenceable_or_null) + 3526 0.005 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:720(_is_generic_function) + 4033 0.005 0.000 0.005 0.000 {method 'pop' of 'list' objects} + 4904 0.005 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:647(_is_var_unsigned) + 437 0.005 0.000 0.131 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2177(_try_register_vtable_ondemand) + 2965 0.005 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:218(position_before) + 522 0.005 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:669(_check_call_unsigned) + 43 0.005 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:56(__init__) + 1557 0.005 0.000 0.013 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:279(_check_struct_match) + 2389 0.005 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:517(_is_char_pointer) + 10354 0.005 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2107() + 4913 0.005 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:23(_ExtractFuncMeta) + 9094 0.005 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:71(_EmitTempFrees) + 281 0.005 0.000 0.016 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:203(find_struct_by_pointee) + 1460 0.005 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:773(_create_doc_global) + 437 0.005 0.000 0.125 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2218(collect_class_methods) +1560/1232 0.005 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:36(_get_var_class) + 387 0.005 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:599(_get_mro_chain) +3064/3020 0.005 0.000 1.791 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:34(HandleExprLlvm) + 78 0.005 0.000 0.034 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1014(_fill_vtable_with_methods) + 238 0.005 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2428(_compute_field_byte_offset) + 1581 0.005 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:547(_to_string) + 850 0.004 0.000 0.023 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1117(_RegisterCDefineSymbol) + 962 0.004 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:94(ExtractListFromBinOp) + 1272 0.004 0.000 0.032 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:70(wrapped) + 361/92 0.004 0.000 0.012 0.000 D:\Python312\Lib\re\_compiler.py:37(_compile) + 577 0.004 0.000 0.005 0.000 :748(check_str) + 1194 0.004 0.000 0.004 0.000 {method 'encode' of 'str' objects} + 43 0.004 0.000 0.381 0.009 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:442(__init__) + 6911 0.004 0.000 0.004 0.000 {method 'find' of 'str' objects} + 91/73 0.004 0.000 0.013 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:320(_type_str_to_llvm_base) + 2260 0.004 0.000 0.009 0.000 {built-in method builtins.next} + 4291 0.004 0.000 0.004 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:119(args) + 3345 0.004 0.000 0.005 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:241(position_at_end) + 12682 0.004 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2630() + 425/335 0.004 0.000 0.389 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:341(_HandleTSpecialCallLlvm) + 2233 0.004 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesIf.py:25(_is_cif_call) + 405 0.004 0.000 20.802 0.051 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\__init__.py:66(parse) + 1465 0.004 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:262(_GetAttrLLVMName) + 392 0.004 0.000 0.004 0.000 {method 'clear' of 'dict' objects} + 120 0.004 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1472(_try_resolve_nested_cdefine) + 263 0.004 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:385(_resolve_class_flags) + 7455 0.004 0.000 0.004 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:234(position_at_start) + 1623 0.004 0.000 0.079 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:56(_try_Load_struct_from_stub) + 1478 0.004 0.000 1.735 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:76(HandleExprLlvm) + 6575 0.004 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:393(set) + 3839 0.004 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:427() + 1147 0.004 0.000 0.016 0.000 :596(abspath) + 17/15 0.003 0.000 0.117 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:236(_HandleRenumMatchLlvm) + 1099 0.003 0.000 0.031 0.000 :268(basename) + 7 0.003 0.000 0.039 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:53(_HandleAsmLlvm) + 1147 0.003 0.000 0.007 0.000 :564(normpath) + 1206 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:439() + 78 0.003 0.000 0.017 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:577(_create_vtable_for_class) + 81 0.003 0.000 0.003 0.000 {built-in method _hashlib.openssl_sha1} + 2364 0.003 0.000 0.003 0.000 {method 'rfind' of 'str' objects} + 821 0.003 0.000 0.050 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:21(_MakeCTypeInfoFromName) + 1804 0.003 0.000 0.068 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:579(icmp_signed) + 14484 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2230() + 1325 0.003 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:465(__init__) + 3007 0.003 0.000 0.003 0.000 {method 'index' of 'list' objects} + 9531 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1793() + 425 0.003 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:326(_ResolveTAttrToCName) + 9531 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1792() + 354 0.003 0.000 0.354 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:83(_register_cdefine_constant) + 9531 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1795() + 507 0.003 0.000 0.012 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:990(phi) + 8582 0.003 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:111(callee) + 1832 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:228(IsCPtrNode) + 204 0.003 0.000 0.050 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:284(_RegisterCrossModuleDocstrings) + 383 0.003 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:620(_is_type_unsigned) + 5583 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1140(_check_decorators_for_state) + 110 0.003 0.000 0.119 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2197(load_pyi) + 1018 0.003 0.000 0.005 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:694(__init__) + 120/115 0.003 0.000 0.047 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:640(_handle_attr_nested) + 261 0.003 0.000 0.020 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:396(gep) + 743 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:77(_is_cdefine_type) + 45 0.003 0.000 0.169 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:27(_HandleForLlvm) + 1458 0.003 0.000 0.005 0.000 :645(parent) + 507 0.003 0.000 0.018 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:602(descr) + 491 0.003 0.000 0.017 0.000 :804(get) + 1643 0.003 0.000 0.012 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:603() + 3575 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:210(_extract_short_name) + 1450 0.003 0.000 0.057 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:588(icmp_unsigned) + 1589 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:252(_resolve_var_classname) + 3497 0.003 0.000 0.003 0.000 {method 'values' of 'dict' objects} + 7260 0.003 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:110(_to_string) + 442 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1133(ResolveName) + 43 0.003 0.000 0.003 0.000 {method 'strftime' of 'datetime.date' objects} + 2020 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:316(__init__) + 696 0.003 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1742(_eval_const_expr) + 9 0.003 0.000 0.007 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1333(_RegisterEnumMembers) + 96 0.003 0.000 0.005 0.000 D:\Python312\Lib\re\_compiler.py:241(_optimize_charset) + 620 0.003 0.000 0.004 0.000 :87(isabs) + 43 0.003 0.000 0.003 0.000 {method 'disable' of '_lsprof.Profiler' objects} + 43 0.003 0.000 0.003 0.000 {built-in method nt.putenv} + 1451 0.002 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:190(__init__) + 1832 0.002 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:458(__init__) + 847 0.002 0.000 0.038 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAugAssign.py:42(_is_aug_unsigned) + 1147 0.002 0.000 0.002 0.000 {built-in method nt._path_normpath} + 783/777 0.002 0.000 0.685 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2371(_try_complete_generic_specialization) + 2015 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:906(alignstack) + 1136 0.002 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:39(_get_var_class) + 9531 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1797() + 973 0.002 0.000 0.004 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:11(_wrapname) + 2094 0.002 0.000 0.004 0.000 :35(_get_bothseps) + 960 0.002 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:728(set_body) + 1653 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:17(_unregister_local_heap_ptr) + 1192 0.002 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:399(__init__) + 137/87 0.002 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:671(_FlattenInherited) + 3095 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:957(entry_basic_block) + 47 0.002 0.000 0.062 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:70(_try_operator_overLoad) + 9531 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1794() + 2644 0.002 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:28() + 9531 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1796() + 198 0.002 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:510(_get_current_module_name) + 392 0.002 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:87(_ZeroConst) + 1533 0.002 0.000 0.006 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:519(__init__) + 58 0.002 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:488(_from_node_subscript) + 2437 0.002 0.000 0.002 0.000 {method 'copy' of 'dict' objects} + 973 0.002 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:706(_to_string) + 3269 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:368() + 732 0.002 0.000 0.089 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:801(_apply_type_map_to_body) + 2415 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:230(return_value) + 1303 0.002 0.000 0.003 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:550(__eq__) + 4165 0.002 0.000 0.002 0.000 D:\Python312\Lib\re\_parser.py:233(__next) + 132 0.002 0.000 0.034 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:193(_HandleUnaryOpLlvm) + 3402 0.002 0.000 0.003 0.000 D:\Python312\Lib\re\_parser.py:164(__getitem__) + 1478 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:285(_get_var_ptr) + 42 0.002 0.000 0.019 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1822(_HandleREnumConstructLlvm) + 92 0.002 0.000 0.052 0.001 D:\Python312\Lib\re\_compiler.py:738(compile) + 1260 0.002 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:281(__init__) + 493/475 0.002 0.000 0.018 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:291(_type_str_to_llvm) + 186/92 0.002 0.000 0.029 0.000 D:\Python312\Lib\re\_parser.py:445(_parse_sub) + 1458 0.002 0.000 0.002 0.000 {method 'rpartition' of 'str' objects} + 1018 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:595(packed) + 534 0.002 0.000 0.007 0.000 :754(encodekey) + 38 0.002 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1122(_replace_function_decl) + 290 0.002 0.000 0.004 0.000 :133(_splitext) + 321 0.002 0.000 0.012 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:539(not_) + 1166 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:68(_UnregisterTempPtr) + 3020 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:607(is_opaque) + 1345 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:599(__len__) + 2015 0.002 0.000 0.002 0.000 :260(__init__) + 59 0.002 0.000 0.912 0.015 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4596(_HandleGenericClassNewLlvm) + 1011 0.002 0.000 0.009 0.000 D:\Python312\Lib\re\__init__.py:255(escape) + 524 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:205() + 1297 0.002 0.000 0.002 0.000 {method 'setdefault' of 'dict' objects} + 2284 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:445(__getitem__) + 66/61 0.002 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:586(_basic_type_to_llvm) + 2137 0.002 0.000 0.002 0.000 {method 'keys' of 'dict' objects} + 336 0.002 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:173(_coerce_value) + 378 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:521(__init__) + 1718 0.002 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:557(gep) + 92 0.001 0.000 0.006 0.000 D:\Python312\Lib\re\_compiler.py:509(_compile_info) + 336 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1117(NameToLLVM) + 1986 0.001 0.000 0.001 0.000 {method 'reverse' of 'list' objects} + 91 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:206(_resolve_typedef) + 2622 0.001 0.000 0.002 0.000 D:\Python312\Lib\re\_parser.py:172(append) + 348 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:64(_extract_const_value) + 212 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4109(_InjectRequiresFields) + 290 0.001 0.000 0.005 0.000 :257(splitext) + 807 0.001 0.000 0.001 0.000 {method 'discard' of 'set' objects} + 256 0.001 0.000 0.011 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:851(ret_void) + 43 0.001 0.000 0.003 0.000 D:\Python312\Lib\functools.py:35(update_wrapper) + 155 0.001 0.000 0.003 0.000 D:\Python312\Lib\inspect.py:908(getfile) + 43 0.001 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\TransPyC.py:34(__init__) + 1123 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:38() + 1136 0.001 0.000 0.002 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:613(add_incoming) + 43 0.001 0.000 0.066 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:98(_write) + 952 0.001 0.000 0.015 0.000 :275(dirname) + 43 0.001 0.000 3.400 0.079 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:243(__repr__) + 184 0.001 0.000 0.002 0.000 D:\Python312\Lib\enum.py:1538(__and__) + 43 0.001 0.000 0.041 0.001 :200(makedirs) + 1204 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:513(__init__) + 507 0.001 0.000 0.008 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:597(__init__) + 444/302 0.001 0.000 2.484 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:528(HandleBodyLlvm) + 82 0.001 0.000 0.007 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:565(format_constant) + 357 0.001 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:19(_load_arr_elem_with_bswap) + 273 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:19(_is_exception_class) + 83 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_compiler.py:384(_mk_bitmap) + 501 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:437(__init__) + 387 0.001 0.000 0.020 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1169(_StoreArrElemWithCoerceBswap) + 642 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:492(_try_resolve_ctype_basic) + 273 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:342(_resolve_decorator_kind) + 43 0.001 0.000 0.050 0.001 D:\Python312\Lib\tempfile.py:243(_mkstemp_inner) + 357 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3210(_EnsureReceiverStructConcrete) + 1952 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:20(_emit_local_heap_frees) + 43 0.001 0.000 0.001 0.000 D:\Python312\Lib\random.py:454(choices) + 454 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:727(LookupFunctionSymbol) + 103/92 0.001 0.000 0.002 0.000 D:\Python312\Lib\re\_compiler.py:434(_get_literal_prefix) + 92 0.001 0.000 0.031 0.000 D:\Python312\Lib\re\_parser.py:962(parse) + 43 0.001 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:21(compute_sha1) + 714/696 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:124(eval_full) + 278 0.001 0.000 0.002 0.000 D:\Python312\Lib\enum.py:709(__call__) + 3421 0.001 0.000 0.001 0.000 {built-in method builtins.ord} + 942 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:451(__init__) + 131/105 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:174(getwidth) + 783 0.001 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2490(_adjust_this_for_inherited_method) + 3613 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:332(_get_llvm_primitive_map) + 43 0.001 0.000 0.002 0.000 D:\Python312\Lib\tempfile.py:85(_infer_return_type) + 132 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:24(GetUnaryOpSymbol) + 7 0.001 0.000 0.014 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:309(_HandleAsmWithOpLlvm) + 12 0.001 0.000 0.035 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:491(_HandleForStrLlvm) + 3895 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:75(wrap_constant_value) + 43 0.001 0.000 0.064 0.001 D:\Python312\Lib\tempfile.py:521(NamedTemporaryFile) + 871/850 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1025(_ExtractConstValue) + 43 0.001 0.000 0.043 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:540(_set_source_info) + 43 0.001 0.000 0.004 0.000 D:\Python312\Lib\tempfile.py:473(__getattr__) + 85 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:442(_uniq) + 38 0.001 0.000 0.025 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:516(_RegisterSubModuleSha1) + 43 0.001 0.000 0.001 0.000 D:\Python312\Lib\json\encoder.py:205(iterencode) + 1617 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:536(__init__) + 1297 0.001 0.000 0.001 0.000 {built-in method builtins.vars} + 43 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:33(configure_platform) + 86 0.001 0.000 0.043 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:16(ExpandSoftKeywords) + 91/73 0.001 0.000 0.015 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:309(_type_str_to_llvm_impl) + 316 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:540(elements) + 92 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_compiler.py:405(_generate_overlap_table) + 43 0.001 0.000 0.067 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:156(info) + 86 0.001 0.000 0.001 0.000 D:\Python312\Lib\tempfile.py:430(cleanup) + 96/58 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:335(_HasNoBreak) + 73 0.001 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:210(_HandleCDerefLlvm) + 70/55 0.001 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:400(_HandleTPtrCastLlvm) + 51 0.001 0.000 0.029 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4064(_HandleCDerefAsLlvm) + 43 0.001 0.000 0.001 0.000 D:\Python312\Lib\tempfile.py:297(gettempdir) + 81 0.001 0.000 0.001 0.000 {method 'hexdigest' of '_hashlib.HASH' objects} + 284 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\ConstEval.py:178(_BuildScalarConstantUnified) + 277 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:306(_is_classname_ctype_marker) + 399 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:228(_ApplyKeywordArgs) + 221 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1351(_infer_element_struct_class) + 223 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:444(__init__) + 108 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:68(_mangle_generic_class_name) + 35 0.001 0.000 0.033 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1625(_HandleTypeUnionCastLlvm) + 91 0.001 0.000 0.001 0.000 {method 'findall' of 're.Pattern' objects} + 22 0.001 0.000 0.014 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprLambda.py:134(_HandleIfExpLlvm) + 6 0.001 0.000 0.007 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:204(_process_joined_str_template) + 2015 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:915(personality) + 51 0.001 0.000 0.001 0.000 D:\Python312\Lib\enum.py:1528(__or__) + 1062 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:249(match) + 201 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:818(GetOrCreateStubFuncDecl) + 43 0.001 0.000 0.001 0.000 :117(__instancecheck__) + 120 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1461(_build_attr_path) + 43 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:7(__init__) + 189 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:288(__init__) + 43 0.001 0.000 0.002 0.000 D:\Python312\Lib\tempfile.py:153(__next__) + 43 0.001 0.000 0.015 0.000 D:\Python312\Lib\tempfile.py:500(__exit__) + 278 0.001 0.000 0.001 0.000 D:\Python312\Lib\enum.py:1112(__new__) + 2015 0.001 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:871(_expand) + 534 0.001 0.000 0.001 0.000 {method 'upper' of 'str' objects} + 436 0.001 0.000 0.001 0.000 {method 'find' of 'bytearray' objects} + 778 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:619() + 91 0.001 0.000 0.002 0.000 D:\Python312\Lib\re\__init__.py:209(findall) + 114 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:77(items) + 328 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:204(__init__) + 90 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:117(_to_bool) + 96 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:365(_escape) + 247 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1444(_infer_array_member_type) + 43 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:20(_parse_triple) + 92 0.000 0.000 0.000 0.000 {built-in method _sre.compile} + 4 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\ConstEval.py:30(_BuildArrayInitConstants) + 310 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:183(__init__) + 162 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:266(_resolve_base_kind) + 129 0.000 0.000 0.000 0.000 {method 'update' of 'dict' objects} + 17/15 0.000 0.000 0.119 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:11(_HandleMatchLlvm) + 696 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:479(__init__) + 59 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:353(_format_float_as_hex) + 24 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:59(emit_va_arg) + 326 0.000 0.000 0.000 0.000 {built-in method builtins.iter} + 285/124 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1665(_get_attr_path) + 92 0.000 0.000 0.018 0.000 D:\Python312\Lib\re\_compiler.py:571(_code) + 43 0.000 0.000 0.003 0.000 :688(__setitem__) + 85 0.000 0.000 0.000 0.000 {built-in method fromkeys} + 1 0.000 0.000 0.004 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1182(_EmitREnumLlvm) + 1192 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:208(_to_string) + 43 0.000 0.000 0.867 0.020 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:122(_strip_unnecessary_quotes) + 8/4 0.000 0.000 0.129 0.032 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:531(_LoadPackageInitForRelativeImport) + 120 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1529(_try_resolve_cross_module_enum) + 81 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:305(_class_escape) + 56 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1391(_ClassifyExternalClass) + 412 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:656(_get_function) + 155 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:291(ismodule) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:26(__init__) + 26 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:28(_HandleCAddrLlvm) + 215 0.000 0.000 0.000 0.000 :186(__init__) + 193 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:33(_resolve_opaque_struct) + 59/50 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:38(eval_with_symtab) + 685 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:526(_get_reference) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:494(__enter__) + 132 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:33(GetUnaryOpSymbol) + 549 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:160(__len__) + 96 0.000 0.000 0.001 0.000 D:\Python312\Lib\re\_compiler.py:214(_compile_charset) + 43 0.000 0.000 0.003 0.000 D:\Python312\Lib\tempfile.py:114(_sanitize_params) + 43 0.000 0.000 0.000 0.000 {built-in method now} + 34 0.000 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1144(HandleSubscriptPtrLlvm) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:44() + 215 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:274(__init__) + 277 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:63(_is_generic_class) + 378 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:286(tell) + 24 0.000 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:1174(_HandleVaArgLlvm) + 212 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:4178(_get_struct_type) + 35 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:237(ToString) + 36 0.000 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:555(_parse_asm_descr) + 1272 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:342(bitcast) + 68/22 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:488(_FindNonVoidCTypeInfo) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\encoder.py:260(_make_iterencode) + 96 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:224(__init__) + 43 0.000 0.000 0.000 0.000 {built-in method _abc._abc_instancecheck} + 43 0.000 0.000 0.050 0.001 D:\Python312\Lib\tempfile.py:561(opener) + 371 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:373(__eq__) + 194 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:190(__init__) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1558(_get_attr_class) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:530(__init__) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:989(parse_template) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:467(__init__) + 43 0.000 0.000 0.001 0.000 D:\Python312\Lib\tempfile.py:455(__del__) + 183 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:110() + 186 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAugAssign.py:200(_deref_if_ptr) + 59 0.000 0.000 0.000 0.000 {built-in method _struct.unpack} + 116 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:267(__init__) + 361 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:109(__init__) + 43 0.000 0.000 0.013 0.000 D:\Python312\Lib\tempfile.py:481(func_wrapper) + 20 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1571(_eval_global_const) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:142(rng) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:225(_get_metadata_lines) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:49(__init__) + 43 0.000 0.000 0.000 0.000 {method 'flush' of '_io.TextIOWrapper' objects} + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:27(__init__) + 17 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:298(descr) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:65(wraps) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:197(__get__) + 92 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:946(fix_flags) + 94/54 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1695(_IsTypedefAnnotation) + 184 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:568(isstring) + 5 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:550(_HandleLenLlvm) + 17 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1252(_ir_type_size) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DiagnosticCollector.py:41(__init__) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:17(__init__) + 16 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:1106(_resolve_vararg_type) + 210 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:79(groups) + 43 0.000 0.000 0.000 0.000 {method '__enter__' of '_io._IOBase' objects} + 61 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:576(__init__) + 6 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesRaise.py:19(_HandleRaiseLlvm) + 83 0.000 0.000 0.000 0.000 {method 'translate' of 'bytearray' objects} + 36 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:550(neg) + 44 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:55(try_eval_const_expr) + 103 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:260(__init__) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:90(_colorize) + 112 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:100(__iter__) + 525 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:426(__str__) + 22 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:259(_RegisterGlobalNames) + 73 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:417() + 3 0.000 0.000 0.002 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:981(_HandleMemsetLlvm) + 13 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:570(ResolveListElementType) + 316 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:438(__init__) + 92 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:73(__init__) + 324 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:544(__len__) + 12 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1856(_HandleTypedefCastLlvm) + 43 0.000 0.000 0.000 0.000 :2(__init__) + 129 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:45() + 43 0.000 0.000 0.000 0.000 {method 'items' of 'collections.OrderedDict' objects} + 59 0.000 0.000 0.000 0.000 {built-in method _struct.pack} + 114 0.000 0.000 0.000 0.000 {method 'lower' of 'str' objects} + 155 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:295(isclass) + 3 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:168(_HandleCLoadLlvm) + 63 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:176(__init__) + 17 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:818(switch) + 344 0.000 0.000 0.000 0.000 {method 'random' of '_random.Random' objects} + 344 0.000 0.000 0.000 0.000 {built-in method math.floor} + 59 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:360(_format_double) + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:189(_normalize_asm_template) + 43 0.000 0.000 0.000 0.000 :824(fsdecode) + 8 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:1149(_infer_vararg_type_from_context) + 7 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:281(_mangle_asm_calls) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1276(value) + 15 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:613(fcmp_unordered) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:11(__init__) + 26 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:363(__init__) + 43 0.000 0.000 0.000 0.000 {method 'close' of '_io.TextIOWrapper' objects} + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:265(get_logger) + 59 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:429(format_constant) + 92 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:201() + 55 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:261(_infer_deref_target_type) + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:211(_eval_compile_time_call) + 24 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:12(descr) + 43 0.000 0.000 0.000 0.000 {built-in method nt.getpid} + 9 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:163(_make_define_constant) + 17 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:283(__init__) + 42 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:292(add_case) + 204 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:218() + 9 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:81(add_enum) + 43 0.000 0.000 0.000 0.000 {built-in method sys.getrecursionlimit} + 103 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:426(_get_iscased) + 43 0.000 0.000 0.000 0.000 {built-in method sys.setrecursionlimit} + 35 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:430(__init__) + 7 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:47(emit_va_end) + 86 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:29(__init__) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:229(_get_candidate_names) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:27(get_sha1_map_store) + 2 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1237(_get_attr_ptr) + 8/2 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1274(_FindNonVoidCTypeInfo) + 43 0.000 0.000 0.000 0.000 {built-in method sys.audit} + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:214(get_identified_types) + 22 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:486(__init__) + 17 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2151(_has_cvtable_decorator) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DecoratorPass.py:476(run) + 13 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:81(_from_node_constant) + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:322(_eval_arith) + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:82(opengroup) + 11 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:255(_HandleGlobalLlvm) + 13 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:619(ParseArrayCount) + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:25(_patched_inline_asm_descr) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\__init__.py:331(_compile_template) + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:63(_eval_ctype_ctor_call) + 43 0.000 0.000 0.000 0.000 {method 'values' of 'collections.OrderedDict' objects} + 17 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:2167(_has_novtable_decorator) + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:24(emit_va_start) + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:12(__init__) + 102 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:357() + 85 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:218() + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:424(__init__) + 43 0.000 0.000 0.000 0.000 {built-in method _io.text_encoding} + 43 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\Config.py:6(__init__) + 11/5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:21(_contains_identified_struct) + 7 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:184(_prepare_intel_asm) + 10 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:416(__init__) + 13/9 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\PythonParser.py:127(find_PostdefNode) + 7 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:772(get_reference) + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:21(_patched_inline_asm_init) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:285(_gettempdir) + 28 0.000 0.000 0.000 0.000 {method 'lstrip' of 'str' objects} + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:396(_simple) + 13 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:111(__init__) + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:94(closegroup) + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:42(_format_to_dialect) + 7 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:759(__init__) + 8 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:997(addliteral) + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:8(_get_va_start_intrinsic) + 5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:828(_zero_value_for_type) + 6/2 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:3565(_AnnotationContainsCPtr) + 7 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:16(_get_va_end_intrinsic) + 14 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAnnAssign.py:15(_IsGenericTpName) + 24 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:31(_combine_flags) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\ExprGen.py:9(emit_constant) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:211(__eq__) + 4 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1478(_BuildScalarConstant) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:1005(addgroup) + 34 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:288(value) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:18(wrapped) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:511(_get_var_ptr_for_asm) + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesRaise.py:12(_get_exception_code) + 5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:379(__init__) + 8 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2398(_BuildScalarConstant) + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:168(__setitem__) + 34 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:2689() + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:61() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:91(_is_t_storage_decorator) + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:536(get_or_declare_c_func) + 9 0.000 0.000 0.000 0.000 {built-in method builtins.abs} + 4 0.000 0.000 0.000 0.000 {built-in method _sre.template} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:325(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:71(keys) + + diff --git a/PROF/main_prof_54088.prof b/PROF/main_prof_54088.prof new file mode 100644 index 0000000000000000000000000000000000000000..96eabe1f451d1e198830d4c03c4088ccf48501c1 GIT binary patch literal 154347 zcmbS!1$dOl^M8N@LV)1z?(P)s4NlPD7P#24yhM3(0YZQxEn1{F#a)X_k)lP46qg

v)hDK|)z%KDIw#HFW(e_}w8XeWi78@Ng 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 t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/ArgparseTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/ArgparseTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/ArgparseTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/ArgparseTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/ArgparseTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/ArgparseTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/ArgparseTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/ArgparseTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/ArgparseTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/ArgparseTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/ArgparseTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/ArgparseTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/ArgparseTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/ArgparseTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/ArgparseTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/ArgparseTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/ArgparseTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/ArgparseTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/ArgparseTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/ArgparseTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/ArgparseTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/ArgparseTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/ArgparseTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/ArgparseTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/ArgparseTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/ArgparseTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/ArgparseTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/ArgparseTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/ArgparseTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/ArgparseTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/_sha1_map.txt b/Test/ArgparseTest/.tpv_build/temp/_sha1_map.txt index 25f8285..0a8fe57 100644 --- a/Test/ArgparseTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/ArgparseTest/.tpv_build/temp/_sha1_map.txt @@ -1,18 +1,15 @@ 104b74146bf17483:includes/argparse.vp aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp 4c1f8f779b98eab9:includes/hashtable.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -04e5fe47ff2af528:includes/memhub.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -928c0ff6d8c69ec9:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp 356c943c53331be0:main.vp diff --git a/Test/ArgparseTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/ArgparseTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/ArgparseTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/ArgparseTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/ArgparseTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/ArgparseTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/ArgparseTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/ArgparseTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/ArgparseTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/ArgparseTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/ArgparseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/ArgparseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/ArgparseTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/ArgparseTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/ArgparseTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/ArgparseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/ArgparseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/ArgparseTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/ArgparseTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/ArgparseTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/ArgparseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/ArgparseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/ArgparseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/ArgparseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/ArgparseTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/ArgparseTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/ArgparseTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/ArgparseTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/ArgparseTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/ArgparseTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/ArgparseTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/ArgparseTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/ArgparseTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/ArgparseTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/ArgparseTest/output/748d0424e8976fa0.deps.json b/Test/ArgparseTest/output/748d0424e8976fa0.deps.json index 0a902a1..715231f 100644 --- a/Test/ArgparseTest/output/748d0424e8976fa0.deps.json +++ b/Test/ArgparseTest/output/748d0424e8976fa0.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "argparse": "104b74146bf17483", "stdio": "285b6aa29a34754d", "main": "356c943c53331be0", "hashtable": "4c1f8f779b98eab9", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"argparse": "104b74146bf17483", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "main": "356c943c53331be0", "hashtable": "4c1f8f779b98eab9", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ArgparseTest/output/_shared_sym_includes.pickle b/Test/ArgparseTest/output/_shared_sym_includes.pickle index 60ec88e9b35e34c8021d180178cbccf52e62a651..8ff2896f0629902c06f048d460d2a65826136632 100644 GIT binary patch literal 516228 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 d)I44~XZ t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/AstTest/.tpv_build/temp/_sha1_map.txt b/Test/AstTest/.tpv_build/temp/_sha1_map.txt index 19d67e1..e26e880 100644 --- a/Test/AstTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/AstTest/.tpv_build/temp/_sha1_map.txt @@ -1,30 +1,27 @@ 34dc6a647fa19b7b:includes/ast/astaux.vp -91497014ca775a64:includes/ast/base.vp -c14a7bd64dff8c0b:includes/ast/exprs.vp -d0072d5282b9b65f:includes/ast/lexer.vp +f467978339422f32:includes/ast/base.vp +c0def010dcebadb1:includes/ast/exprs.vp +688b9c1ad51d7c05:includes/ast/lexer.vp 3b2a307c9c7d0129:includes/ast/match.vp -990115e40efd450e:includes/ast/parser.vp -87adf3c23279968a:includes/ast/stmts.vp -bf0dc2ebd7730267:includes/ast/tokens.vp -fa67083915eb2e30:includes/ast/__init__.vp +6f68d4561b9de7c7:includes/ast/parser.vp +46ea1349c980c7f4:includes/ast/stmts.vp +eb09ac7f10988a63:includes/ast/tokens.vp +35245c385b0ddd7b:includes/ast/__init__.vp aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -04e5fe47ff2af528:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp b57252077e6b596b:includes/platmacro.vp 28de517e3820658a:includes/posix.vp 71e0a3ffcb3ebfad:includes/stdarg.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -928c0ff6d8c69ec9:includes/string.vp +40b053f21c0df07c:includes/string.vp 0c67644125bea0fd:includes/sys.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f6ab8989f3545e83:includes/viperlib.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -067c78e9f121dce3:includes/w32/win32process.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +652aff7c2e85125c:includes/w32/win32process.vp 7cadfe07e983fd90:includes/_list.vp -a642bfe8d0edc75f:main.vp +662151088eb5374c:main.vp diff --git a/Test/AstTest/output/067c78e9f121dce3.deps.json b/Test/AstTest/output/067c78e9f121dce3.deps.json index d4d8226..1570839 100644 --- a/Test/AstTest/output/067c78e9f121dce3.deps.json +++ b/Test/AstTest/output/067c78e9f121dce3.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "main": "6eed58d6587aba87", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/output/06f53cc594b4ac6c.deps.json b/Test/AstTest/output/06f53cc594b4ac6c.deps.json index d4d8226..1570839 100644 --- a/Test/AstTest/output/06f53cc594b4ac6c.deps.json +++ b/Test/AstTest/output/06f53cc594b4ac6c.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "main": "6eed58d6587aba87", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/output/0853acdbdfc9b27c.deps.json b/Test/AstTest/output/0853acdbdfc9b27c.deps.json deleted file mode 100644 index 0876cb0..0000000 --- a/Test/AstTest/output/0853acdbdfc9b27c.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/AstTest/output/0c67644125bea0fd.deps.json b/Test/AstTest/output/0c67644125bea0fd.deps.json index d4d8226..1570839 100644 --- a/Test/AstTest/output/0c67644125bea0fd.deps.json +++ b/Test/AstTest/output/0c67644125bea0fd.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "main": "6eed58d6587aba87", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/output/28de517e3820658a.deps.json b/Test/AstTest/output/28de517e3820658a.deps.json index d4d8226..1570839 100644 --- a/Test/AstTest/output/28de517e3820658a.deps.json +++ b/Test/AstTest/output/28de517e3820658a.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "main": "6eed58d6587aba87", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/output/6446627d4f07a1b5.deps.json b/Test/AstTest/output/6446627d4f07a1b5.deps.json index d4d8226..1570839 100644 --- a/Test/AstTest/output/6446627d4f07a1b5.deps.json +++ b/Test/AstTest/output/6446627d4f07a1b5.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "main": "6eed58d6587aba87", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/output/72e2d5ccb7cedcf1.deps.json b/Test/AstTest/output/72e2d5ccb7cedcf1.deps.json index d4d8226..1570839 100644 --- a/Test/AstTest/output/72e2d5ccb7cedcf1.deps.json +++ b/Test/AstTest/output/72e2d5ccb7cedcf1.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "main": "6eed58d6587aba87", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/output/_shared_sym_includes.pickle b/Test/AstTest/output/_shared_sym_includes.pickle index d0c0fdfc6acadc3e3d86b26850d91f0a83b4615c..739433bcef0db3d8d8a9dc96051c1ae75d0052f4 100644 GIT binary patch literal 1742804 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 fwax@e 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 HYX|=ygZ!!| diff --git a/Test/AstTest/output/d137b1f3311f3a7f.deps.json b/Test/AstTest/output/d137b1f3311f3a7f.deps.json index d4d8226..1570839 100644 --- a/Test/AstTest/output/d137b1f3311f3a7f.deps.json +++ b/Test/AstTest/output/d137b1f3311f3a7f.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "main": "6eed58d6587aba87", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/output/f6ab8989f3545e83.deps.json b/Test/AstTest/output/f6ab8989f3545e83.deps.json deleted file mode 100644 index d4d8226..0000000 --- a/Test/AstTest/output/f6ab8989f3545e83.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/output/f6b51804a0ba8ff0.deps.json b/Test/AstTest/output/f6b51804a0ba8ff0.deps.json index d4d8226..1570839 100644 --- a/Test/AstTest/output/f6b51804a0ba8ff0.deps.json +++ b/Test/AstTest/output/f6b51804a0ba8ff0.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "sys": "0c67644125bea0fd", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.stmts": "87adf3c23279968a", "stmts": "87adf3c23279968a", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "ast.parser": "990115e40efd450e", "parser": "990115e40efd450e", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "bf0dc2ebd7730267", "tokens": "bf0dc2ebd7730267", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "sys": "0c67644125bea0fd", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "main": "6eed58d6587aba87", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/AstTest/temp/0853acdbdfc9b27c.doc.json b/Test/AstTest/temp/0853acdbdfc9b27c.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/AstTest/temp/0853acdbdfc9b27c.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/AstTest/temp/0853acdbdfc9b27c.vpi b/Test/AstTest/temp/0853acdbdfc9b27c.vpi deleted file mode 100644 index 209a7af..0000000 --- a/Test/AstTest/temp/0853acdbdfc9b27c.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -from stdint import * -import t, c -from t import CInt, CExport -from stdio import printf -import memhub -import stdlib -import sys -import string -import ast -import w32.win32console - -ARENA_SIZE: t.CDefine = 1048576 -POOL_SIZE: t.CDefine = 524288 -DUMP_SIZE: t.CDefine = 262144 - -def main() -> CInt | CExport: pass diff --git a/Test/AstTest/temp/0c67644125bea0fd.stub.ll.dep b/Test/AstTest/temp/0c67644125bea0fd.stub.ll.dep index 4ee95b6..d73af0b 100644 --- a/Test/AstTest/temp/0c67644125bea0fd.stub.ll.dep +++ b/Test/AstTest/temp/0c67644125bea0fd.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|067c78e9f121dce3|285b6aa29a34754d|28de517e3820658a|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|b57252077e6b596b|c9f4be41ca1cc2b4|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file +067c78e9f121dce3|2408ce147bac090b|285b6aa29a34754d|28de517e3820658a|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|b57252077e6b596b|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/AstTest/temp/_phase1_manifest.json b/Test/AstTest/temp/_phase1_manifest.json index 8df3994..700ada0 100644 --- a/Test/AstTest/temp/_phase1_manifest.json +++ b/Test/AstTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\AstTest\\App\\main.vp": {"sha1": "0853acdbdfc9b27c", "mtime": 1782892830.6294758, "size": 2439}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.vp": {"sha1": "fa67083915eb2e30", "mtime": 1786033550.3346176, "size": 3770}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.vp": {"sha1": "34dc6a647fa19b7b", "mtime": 1786033586.0642571, "size": 11475}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.vp": {"sha1": "91497014ca775a64", "mtime": 1786033954.7782319, "size": 15215}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.vp": {"sha1": "c14a7bd64dff8c0b", "mtime": 1786034120.289799, "size": 40831}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.vp": {"sha1": "d0072d5282b9b65f", "mtime": 1786095601.8036606, "size": 24838}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.vp": {"sha1": "3b2a307c9c7d0129", "mtime": 1786095636.9718795, "size": 12297}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.vp": {"sha1": "990115e40efd450e", "mtime": 1786098899.8803532, "size": 88664}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.vp": {"sha1": "87adf3c23279968a", "mtime": 1786099191.7155466, "size": 37874}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.vp": {"sha1": "bf0dc2ebd7730267", "mtime": 1786099769.991788, "size": 14058}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.vp": {"sha1": "b57252077e6b596b", "mtime": 1785332415.2187803, "size": 1266}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.vp": {"sha1": "28de517e3820658a", "mtime": 1785335629.2014928, "size": 10586}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.vp": {"sha1": "0c67644125bea0fd", "mtime": 1785325556.7317626, "size": 5606}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "f6ab8989f3545e83", "mtime": 1785882958.4542437, "size": 59045}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.vp": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\AstTest\\App\\main.vp": {"sha1": "6eed58d6587aba87", "mtime": 1786380384.1598237, "size": 9276}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.vp": {"sha1": "876e256c06636777", "mtime": 1786370438.7959065, "size": 3919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.vp": {"sha1": "34dc6a647fa19b7b", "mtime": 1786033586.0642571, "size": 11475}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.vp": {"sha1": "71b20381eda0450a", "mtime": 1786370425.011384, "size": 16357}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.vp": {"sha1": "43ec967d0517abc1", "mtime": 1786370434.0783823, "size": 40976}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.vp": {"sha1": "d0072d5282b9b65f", "mtime": 1786095601.8036606, "size": 24838}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.vp": {"sha1": "3b2a307c9c7d0129", "mtime": 1786095636.9718795, "size": 12297}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.vp": {"sha1": "6b2a008dbdcddb7f", "mtime": 1786205592.4913094, "size": 102238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.vp": {"sha1": "46ea1349c980c7f4", "mtime": 1786369520.4458838, "size": 38239}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.vp": {"sha1": "cea844466f10ac61", "mtime": 1786196689.3449256, "size": 14506}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.vp": {"sha1": "b57252077e6b596b", "mtime": 1785332415.2187803, "size": 1266}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.vp": {"sha1": "28de517e3820658a", "mtime": 1785335629.2014928, "size": 10586}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.vp": {"sha1": "0c67644125bea0fd", "mtime": 1785325556.7317626, "size": 5606}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "bba983c61a970f7c", "mtime": 1786320034.4835327, "size": 59458}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.vp": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}} \ No newline at end of file diff --git a/Test/AstTest/temp/_sha1_map.txt b/Test/AstTest/temp/_sha1_map.txt index 890df40..5a22d3a 100644 --- a/Test/AstTest/temp/_sha1_map.txt +++ b/Test/AstTest/temp/_sha1_map.txt @@ -1,25 +1,26 @@ -04e5fe47ff2af528:includes/memhub.vp 067c78e9f121dce3:includes/w32\win32process.vp -0853acdbdfc9b27c:main.vp 0c67644125bea0fd:includes/sys.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp 28de517e3820658a:includes/posix.vp +2c175afd85852faf:includes/viperio.vp 34dc6a647fa19b7b:includes/ast\astaux.vp 3b2a307c9c7d0129:includes/ast\match.vp +43ec967d0517abc1:includes/ast\exprs.vp +46ea1349c980c7f4:includes/ast\stmts.vp +4c39369ffedaddac:includes/string.vp +6b2a008dbdcddb7f:includes/ast\parser.vp 6c658cc728d0bbf4:includes/stdlib.vp +6eed58d6587aba87:main.vp +71b20381eda0450a:includes/ast\base.vp 71e0a3ffcb3ebfad:includes/stdarg.vp -87adf3c23279968a:includes/ast\stmts.vp -91497014ca775a64:includes/ast\base.vp -928c0ff6d8c69ec9:includes/string.vp -990115e40efd450e:includes/ast\parser.vp +7cadfe07e983fd90:includes/_list.vp +876e256c06636777:includes/ast\__init__.vp aa246c6e6aa30484:includes/atom.vp b57252077e6b596b:includes/platmacro.vp +bba983c61a970f7c:includes/viperlib.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -bf0dc2ebd7730267:includes/ast\tokens.vp -c14a7bd64dff8c0b:includes/ast\exprs.vp -c9f4be41ca1cc2b4:includes/viperio.vp +cea844466f10ac61:includes/ast\tokens.vp d0072d5282b9b65f:includes/ast\lexer.vp f5522571bcce7bcb:includes/stdint.vp -f6ab8989f3545e83:includes/viperlib.vp -fa67083915eb2e30:includes/ast\__init__.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/AstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/AstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/AstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/AstTest/temp/c9f4be41ca1cc2b4.vpi b/Test/AstTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/AstTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/AstTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/AstTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/AstTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/AstTest/temp/f6ab8989f3545e83.vpi b/Test/AstTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/AstTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/BuddyTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/BuddyTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/BuddyTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/BuddyTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/04/04e5fe47ff2af528.deps.txt b/Test/BuddyTest/.tpv_build/temp/04/04e5fe47ff2af528.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/BuddyTest/.tpv_build/temp/04/04e5fe47ff2af528.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/04/04e5fe47ff2af528.vpi b/Test/BuddyTest/.tpv_build/temp/04/04e5fe47ff2af528.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/BuddyTest/.tpv_build/temp/04/04e5fe47ff2af528.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/BuddyTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/BuddyTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuddyTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/06/067c78e9f121dce3.vpi b/Test/BuddyTest/.tpv_build/temp/06/067c78e9f121dce3.vpi deleted file mode 100644 index 9f20b4a..0000000 --- a/Test/BuddyTest/.tpv_build/temp/06/067c78e9f121dce3.vpi +++ /dev/null @@ -1,133 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -PROCESS_TERMINATE: t.CDefine = 1 -PROCESS_CREATE_THREAD: t.CDefine = 2 -PROCESS_VM_OPERATION: t.CDefine = 8 -PROCESS_VM_READ: t.CDefine = 16 -PROCESS_VM_WRITE: t.CDefine = 32 -PROCESS_QUERY_INFORMATION: t.CDefine = 1024 -PROCESS_ALL_ACCESS: t.CDefine = 2097151 -THREAD_TERMINATE: t.CDefine = 1 -THREAD_SUSPEND_RESUME: t.CDefine = 2 -THREAD_GET_CONTEXT: t.CDefine = 8 -THREAD_SET_CONTEXT: t.CDefine = 16 -THREAD_QUERY_INFORMATION: t.CDefine = 64 -THREAD_ALL_ACCESS: t.CDefine = 2097151 -CREATE_SUSPENDED: t.CDefine = 4 -CREATE_NEW_CONSOLE: t.CDefine = 16 -CREATE_NEW_PROCESS_GROUP: t.CDefine = 512 -CREATE_NO_WINDOW: t.CDefine = 134217728 -DETACHED_PROCESS: t.CDefine = 8 -STARTF_USESHOWWINDOW: t.CDefine = 1 -STARTF_USESTDHANDLES: t.CDefine = 256 -SW_HIDE: t.CDefine = 0 -SW_SHOW: t.CDefine = 5 -SW_MINIMIZE: t.CDefine = 6 -NORMAL_PRIORITY_CLASS: t.CDefine = 32 -IDLE_PRIORITY_CLASS: t.CDefine = 64 -HIGH_PRIORITY_CLASS: t.CDefine = 128 -REALTIME_PRIORITY_CLASS: t.CDefine = 256 -BELOW_NORMAL_PRIORITY_CLASS: t.CDefine = 16384 -ABOVE_NORMAL_PRIORITY_CLASS: t.CDefine = 32768 -STILL_ACTIVE: t.CDefine = 259 -class STARTUPINFOA: - cb: ULONG - lpReserved: CHARPTR - lpDesktop: CHARPTR - lpTitle: CHARPTR - dwX: ULONG - dwY: ULONG - dwXSize: ULONG - dwYSize: ULONG - dwXCountChars: ULONG - dwYCountChars: ULONG - dwFillAttribute: ULONG - dwFlags: ULONG - wShowWindow: WORD - cbReserved2: WORD - lpReserved2: VOIDPTR - hStdInput: HANDLE - hStdOutput: HANDLE - hStdError: HANDLE - -class STARTUPINFOW: - cb: ULONG - lpReserved: WCHARPTR - lpDesktop: WCHARPTR - lpTitle: WCHARPTR - dwX: ULONG - dwY: ULONG - dwXSize: ULONG - dwYSize: ULONG - dwXCountChars: ULONG - dwYCountChars: ULONG - dwFillAttribute: ULONG - dwFlags: ULONG - wShowWindow: WORD - cbReserved2: WORD - lpReserved2: VOIDPTR - hStdInput: HANDLE - hStdOutput: HANDLE - hStdError: HANDLE - -class PROCESS_INFORMATION: - hProcess: HANDLE - hThread: HANDLE - dwProcessId: ULONG - dwThreadId: ULONG - -def CreateProcessA(lpApplicationName: LPCSTR, lpCommandLine: CHARPTR, lpProcessAttributes: SECURITY_ATTRIBUTES | t.CPtr, lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInheritHandles: BOOL, dwCreationFlags: ULONG, lpEnvironment: VOIDPTR, lpCurrentDirectory: LPCSTR, lpStartupInfo: STARTUPINFOA | t.CPtr, lpProcessInformation: PROCESS_INFORMATION | t.CPtr) -> BOOL | t.State: pass - -def CreateProcessW(lpApplicationName: LPCWSTR, lpCommandLine: WCHARPTR, lpProcessAttributes: SECURITY_ATTRIBUTES | t.CPtr, lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInheritHandles: BOOL, dwCreationFlags: ULONG, lpEnvironment: VOIDPTR, lpCurrentDirectory: LPCWSTR, lpStartupInfo: STARTUPINFOW | t.CPtr, lpProcessInformation: PROCESS_INFORMATION | t.CPtr) -> BOOL | t.State: pass - -def TerminateProcess(hProcess: HANDLE, uExitCode: UINT) -> BOOL | t.State: pass - -def GetExitCodeProcess(hProcess: HANDLE, lpExitCode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetExitCodeThread(hThread: HANDLE, lpExitCode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def OpenProcess(dwDesiredAccess: ULONG, bInheritHandle: BOOL, dwProcessId: ULONG) -> HANDLE | t.State: pass - -def GetCurrentProcess() -> HANDLE | t.State: pass - -def GetCurrentProcessId() -> ULONG | t.State: pass - -def CreateThread(lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, dwStackSize: t.CSizeT, lpStartAddress: VOIDPTR, lpParameter: VOIDPTR, dwCreationFlags: ULONG, lpThreadId: ULONG | t.CPtr) -> HANDLE | t.State: pass - -def OpenThread(dwDesiredAccess: ULONG, bInheritHandle: BOOL, dwThreadId: ULONG) -> HANDLE | t.State: pass - -def SuspendThread(hThread: HANDLE) -> ULONG | t.State: pass - -def ResumeThread(hThread: HANDLE) -> ULONG | t.State: pass - -def TerminateThread(hThread: HANDLE, dwExitCode: ULONG) -> BOOL | t.State: pass - -def GetCurrentThread() -> HANDLE | t.State: pass - -def GetCurrentThreadId() -> ULONG | t.State: pass - -def GetThreadId(hThread: HANDLE) -> ULONG | t.State: pass - -def GetProcessId(hProcess: HANDLE) -> ULONG | t.State: pass - -def SetThreadPriority(hThread: HANDLE, nPriority: INT) -> BOOL | t.State: pass - -def GetThreadPriority(hThread: HANDLE) -> INT | t.State: pass - -def ExitProcess(uExitCode: UINT) -> VOID | t.State: pass - -def ExitThread(dwExitCode: ULONG) -> VOID | t.State: pass - -def TlsAlloc() -> ULONG | t.State: pass - -def TlsFree(dwTlsIndex: ULONG) -> BOOL | t.State: pass - -def TlsGetValue(dwTlsIndex: ULONG) -> VOIDPTR | t.State: pass - -def TlsSetValue(dwTlsIndex: ULONG, lpTlsValue: VOIDPTR) -> BOOL | t.State: pass - diff --git a/Test/BuddyTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/BuddyTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuddyTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/06/06f53cc594b4ac6c.vpi b/Test/BuddyTest/.tpv_build/temp/06/06f53cc594b4ac6c.vpi deleted file mode 100644 index 978d2f5..0000000 --- a/Test/BuddyTest/.tpv_build/temp/06/06f53cc594b4ac6c.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -class CRITICAL_SECTION: - DebugInfo: VOIDPTR - LockCount: LONG - RecursionCount: LONG - OwningThread: HANDLE - LockSemaphore: HANDLE - SpinCount: QWORD - -def InitializeCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def EnterCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def LeaveCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def DeleteCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def TryEnterCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> BOOL | t.State: pass - -def SetCriticalSectionSpinCount(lpCriticalSection: CRITICAL_SECTION | t.CPtr, dwSpinCount: ULONG) -> ULONG | t.State: pass - -def InitializeCriticalSectionAndSpinCount(lpCriticalSection: CRITICAL_SECTION | t.CPtr, dwSpinCount: ULONG) -> BOOL | t.State: pass - -def CreateMutexA(lpMutexAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInitialOwner: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateMutexW(lpMutexAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInitialOwner: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenMutexA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenMutexW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def ReleaseMutex(hMutex: HANDLE) -> BOOL | t.State: pass - -def CreateEventA(lpEventAttributes: SECURITY_ATTRIBUTES | t.CPtr, bManualReset: BOOL, bInitialState: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateEventW(lpEventAttributes: SECURITY_ATTRIBUTES | t.CPtr, bManualReset: BOOL, bInitialState: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenEventA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenEventW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def SetEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def ResetEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def PulseEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def CreateSemaphoreA(lpSemaphoreAttributes: SECURITY_ATTRIBUTES | t.CPtr, lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateSemaphoreW(lpSemaphoreAttributes: SECURITY_ATTRIBUTES | t.CPtr, lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenSemaphoreA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenSemaphoreW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def ReleaseSemaphore(hSemaphore: HANDLE, lReleaseCount: LONG, lpPreviousCount: LONG | t.CPtr) -> BOOL | t.State: pass - -def WaitForSingleObject(hHandle: HANDLE, dwMilliseconds: ULONG) -> ULONG | t.State: pass - -def WaitForSingleObjectEx(hHandle: HANDLE, dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def WaitForMultipleObjects(nCount: ULONG, lpHandles: VOIDPTR, bWaitAll: BOOL, dwMilliseconds: ULONG) -> ULONG | t.State: pass - -def WaitForMultipleObjectsEx(nCount: ULONG, lpHandles: VOIDPTR, bWaitAll: BOOL, dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def InitializeSRWLock(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def AcquireSRWLockExclusive(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def AcquireSRWLockShared(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def ReleaseSRWLockExclusive(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def ReleaseSRWLockShared(SRWLock: VOIDPTR) -> VOID | t.State: pass - -CONDITION_VARIABLE_LOCKMODE_SHARED: t.CDefine = 1 -def InitializeConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - -def SleepConditionVariableCS(ConditionVariable: VOIDPTR, CriticalSection: CRITICAL_SECTION | t.CPtr, dwMilliseconds: ULONG) -> BOOL | t.State: pass - -def SleepConditionVariableSRW(ConditionVariable: VOIDPTR, SRWLock: VOIDPTR, dwMilliseconds: ULONG, Flags: ULONG) -> BOOL | t.State: pass - -def WakeConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - -def WakeAllConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - -INIT_ONCE_STATIC_INIT: t.CDefine = 1 -INIT_ONCE_CHECK_ONLY: t.CDefine = 2 -INIT_ONCE_ASYNC: t.CDefine = 4 -INIT_ONCE_INIT_FAILED: t.CDefine = 8 -class INIT_ONCE: - Ptr: t.CPtr - -def InitOnceExecuteOnce(InitOnce: INIT_ONCE | t.CPtr, InitFn: VOIDPTR, Parameter: VOIDPTR, Context: VOIDPTR | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/BuddyTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/BuddyTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/BuddyTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/BuddyTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/BuddyTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/BuddyTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/BuddyTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/BuddyTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/BuddyTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/BuddyTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/BuddyTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/BuddyTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/BuddyTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/BuddyTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/BuddyTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/BuddyTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/BuddyTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/BuddyTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/BuddyTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/BuddyTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/BuddyTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/BuddyTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/BuddyTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/BuddyTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/BuddyTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/BuddyTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/BuddyTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/BuddyTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/BuddyTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/BuddyTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/BuddyTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/BuddyTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/BuddyTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/BuddyTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuddyTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/BuddyTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/BuddyTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/BuddyTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/BuddyTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/89/894f43429bd57061.deps.txt b/Test/BuddyTest/.tpv_build/temp/89/894f43429bd57061.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/BuddyTest/.tpv_build/temp/89/894f43429bd57061.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/BuddyTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/BuddyTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/BuddyTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/BuddyTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/BuddyTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/BuddyTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/BuddyTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/BuddyTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/_sha1_map.txt b/Test/BuddyTest/.tpv_build/temp/_sha1_map.txt index 6e82738..93fd2a2 100644 --- a/Test/BuddyTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/BuddyTest/.tpv_build/temp/_sha1_map.txt @@ -1,21 +1,18 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -04e5fe47ff2af528:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp 71e0a3ffcb3ebfad:includes/stdarg.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -928c0ff6d8c69ec9:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f6ab8989f3545e83:includes/viperlib.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -067c78e9f121dce3:includes/w32/win32process.vp -06f53cc594b4ac6c:includes/w32/win32sync.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +652aff7c2e85125c:includes/w32/win32process.vp +35ffd1374f30cdd6:includes/w32/win32sync.vp 7cadfe07e983fd90:includes/_list.vp 5e430ae5bf7af3a2:main.vp -d85446c302a9efc8:mbuddytest.vp +8efc91cbab0452f0:mbuddytest.vp diff --git a/Test/BuddyTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/BuddyTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/BuddyTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/BuddyTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/BuddyTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/BuddyTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/BuddyTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/BuddyTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/BuddyTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/BuddyTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/BuddyTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/BuddyTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuddyTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/BuddyTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/BuddyTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/BuddyTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/BuddyTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/BuddyTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/BuddyTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/BuddyTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/BuddyTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/BuddyTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/BuddyTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/BuddyTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/BuddyTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/BuddyTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/BuddyTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/d8/d85446c302a9efc8.deps.txt b/Test/BuddyTest/.tpv_build/temp/d8/d85446c302a9efc8.deps.txt deleted file mode 100644 index 5c66b4a..0000000 --- a/Test/BuddyTest/.tpv_build/temp/d8/d85446c302a9efc8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c t viperlib viperio stdlib memhub string testcheck w32.win32process w32 w32.win32sync w32 w32.win32base w32 \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/d8/d85446c302a9efc8.vpi b/Test/BuddyTest/.tpv_build/temp/d8/d85446c302a9efc8.vpi deleted file mode 100644 index b4b8832..0000000 --- a/Test/BuddyTest/.tpv_build/temp/d8/d85446c302a9efc8.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from t import CInt, CPtr, CChar, CUInt8T, CUInt32T, CUInt64T, CSizeT -import viperlib -import viperio -import stdlib -import memhub -import string -import testcheck -import w32.win32process -import w32.win32sync -import w32.win32base -def _thread_alloc_free(param: t.CVoid | t.CPtr) -> t.CUInt32T: pass - -def mbuddy_main() -> CInt: pass - diff --git a/Test/BuddyTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/BuddyTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/BuddyTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/BuddyTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/BuddyTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/BuddyTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/BuddyTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/BuddyTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/BuddyTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi b/Test/BuddyTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi deleted file mode 100644 index c09feb3..0000000 --- a/Test/BuddyTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import viperio -from stdarg import arg, va_arg -TEMP_BUF_SIZE: t.CDefine = 68 -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass - diff --git a/Test/BuddyTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/BuddyTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuddyTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/BuddyTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/BuddyTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/BuddyTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/BuddyTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/BuddyTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/BuddyTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/BuddyTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/BuddyTest/output/067c78e9f121dce3.deps.json b/Test/BuddyTest/output/067c78e9f121dce3.deps.json deleted file mode 100644 index 48abe8e..0000000 --- a/Test/BuddyTest/output/067c78e9f121dce3.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "stdio": "285b6aa29a34754d", "main": "5e430ae5bf7af3a2", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "mbuddytest": "d85446c302a9efc8", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/BuddyTest/output/06f53cc594b4ac6c.deps.json b/Test/BuddyTest/output/06f53cc594b4ac6c.deps.json deleted file mode 100644 index 48abe8e..0000000 --- a/Test/BuddyTest/output/06f53cc594b4ac6c.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "stdio": "285b6aa29a34754d", "main": "5e430ae5bf7af3a2", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "mbuddytest": "d85446c302a9efc8", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/BuddyTest/output/5e430ae5bf7af3a2.deps.json b/Test/BuddyTest/output/5e430ae5bf7af3a2.deps.json index e9985a8..255d307 100644 --- a/Test/BuddyTest/output/5e430ae5bf7af3a2.deps.json +++ b/Test/BuddyTest/output/5e430ae5bf7af3a2.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "mbuddytest": "d85446c302a9efc8", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "mbuddytest": "490084d59cf67c44", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "atom": "aa246c6e6aa30484", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/BuddyTest/output/6446627d4f07a1b5.deps.json b/Test/BuddyTest/output/6446627d4f07a1b5.deps.json deleted file mode 100644 index 48abe8e..0000000 --- a/Test/BuddyTest/output/6446627d4f07a1b5.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "stdio": "285b6aa29a34754d", "main": "5e430ae5bf7af3a2", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "mbuddytest": "d85446c302a9efc8", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/BuddyTest/output/72e2d5ccb7cedcf1.deps.json b/Test/BuddyTest/output/72e2d5ccb7cedcf1.deps.json deleted file mode 100644 index 48abe8e..0000000 --- a/Test/BuddyTest/output/72e2d5ccb7cedcf1.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "stdio": "285b6aa29a34754d", "main": "5e430ae5bf7af3a2", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "mbuddytest": "d85446c302a9efc8", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/BuddyTest/output/_shared_sym_includes.pickle b/Test/BuddyTest/output/_shared_sym_includes.pickle deleted file mode 100644 index df3000e2c9c1bd16475a5b74f1ad7eca53bc2228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 591426 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ℑ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 }6R%At08D0#RipSE8 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 diff --git a/Test/BuddyTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/BuddyTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/BuddyTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/BuddyTest/temp/c9f4be41ca1cc2b4.vpi b/Test/BuddyTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/BuddyTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/BuddyTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/BuddyTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/BuddyTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/BuddyTest/temp/f6ab8989f3545e83.vpi b/Test/BuddyTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/BuddyTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/_sha1_map.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/_sha1_map.txt index 264cddd..bf85818 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,8 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -04e5fe47ff2af528:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -928c0ff6d8c69ec9:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp e3ac223bdaf94a0c:main.vp diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/BuiltinDecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/BuiltinDecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/BuiltinDecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/BuiltinDecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/BuiltinDecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/CPythonTest/.tpv_build/temp/7c/7c5d5ec59c5fb0a8.deps.txt b/Test/CPythonTest/.tpv_build/temp/7c/7c5d5ec59c5fb0a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/CPythonTest/.tpv_build/temp/7c/7c5d5ec59c5fb0a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/CPythonTest/.tpv_build/temp/7c/7c5d5ec59c5fb0a8.vpi b/Test/CPythonTest/.tpv_build/temp/7c/7c5d5ec59c5fb0a8.vpi deleted file mode 100644 index 7e96dae..0000000 --- a/Test/CPythonTest/.tpv_build/temp/7c/7c5d5ec59c5fb0a8.vpi +++ /dev/null @@ -1,760 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -class PyObject: - ob_refcnt: t.CLong - ob_type: t.CPtr - -def Py_INCREF(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_DECREF(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_XINCREF(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_XDECREF(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_DecRef(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_Initialize() -> t.CVoid | t.State: pass - -def Py_Finalize() -> t.CVoid | t.State: pass - -def Py_InitializeEx(initsigs: t.CInt) -> t.CVoid | t.State: pass - -def Py_FinalizeEx() -> t.CInt | t.State: pass - -def Py_IsInitialized() -> t.CInt | t.State: pass - -class PySTATUS: - func: t.CConst | str - err_msg: t.CConst | str - exitcode: t.CInt - -class PyPreConfig: - _config_version: t.CInt - _config_init: t.CInt - parse_argv: t.CInt - isolated: t.CInt - use_environment: t.CInt - utf8_mode: t.CInt - coerce_c_locale: t.CInt - C_locale_warnings: t.CInt - allocator: t.CInt - dev_mode: t.CInt - -class PyWideStringList: - length: t.CSizeT - items: t.CPtr - -class PyConfig: - _config_version: t.CInt - _config_init: t.CInt - isolated: t.CInt - use_environment: t.CInt - dev_mode: t.CInt - install_signal_handlers: t.CInt - use_hash_seed: t.CInt - hash_seed: t.CUnsignedLong - faulthandler: t.CInt - tracemalloc: t.CInt - import_time: t.CInt - show_ref_count: t.CInt - dump_refs: t.CInt - dump_refs_file: t.CConst | str - malloc_stats: t.CInt - filesystem_errors: t.CInt - pycache_prefix: t.CConst | str - parse_argv: t.CInt - argv: PyWideStringList - program_name: t.CConst | str - xoptions: PyWideStringList - warnoptions: PyWideStringList - site_import: t.CInt - bytes_warning: t.CInt - warn_default_encoding: t.CInt - inspect: t.CInt - interactive: t.CInt - optimization_level: t.CInt - parser_debug: t.CInt - verbose: t.CInt - quiet: t.CInt - home: t.CConst | str - pythonpath_env: t.CConst | str - module_search_paths: PyWideStringList - module_search_paths_set: t.CInt - executable: t.CConst | str - base_executable: t.CConst | str - prefix: t.CConst | str - base_prefix: t.CConst | str - exec_prefix: t.CConst | str - base_exec_prefix: t.CConst | str - platlibdir: t.CConst | str - stdio_filename: t.CConst | str - -def PyConfig_InitPythonConfig(config: PyConfig | t.CPtr) -> t.CVoid | t.State: pass - -def PyConfig_InitIsolatedConfig(config: PyConfig | t.CPtr) -> t.CVoid | t.State: pass - -def PyConfig_Clear(config: PyConfig | t.CPtr) -> t.CVoid | t.State: pass - -def PyConfig_Read(config: PyConfig | t.CPtr) -> PySTATUS | t.State: pass - -def Py_InitializeFromConfig(config: PyConfig | t.CPtr) -> PySTATUS | t.State: pass - -def Py_DecodeLocale(s: t.CConst | str) -> str | t.State: pass - -def PyStatus_Exception(status: PySTATUS) -> t.CInt | t.State: pass - -def PyLong_FromLong(v: t.CLong) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromUnsignedLong(v: t.CUnsignedLong) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromLongLong(v: t.CLong) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromUnsignedLongLong(v: t.CUnsignedLong) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromSsize_t(v: t.CPtrDiffT) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromSize_t(v: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromDouble(v: t.CDouble) -> PyObject | t.CPtr | t.State: pass - -def PyLong_AsLong(obj: PyObject | t.CPtr) -> t.CLong | t.State: pass - -def PyLong_AsUnsignedLong(obj: PyObject | t.CPtr) -> t.CUnsignedLong | t.State: pass - -def PyLong_AsLongLong(obj: PyObject | t.CPtr) -> t.CLong | t.State: pass - -def PyLong_AsUnsignedLongLong(obj: PyObject | t.CPtr) -> t.CUnsignedLong | t.State: pass - -def PyLong_AsDouble(obj: PyObject | t.CPtr) -> t.CDouble | t.State: pass - -def PyLong_AsSsize_t(obj: PyObject | t.CPtr) -> t.CPtrDiffT | t.State: pass - -def PyLong_AsSize_t(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyFloat_FromDouble(v: t.CDouble) -> PyObject | t.CPtr | t.State: pass - -def PyFloat_AsDouble(obj: PyObject | t.CPtr) -> t.CDouble | t.State: pass - -def PyFloat_FromString(s: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_FromString(u: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_FromStringAndSize(u: t.CConst | str, size: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_FromFormat(fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_AsUTF8(obj: PyObject | t.CPtr) -> str | t.State: pass - -def PyUnicode_AsUTF8AndSize(obj: PyObject | t.CPtr, size: t.CPtrDiffT | t.CPtr) -> str | t.State: pass - -def PyUnicode_AsWideChar(obj: PyObject | t.CPtr, wbuf: t.CPtr, bufsize: t.CSizeT) -> t.CSizeT | t.State: pass - -def PyUnicode_GetLength(obj: PyObject | t.CPtr) -> t.CPtrDiffT | t.State: pass - -def PyUnicode_ReadChar(obj: PyObject | t.CPtr, idx: t.CSizeT) -> t.CUInt32T | t.State: pass - -def PyUnicode_WriteChar(obj: PyObject | t.CPtr, idx: t.CSizeT, ch: t.CUInt32T) -> t.CInt | t.State: pass - -def PyUnicode_Compare(l: PyObject | t.CPtr, r: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyUnicode_Concat(l: PyObject | t.CPtr, r: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_Contains(container: PyObject | t.CPtr, element: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyUnicode_Format(fmt: PyObject | t.CPtr, args: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_InternInPlace(s: PyObject | t.CPtr | t.CPtr) -> t.CVoid | t.State: pass - -def PyUnicode_InternFromString(u: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyBytes_FromString(v: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyBytes_FromStringAndSize(v: t.CConst | str, size: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyBytes_AsString(obj: PyObject | t.CPtr) -> str | t.State: pass - -def PyBytes_Size(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyBytes_FromObject(o: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyBytes_FromFormat(fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyBool_FromLong(v: t.CLong) -> PyObject | t.CPtr | t.State: pass - -Py_True: PyObject | t.CPtr | t.State -Py_False: PyObject | t.CPtr | t.State -Py_None: PyObject | t.CPtr | t.State -def PyList_New(len: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyList_Size(lst: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyList_GetItem(lst: PyObject | t.CPtr, idx: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyList_SetItem(lst: PyObject | t.CPtr, idx: t.CSizeT, item: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Insert(lst: PyObject | t.CPtr, idx: t.CSizeT, item: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Append(lst: PyObject | t.CPtr, item: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_GetSlice(lst: PyObject | t.CPtr, lo: t.CSizeT, hi: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyList_SetSlice(lst: PyObject | t.CPtr, lo: t.CSizeT, hi: t.CSizeT, items: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Sort(lst: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Reverse(lst: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_AsTuple(lst: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyTuple_New(len: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyTuple_Size(tup: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyTuple_GetItem(tup: PyObject | t.CPtr, idx: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyTuple_SetItem(tup: PyObject | t.CPtr, idx: t.CSizeT, item: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyTuple_GetSlice(tup: PyObject | t.CPtr, lo: t.CSizeT, hi: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyTuple_Pack(n: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyDict_New() -> PyObject | t.CPtr | t.State: pass - -def PyDict_GetItem(d: PyObject | t.CPtr, key: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_GetItemString(d: PyObject | t.CPtr, key: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyDict_SetItem(d: PyObject | t.CPtr, key: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_SetItemString(d: PyObject | t.CPtr, key: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_DelItem(d: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_DelItemString(d: PyObject | t.CPtr, key: t.CConst | str) -> t.CInt | t.State: pass - -def PyDict_Size(d: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyDict_Keys(d: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_Values(d: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_Items(d: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_Copy(d: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_Clear(d: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PyDict_Contains(d: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_Next(d: PyObject | t.CPtr, pos: t.CPtrDiffT | t.CPtr, key: PyObject | t.CPtr | t.CPtr, val: PyObject | t.CPtr | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_Merge(d: PyObject | t.CPtr, other: PyObject | t.CPtr, override: t.CInt) -> t.CInt | t.State: pass - -def PyDict_Update(d: PyObject | t.CPtr, other: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_Str(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_Repr(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_Type(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_IsInstance(obj: PyObject | t.CPtr, cls: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_IsSubclass(obj: PyObject | t.CPtr, cls: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_HasAttr(obj: PyObject | t.CPtr, name: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_HasAttrString(obj: PyObject | t.CPtr, name: t.CConst | str) -> t.CInt | t.State: pass - -def PyObject_GetAttr(obj: PyObject | t.CPtr, name: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_GetAttrString(obj: PyObject | t.CPtr, name: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyObject_SetAttr(obj: PyObject | t.CPtr, name: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_SetAttrString(obj: PyObject | t.CPtr, name: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_DelAttr(obj: PyObject | t.CPtr, name: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_DelAttrString(obj: PyObject | t.CPtr, name: t.CConst | str) -> t.CInt | t.State: pass - -def PyObject_Call(callable: PyObject | t.CPtr, args: PyObject | t.CPtr, kwargs: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_CallObject(callable: PyObject | t.CPtr, args: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_CallNoArgs(callable: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_CallOneArg(callable: PyObject | t.CPtr, arg: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_IsTrue(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_Not(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_RichCompare(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr, opid: t.CInt) -> PyObject | t.CPtr | t.State: pass - -def PyObject_RichCompareBool(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr, opid: t.CInt) -> t.CInt | t.State: pass - -def PyObject_Hash(obj: PyObject | t.CPtr) -> t.CLong | t.State: pass - -def PyObject_Length(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyObject_GetItem(obj: PyObject | t.CPtr, key: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_SetItem(obj: PyObject | t.CPtr, key: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_DelItem(obj: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_Dir(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_GetIter(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyIter_Next(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -Py_LT: t.CInt | t.State -Py_LE: t.CInt | t.State -Py_EQ: t.CInt | t.State -Py_NE: t.CInt | t.State -Py_GT: t.CInt | t.State -Py_GE: t.CInt | t.State -def PyImport_ImportModule(name: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyImport_Import(name: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyImport_ImportModuleLevelObject(name: PyObject | t.CPtr, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr, fromlist: PyObject | t.CPtr, level: t.CInt) -> PyObject | t.CPtr | t.State: pass - -def PyImport_ReloadModule(mod: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyImport_AddModule(name: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyImport_GetModuleDict() -> PyObject | t.CPtr | t.State: pass - -def PyImport_ImportModuleEx(name: t.CConst | str, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr, fromlist: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -class PyMethodDef: - ml_name: t.CConst | str - ml_meth: t.CPtr - ml_flags: t.CInt - ml_doc: t.CConst | str - -class PyModuleDef_Base: - ob_base: PyObject - m_init: t.CPtr - m_index: t.CSizeT - m_copy: PyObject | t.CPtr - -class PyModuleDef: - m_base: PyModuleDef_Base - m_name: t.CConst | str - m_doc: t.CConst | str - m_size: t.CPtrDiffT - m_methods: PyMethodDef | t.CPtr - m_slots: t.CPtr - m_traverse: t.CPtr - m_clear: t.CPtr - m_free: t.CPtr - -def PyModule_Create(mod: PyModuleDef | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyModule_Create2(mod: PyModuleDef | t.CPtr, ver: t.CInt) -> PyObject | t.CPtr | t.State: pass - -def PyModule_GetName(mod: PyObject | t.CPtr) -> str | t.State: pass - -def PyModule_GetDict(mod: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyModule_GetFilenameObject(mod: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyModule_AddObject(mod: PyObject | t.CPtr, name: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyModule_AddObjectRef(mod: PyObject | t.CPtr, name: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyModule_AddIntConstant(mod: PyObject | t.CPtr, name: t.CConst | str, val: t.CLong) -> t.CInt | t.State: pass - -def PyModule_AddStringConstant(mod: PyObject | t.CPtr, name: t.CConst | str, val: t.CConst | str) -> t.CInt | t.State: pass - -def PyGILState_Ensure() -> t.CInt | t.State: pass - -def PyGILState_Release(state: t.CInt) -> t.CVoid | t.State: pass - -def PyEval_SaveThread() -> t.CPtr | t.State: pass - -def PyEval_RestoreThread(tstate: t.CPtr) -> t.CVoid | t.State: pass - -def PyEval_AcquireThread(tstate: t.CPtr) -> t.CVoid | t.State: pass - -def PyEval_ReleaseThread(tstate: t.CPtr) -> t.CVoid | t.State: pass - -def PyEval_AcquireLock() -> t.CVoid | t.State: pass - -def PyEval_ReleaseLock() -> t.CVoid | t.State: pass - -def PyEval_ThreadsInitialized() -> t.CInt | t.State: pass - -def PyEval_InitThreads() -> t.CVoid | t.State: pass - -def PyErr_Occurred() -> PyObject | t.CPtr | t.State: pass - -def PyErr_Clear() -> t.CVoid | t.State: pass - -def PyErr_Fetch(tp: PyObject | t.CPtr | t.CPtr, val: PyObject | t.CPtr | t.CPtr, tb: PyObject | t.CPtr | t.CPtr) -> t.CVoid | t.State: pass - -def PyErr_Restore(tp: PyObject | t.CPtr, val: PyObject | t.CPtr, tb: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PyErr_NormalizeException(tp: PyObject | t.CPtr | t.CPtr, val: PyObject | t.CPtr | t.CPtr, tb: PyObject | t.CPtr | t.CPtr) -> t.CVoid | t.State: pass - -def PyErr_SetString(tp: PyObject | t.CPtr, msg: t.CConst | str) -> t.CVoid | t.State: pass - -def PyErr_SetObject(tp: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PyErr_BadArgument() -> t.CPtr | t.State: pass - -def PyErr_NoMemory() -> t.CPtr | t.State: pass - -def PyErr_Print() -> t.CVoid | t.State: pass - -def PyErr_ExceptionMatches(exc: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyErr_GivenExceptionMatches(given: PyObject | t.CPtr, exc: PyObject | t.CPtr) -> t.CInt | t.State: pass - -PyExc_BaseException: PyObject | t.CPtr | t.State -PyExc_Exception: PyObject | t.CPtr | t.State -PyExc_TypeError: PyObject | t.CPtr | t.State -PyExc_ValueError: PyObject | t.CPtr | t.State -PyExc_RuntimeError: PyObject | t.CPtr | t.State -PyExc_KeyError: PyObject | t.CPtr | t.State -PyExc_IndexError: PyObject | t.CPtr | t.State -PyExc_AttributeError: PyObject | t.CPtr | t.State -PyExc_ImportError: PyObject | t.CPtr | t.State -PyExc_OSError: PyObject | t.CPtr | t.State -PyExc_IOError: PyObject | t.CPtr | t.State -PyExc_ZeroDivisionError: PyObject | t.CPtr | t.State -PyExc_OverflowError: PyObject | t.CPtr | t.State -PyExc_MemoryError: PyObject | t.CPtr | t.State -PyExc_NameError: PyObject | t.CPtr | t.State -PyExc_StopIteration: PyObject | t.CPtr | t.State -PyExc_NotImplementedError: PyObject | t.CPtr | t.State -PyExc_SyntaxError: PyObject | t.CPtr | t.State -PyExc_FileNotFoundError: PyObject | t.CPtr | t.State -PyExc_PermissionError: PyObject | t.CPtr | t.State -PyExc_IsADirectoryError: PyObject | t.CPtr | t.State -PyExc_NotADirectoryError: PyObject | t.CPtr | t.State -def Py_BuildValue(fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def Py_VaBuildValue(fmt: t.CConst | str, va: t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyLong_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyFloat_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyUnicode_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyBytes_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyTuple_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyBool_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyNone_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyMem_Malloc(size: t.CSizeT) -> t.CPtr | t.State: pass - -def PyMem_Realloc(ptr: t.CPtr, size: t.CSizeT) -> t.CPtr | t.State: pass - -def PyMem_Free(ptr: t.CPtr) -> t.CVoid | t.State: pass - -def PyMem_Calloc(nelem: t.CSizeT, elsize: t.CSizeT) -> t.CPtr | t.State: pass - -def PyObject_Malloc(size: t.CSizeT) -> t.CPtr | t.State: pass - -def PyObject_Realloc(ptr: t.CPtr, size: t.CSizeT) -> t.CPtr | t.State: pass - -def PyObject_Free(ptr: t.CPtr) -> t.CVoid | t.State: pass - -def PyObject_Calloc(nelem: t.CSizeT, elsize: t.CSizeT) -> t.CPtr | t.State: pass - -def PyObject_Init(obj: PyObject | t.CPtr, tp: t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_InitVar(obj: PyObject | t.CPtr, tp: t.CPtr, size: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyFile_FromString(filename: t.CConst | str, mode: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyFile_AsFile(file: PyObject | t.CPtr) -> t.CPtr | t.State: pass - -def PyFile_WriteObject(obj: PyObject | t.CPtr, file: PyObject | t.CPtr, flags: t.CInt) -> t.CInt | t.State: pass - -def PyFile_WriteString(s: t.CConst | str, file: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def Py_CompileString(s: t.CConst | str, filename: t.CConst | str, start: t.CInt) -> PyObject | t.CPtr | t.State: pass - -def PyEval_EvalCode(code: PyObject | t.CPtr, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyEval_EvalCodeEx(code: PyObject | t.CPtr, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr, args: PyObject | t.CPtr | t.CPtr, argc: t.CInt, kws: PyObject | t.CPtr | t.CPtr, kwc: t.CInt, defs: PyObject | t.CPtr | t.CPtr, defc: t.CInt, kwdefs: PyObject | t.CPtr, closure: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyEval_EvalFrame(frame: t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyEval_CallObject(callable: PyObject | t.CPtr, args: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyEval_CallFunction(callable: PyObject | t.CPtr, fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyEval_CallMethod(obj: PyObject | t.CPtr, method: t.CConst | str, fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyRun_SimpleString(cmd: t.CConst | str) -> t.CInt | t.State: pass - -def PyRun_SimpleFile(fp: t.CPtr, filename: t.CConst | str) -> t.CInt | t.State: pass - -def PyRun_AnyFile(fp: t.CPtr, filename: t.CConst | str) -> t.CInt | t.State: pass - -def PyRun_String(s: t.CConst | str, start: t.CInt, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyRun_File(fp: t.CPtr, filename: t.CConst | str, start: t.CInt, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -Py_single_input: t.CInt | t.State -Py_file_input: t.CInt | t.State -Py_eval_input: t.CInt | t.State -def PyCapsule_New(ptr: t.CPtr, name: t.CConst | str, dtor: t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyCapsule_GetPointer(cap: PyObject | t.CPtr, name: t.CConst | str) -> t.CPtr | t.State: pass - -def PyCapsule_GetName(cap: PyObject | t.CPtr) -> str | t.State: pass - -def PyCapsule_IsValid(cap: PyObject | t.CPtr, name: t.CConst | str) -> t.CInt | t.State: pass - -def PyCapsule_SetPointer(cap: PyObject | t.CPtr, ptr: t.CPtr) -> t.CInt | t.State: pass - -def PyCapsule_SetName(cap: PyObject | t.CPtr, name: t.CConst | str) -> t.CInt | t.State: pass - -def PyCapsule_SetDestructor(cap: PyObject | t.CPtr, dtor: t.CPtr) -> t.CInt | t.State: pass - -def PySequence_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySequence_Size(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySequence_Length(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySequence_Concat(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PySequence_Repeat(obj: PyObject | t.CPtr, count: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PySequence_GetItem(obj: PyObject | t.CPtr, idx: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PySequence_SetItem(obj: PyObject | t.CPtr, idx: t.CSizeT, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySequence_DelItem(obj: PyObject | t.CPtr, idx: t.CSizeT) -> t.CInt | t.State: pass - -def PySequence_GetSlice(obj: PyObject | t.CPtr, start: t.CSizeT, end: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PySequence_SetSlice(obj: PyObject | t.CPtr, start: t.CSizeT, end: t.CSizeT, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySequence_DelSlice(obj: PyObject | t.CPtr, start: t.CSizeT, end: t.CSizeT) -> t.CInt | t.State: pass - -def PySequence_Contains(obj: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySequence_Index(obj: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySequence_Count(obj: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySequence_List(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PySequence_Tuple(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyMapping_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyMapping_Size(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyMapping_Length(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyMapping_HasKey(obj: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyMapping_HasKeyString(obj: PyObject | t.CPtr, key: t.CConst | str) -> t.CInt | t.State: pass - -def PyMapping_GetItemString(obj: PyObject | t.CPtr, key: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyMapping_SetItemString(obj: PyObject | t.CPtr, key: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyMapping_Keys(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyMapping_Values(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyMapping_Items(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Add(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Subtract(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Multiply(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_MatrixMultiply(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_FloorDivide(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_TrueDivide(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Modulo(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Power(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr, o3: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Negative(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Positive(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Absolute(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Invert(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Lshift(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Rshift(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_And(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Xor(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Or(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Index(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Long(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Float(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyWeakref_NewRef(obj: PyObject | t.CPtr, cb: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyWeakref_GetObject(ref: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyWeakref_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -class PyGetSetDef: - name: t.CConst | str - get: t.CPtr - set: t.CPtr - doc: t.CConst | str - closure: t.CPtr - -class PyMemberDef: - name: t.CConst | str - type: t.CInt - offset: t.CPtrDiffT - flags: t.CInt - doc: t.CConst | str - -def PySys_GetObject(name: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PySys_SetObject(name: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySys_ResetWarnOptions() -> t.CVoid | t.State: pass - -def PySys_AddWarnOption(s: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PySYS_AddXOption(s: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PySys_WriteStdout(fmt: t.CConst | str) -> t.CVoid | t.State: pass - -def PySys_WriteStderr(fmt: t.CConst | str) -> t.CVoid | t.State: pass - -def PySys_FormatStdout(fmt: t.CConst | str) -> t.CVoid | t.State: pass - -def PySys_FormatStderr(fmt: t.CConst | str) -> t.CVoid | t.State: pass - -def PyMemoryView_FromObject(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyMemoryView_GetContiguous(obj: PyObject | t.CPtr, btype: t.CInt, order: t.CChar) -> PyObject | t.CPtr | t.State: pass - -def PyMemoryView_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySet_New(iterable: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PySet_Add(s: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySet_Discard(s: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySet_Contains(s: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySet_Size(s: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySet_Clear(s: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PySet_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyFrozenSet_New(iterable: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyFrozenSet_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySlice_New(start: PyObject | t.CPtr, stop: PyObject | t.CPtr, step: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PySlice_GetIndicesEx(sl: PyObject | t.CPtr, length: t.CSizeT, start: t.CSizeT | t.CPtr, stop: t.CSizeT | t.CPtr, step: t.CSizeT | t.CPtr, slicelen: t.CSizeT | t.CPtr) -> t.CInt | t.State: pass - -def PySlice_Unpack(sl: PyObject | t.CPtr, start: t.CPtrDiffT | t.CPtr, stop: t.CPtrDiffT | t.CPtr, step: t.CPtrDiffT | t.CPtr) -> t.CVoid | t.State: pass - -def PySlice_AdjustIndices(length: t.CSizeT, start: t.CPtrDiffT | t.CPtr, stop: t.CPtrDiffT | t.CPtr, step: t.CPtrDiffT) -> t.CSizeT | t.State: pass - -def PySlice_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -class PyLongObj: - ptr: PyObject | t.CPtr - def __new__(self) -> 'PyLongObj' | t.CPtr: pass - @staticmethod - def from_long(val: t.CLong) -> 'PyLongObj' | t.CPtr: pass - def __add__(self, other: PyLongObj | t.CPtr) -> 'PyLongObj' | t.CPtr: pass - def __sub__(self, other: PyLongObj | t.CPtr) -> 'PyLongObj' | t.CPtr: pass - def __mul__(self, other: PyLongObj | t.CPtr) -> 'PyLongObj' | t.CPtr: pass - def __neg__(self) -> 'PyLongObj' | t.CPtr: pass - def to_long(self) -> t.CLong: pass - def __str__(self) -> PyObject | t.CPtr: pass - def dec_ref(self): pass - -class PyFloatObj: - ptr: PyObject | t.CPtr - def __new__(self) -> 'PyFloatObj' | t.CPtr: pass - @staticmethod - def from_double(val: t.CDouble) -> 'PyFloatObj' | t.CPtr: pass - def __add__(self, other: PyFloatObj | t.CPtr) -> 'PyFloatObj' | t.CPtr: pass - def __sub__(self, other: PyFloatObj | t.CPtr) -> 'PyFloatObj' | t.CPtr: pass - def __mul__(self, other: PyFloatObj | t.CPtr) -> 'PyFloatObj' | t.CPtr: pass - def __truediv__(self, other: PyFloatObj | t.CPtr) -> 'PyFloatObj' | t.CPtr: pass - def __neg__(self) -> 'PyFloatObj' | t.CPtr: pass - def to_double(self) -> t.CDouble: pass - def __str__(self) -> PyObject | t.CPtr: pass - def dec_ref(self): pass - -class PyUnicodeObj: - ptr: PyObject | t.CPtr - def __new__(self) -> 'PyUnicodeObj' | t.CPtr: pass - @staticmethod - def from_string(s: t.CChar | t.CPtr) -> 'PyUnicodeObj' | t.CPtr: pass - def __add__(self, other: PyUnicodeObj | t.CPtr) -> 'PyUnicodeObj' | t.CPtr: pass - def __len__(self) -> t.CPtrDiffT: pass - def as_utf8(self) -> t.CChar | t.CPtr: pass - def __str__(self) -> PyObject | t.CPtr: pass - def dec_ref(self): pass - -class PyListObj: - ptr: PyObject | t.CPtr - def __new__(self) -> 'PyListObj' | t.CPtr: pass - @staticmethod - def new() -> 'PyListObj' | t.CPtr: pass - def __getitem__(self, idx: t.CSizeT) -> PyObject | t.CPtr: pass - def __setitem__(self, idx: t.CSizeT, val: PyObject | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: PyObject | t.CPtr) -> t.CInt: pass - def dec_ref(self): pass - -class PyDictObj: - ptr: PyObject | t.CPtr - def __new__(self) -> 'PyDictObj' | t.CPtr: pass - @staticmethod - def new() -> 'PyDictObj' | t.CPtr: pass - def __getitem__(self, key: PyObject | t.CPtr) -> PyObject | t.CPtr: pass - def __setitem__(self, key: PyObject | t.CPtr, val: PyObject | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def get_string(self, key: t.CChar | t.CPtr) -> PyObject | t.CPtr: pass - def set_string(self, key: t.CChar | t.CPtr, val: PyObject | t.CPtr): pass - def dec_ref(self): pass - diff --git a/Test/CPythonTest/.tpv_build/temp/_sha1_map.txt b/Test/CPythonTest/.tpv_build/temp/_sha1_map.txt index 6863489..34b155a 100644 --- a/Test/CPythonTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/CPythonTest/.tpv_build/temp/_sha1_map.txt @@ -1,2 +1,8 @@ -7c5d5ec59c5fb0a8:cpython.vp +ac87eb59087b9c33:includes/builtins.vp +f5522571bcce7bcb:includes/stdint.vp +285b6aa29a34754d:includes/stdio.vp +748d0424e8976fa0:includes/testcheck.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +7081f34a72ebafa8:cpython.vp fb6cea4f70fade7a:main.vp diff --git a/Test/CPythonTest/output/7c5d5ec59c5fb0a8.deps.json b/Test/CPythonTest/output/7c5d5ec59c5fb0a8.deps.json deleted file mode 100644 index d5f9a18..0000000 --- a/Test/CPythonTest/output/7c5d5ec59c5fb0a8.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "main": "fb6cea4f70fade7a", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/CPythonTest/output/fb6cea4f70fade7a.deps.json b/Test/CPythonTest/output/fb6cea4f70fade7a.deps.json index 55a1e57..7e10dc0 100644 --- a/Test/CPythonTest/output/fb6cea4f70fade7a.deps.json +++ b/Test/CPythonTest/output/fb6cea4f70fade7a.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "cpython": "7c5d5ec59c5fb0a8", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"stdio": "285b6aa29a34754d", "cpython": "7081f34a72ebafa8", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/CPythonTest/temp/7c5d5ec59c5fb0a8.doc.json b/Test/CPythonTest/temp/7c5d5ec59c5fb0a8.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/CPythonTest/temp/7c5d5ec59c5fb0a8.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/CPythonTest/temp/7c5d5ec59c5fb0a8.vpi b/Test/CPythonTest/temp/7c5d5ec59c5fb0a8.vpi deleted file mode 100644 index 8543348..0000000 --- a/Test/CPythonTest/temp/7c5d5ec59c5fb0a8.vpi +++ /dev/null @@ -1,765 +0,0 @@ -""" -Auto-generated Python stub file from cpython.vp -Module: cpython -""" - - -import t, c - -class PyObject: - ob_refcnt: t.CLong - ob_type: t.CPtr - -def Py_INCREF(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_DECREF(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_XINCREF(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_XDECREF(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_DecRef(op: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def Py_Initialize() -> t.CVoid | t.State: pass - -def Py_Finalize() -> t.CVoid | t.State: pass - -def Py_InitializeEx(initsigs: t.CInt) -> t.CVoid | t.State: pass - -def Py_FinalizeEx() -> t.CInt | t.State: pass - -def Py_IsInitialized() -> t.CInt | t.State: pass - - -class PySTATUS: - func: t.CConst | str - err_msg: t.CConst | str - exitcode: t.CInt -class PyPreConfig: - _config_version: t.CInt - _config_init: t.CInt - parse_argv: t.CInt - isolated: t.CInt - use_environment: t.CInt - utf8_mode: t.CInt - coerce_c_locale: t.CInt - C_locale_warnings: t.CInt - allocator: t.CInt - dev_mode: t.CInt -class PyWideStringList: - length: t.CSizeT - items: t.CPtr -class PyConfig: - _config_version: t.CInt - _config_init: t.CInt - isolated: t.CInt - use_environment: t.CInt - dev_mode: t.CInt - install_signal_handlers: t.CInt - use_hash_seed: t.CInt - hash_seed: t.CUnsignedLong - faulthandler: t.CInt - tracemalloc: t.CInt - import_time: t.CInt - show_ref_count: t.CInt - dump_refs: t.CInt - dump_refs_file: t.CConst | str - malloc_stats: t.CInt - filesystem_errors: t.CInt - pycache_prefix: t.CConst | str - parse_argv: t.CInt - argv: PyWideStringList - program_name: t.CConst | str - xoptions: PyWideStringList - warnoptions: PyWideStringList - site_import: t.CInt - bytes_warning: t.CInt - warn_default_encoding: t.CInt - inspect: t.CInt - interactive: t.CInt - optimization_level: t.CInt - parser_debug: t.CInt - verbose: t.CInt - quiet: t.CInt - home: t.CConst | str - pythonpath_env: t.CConst | str - module_search_paths: PyWideStringList - module_search_paths_set: t.CInt - executable: t.CConst | str - base_executable: t.CConst | str - prefix: t.CConst | str - base_prefix: t.CConst | str - exec_prefix: t.CConst | str - base_exec_prefix: t.CConst | str - platlibdir: t.CConst | str - stdio_filename: t.CConst | str - -def PyConfig_InitPythonConfig(config: PyConfig | t.CPtr) -> t.CVoid | t.State: pass - -def PyConfig_InitIsolatedConfig(config: PyConfig | t.CPtr) -> t.CVoid | t.State: pass - -def PyConfig_Clear(config: PyConfig | t.CPtr) -> t.CVoid | t.State: pass - -def PyConfig_Read(config: PyConfig | t.CPtr) -> PySTATUS | t.State: pass - -def Py_InitializeFromConfig(config: PyConfig | t.CPtr) -> PySTATUS | t.State: pass - -def Py_DecodeLocale(s: t.CConst | str) -> str | t.State: pass - -def PyStatus_Exception(status: PySTATUS) -> t.CInt | t.State: pass - -def PyLong_FromLong(v: t.CLong) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromUnsignedLong(v: t.CUnsignedLong) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromLongLong(v: t.CLong) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromUnsignedLongLong(v: t.CUnsignedLong) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromSsize_t(v: t.CPtrDiffT) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromSize_t(v: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyLong_FromDouble(v: t.CDouble) -> PyObject | t.CPtr | t.State: pass - -def PyLong_AsLong(obj: PyObject | t.CPtr) -> t.CLong | t.State: pass - -def PyLong_AsUnsignedLong(obj: PyObject | t.CPtr) -> t.CUnsignedLong | t.State: pass - -def PyLong_AsLongLong(obj: PyObject | t.CPtr) -> t.CLong | t.State: pass - -def PyLong_AsUnsignedLongLong(obj: PyObject | t.CPtr) -> t.CUnsignedLong | t.State: pass - -def PyLong_AsDouble(obj: PyObject | t.CPtr) -> t.CDouble | t.State: pass - -def PyLong_AsSsize_t(obj: PyObject | t.CPtr) -> t.CPtrDiffT | t.State: pass - -def PyLong_AsSize_t(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyFloat_FromDouble(v: t.CDouble) -> PyObject | t.CPtr | t.State: pass - -def PyFloat_AsDouble(obj: PyObject | t.CPtr) -> t.CDouble | t.State: pass - -def PyFloat_FromString(s: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_FromString(u: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_FromStringAndSize(u: t.CConst | str, size: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_FromFormat(fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_AsUTF8(obj: PyObject | t.CPtr) -> str | t.State: pass - -def PyUnicode_AsUTF8AndSize(obj: PyObject | t.CPtr, size: t.CPtrDiffT | t.CPtr) -> str | t.State: pass - -def PyUnicode_AsWideChar(obj: PyObject | t.CPtr, wbuf: t.CPtr, bufsize: t.CSizeT) -> t.CSizeT | t.State: pass - -def PyUnicode_GetLength(obj: PyObject | t.CPtr) -> t.CPtrDiffT | t.State: pass - -def PyUnicode_ReadChar(obj: PyObject | t.CPtr, idx: t.CSizeT) -> t.CUInt32T | t.State: pass - -def PyUnicode_WriteChar(obj: PyObject | t.CPtr, idx: t.CSizeT, ch: t.CUInt32T) -> t.CInt | t.State: pass - -def PyUnicode_Compare(l: PyObject | t.CPtr, r: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyUnicode_Concat(l: PyObject | t.CPtr, r: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_Contains(container: PyObject | t.CPtr, element: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyUnicode_Format(fmt: PyObject | t.CPtr, args: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyUnicode_InternInPlace(s: PyObject | t.CPtr | t.CPtr) -> t.CVoid | t.State: pass - -def PyUnicode_InternFromString(u: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyBytes_FromString(v: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyBytes_FromStringAndSize(v: t.CConst | str, size: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyBytes_AsString(obj: PyObject | t.CPtr) -> str | t.State: pass - -def PyBytes_Size(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyBytes_FromObject(o: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyBytes_FromFormat(fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyBool_FromLong(v: t.CLong) -> PyObject | t.CPtr | t.State: pass - - -Py_True: t.CExtern | PyObject | t.CPtr | t.State -Py_False: t.CExtern | PyObject | t.CPtr | t.State -Py_None: t.CExtern | PyObject | t.CPtr | t.State - -def PyList_New(len: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyList_Size(lst: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyList_GetItem(lst: PyObject | t.CPtr, idx: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyList_SetItem(lst: PyObject | t.CPtr, idx: t.CSizeT, item: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Insert(lst: PyObject | t.CPtr, idx: t.CSizeT, item: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Append(lst: PyObject | t.CPtr, item: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_GetSlice(lst: PyObject | t.CPtr, lo: t.CSizeT, hi: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyList_SetSlice(lst: PyObject | t.CPtr, lo: t.CSizeT, hi: t.CSizeT, items: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Sort(lst: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Reverse(lst: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_AsTuple(lst: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyTuple_New(len: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyTuple_Size(tup: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyTuple_GetItem(tup: PyObject | t.CPtr, idx: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyTuple_SetItem(tup: PyObject | t.CPtr, idx: t.CSizeT, item: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyTuple_GetSlice(tup: PyObject | t.CPtr, lo: t.CSizeT, hi: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyTuple_Pack(n: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyDict_New() -> PyObject | t.CPtr | t.State: pass - -def PyDict_GetItem(d: PyObject | t.CPtr, key: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_GetItemString(d: PyObject | t.CPtr, key: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyDict_SetItem(d: PyObject | t.CPtr, key: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_SetItemString(d: PyObject | t.CPtr, key: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_DelItem(d: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_DelItemString(d: PyObject | t.CPtr, key: t.CConst | str) -> t.CInt | t.State: pass - -def PyDict_Size(d: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyDict_Keys(d: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_Values(d: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_Items(d: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_Copy(d: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyDict_Clear(d: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PyDict_Contains(d: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_Next(d: PyObject | t.CPtr, pos: t.CPtrDiffT | t.CPtr, key: PyObject | t.CPtr | t.CPtr, val: PyObject | t.CPtr | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_Merge(d: PyObject | t.CPtr, other: PyObject | t.CPtr, override: t.CInt) -> t.CInt | t.State: pass - -def PyDict_Update(d: PyObject | t.CPtr, other: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_Str(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_Repr(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_Type(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_IsInstance(obj: PyObject | t.CPtr, cls: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_IsSubclass(obj: PyObject | t.CPtr, cls: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_HasAttr(obj: PyObject | t.CPtr, name: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_HasAttrString(obj: PyObject | t.CPtr, name: t.CConst | str) -> t.CInt | t.State: pass - -def PyObject_GetAttr(obj: PyObject | t.CPtr, name: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_GetAttrString(obj: PyObject | t.CPtr, name: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyObject_SetAttr(obj: PyObject | t.CPtr, name: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_SetAttrString(obj: PyObject | t.CPtr, name: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_DelAttr(obj: PyObject | t.CPtr, name: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_DelAttrString(obj: PyObject | t.CPtr, name: t.CConst | str) -> t.CInt | t.State: pass - -def PyObject_Call(callable: PyObject | t.CPtr, args: PyObject | t.CPtr, kwargs: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_CallObject(callable: PyObject | t.CPtr, args: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_CallNoArgs(callable: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_CallOneArg(callable: PyObject | t.CPtr, arg: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_IsTrue(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_Not(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_RichCompare(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr, opid: t.CInt) -> PyObject | t.CPtr | t.State: pass - -def PyObject_RichCompareBool(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr, opid: t.CInt) -> t.CInt | t.State: pass - -def PyObject_Hash(obj: PyObject | t.CPtr) -> t.CLong | t.State: pass - -def PyObject_Length(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyObject_GetItem(obj: PyObject | t.CPtr, key: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_SetItem(obj: PyObject | t.CPtr, key: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_DelItem(obj: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyObject_Dir(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_GetIter(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyIter_Next(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - - -Py_LT: t.CExtern | t.CInt | t.State -Py_LE: t.CExtern | t.CInt | t.State -Py_EQ: t.CExtern | t.CInt | t.State -Py_NE: t.CExtern | t.CInt | t.State -Py_GT: t.CExtern | t.CInt | t.State -Py_GE: t.CExtern | t.CInt | t.State - -def PyImport_ImportModule(name: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyImport_Import(name: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyImport_ImportModuleLevelObject(name: PyObject | t.CPtr, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr, fromlist: PyObject | t.CPtr, level: t.CInt) -> PyObject | t.CPtr | t.State: pass - -def PyImport_ReloadModule(mod: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyImport_AddModule(name: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyImport_GetModuleDict() -> PyObject | t.CPtr | t.State: pass - -def PyImport_ImportModuleEx(name: t.CConst | str, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr, fromlist: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - - -class PyMethodDef: - ml_name: t.CConst | str - ml_meth: t.CPtr - ml_flags: t.CInt - ml_doc: t.CConst | str -class PyModuleDef_Base: - ob_base: PyObject - m_init: t.CPtr - m_index: t.CSizeT - m_copy: PyObject | t.CPtr -class PyModuleDef: - m_base: PyModuleDef_Base - m_name: t.CConst | str - m_doc: t.CConst | str - m_size: t.CPtrDiffT - m_methods: PyMethodDef | t.CPtr - m_slots: t.CPtr - m_traverse: t.CPtr - m_clear: t.CPtr - m_free: t.CPtr - -def PyModule_Create(mod: PyModuleDef | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyModule_Create2(mod: PyModuleDef | t.CPtr, ver: t.CInt) -> PyObject | t.CPtr | t.State: pass - -def PyModule_GetName(mod: PyObject | t.CPtr) -> str | t.State: pass - -def PyModule_GetDict(mod: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyModule_GetFilenameObject(mod: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyModule_AddObject(mod: PyObject | t.CPtr, name: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyModule_AddObjectRef(mod: PyObject | t.CPtr, name: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyModule_AddIntConstant(mod: PyObject | t.CPtr, name: t.CConst | str, val: t.CLong) -> t.CInt | t.State: pass - -def PyModule_AddStringConstant(mod: PyObject | t.CPtr, name: t.CConst | str, val: t.CConst | str) -> t.CInt | t.State: pass - -def PyGILState_Ensure() -> t.CInt | t.State: pass - -def PyGILState_Release(state: t.CInt) -> t.CVoid | t.State: pass - -def PyEval_SaveThread() -> t.CPtr | t.State: pass - -def PyEval_RestoreThread(tstate: t.CPtr) -> t.CVoid | t.State: pass - -def PyEval_AcquireThread(tstate: t.CPtr) -> t.CVoid | t.State: pass - -def PyEval_ReleaseThread(tstate: t.CPtr) -> t.CVoid | t.State: pass - -def PyEval_AcquireLock() -> t.CVoid | t.State: pass - -def PyEval_ReleaseLock() -> t.CVoid | t.State: pass - -def PyEval_ThreadsInitialized() -> t.CInt | t.State: pass - -def PyEval_InitThreads() -> t.CVoid | t.State: pass - -def PyErr_Occurred() -> PyObject | t.CPtr | t.State: pass - -def PyErr_Clear() -> t.CVoid | t.State: pass - -def PyErr_Fetch(tp: PyObject | t.CPtr | t.CPtr, val: PyObject | t.CPtr | t.CPtr, tb: PyObject | t.CPtr | t.CPtr) -> t.CVoid | t.State: pass - -def PyErr_Restore(tp: PyObject | t.CPtr, val: PyObject | t.CPtr, tb: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PyErr_NormalizeException(tp: PyObject | t.CPtr | t.CPtr, val: PyObject | t.CPtr | t.CPtr, tb: PyObject | t.CPtr | t.CPtr) -> t.CVoid | t.State: pass - -def PyErr_SetString(tp: PyObject | t.CPtr, msg: t.CConst | str) -> t.CVoid | t.State: pass - -def PyErr_SetObject(tp: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PyErr_BadArgument() -> t.CPtr | t.State: pass - -def PyErr_NoMemory() -> t.CPtr | t.State: pass - -def PyErr_Print() -> t.CVoid | t.State: pass - -def PyErr_ExceptionMatches(exc: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyErr_GivenExceptionMatches(given: PyObject | t.CPtr, exc: PyObject | t.CPtr) -> t.CInt | t.State: pass - - -PyExc_BaseException: t.CExtern | PyObject | t.CPtr | t.State -PyExc_Exception: t.CExtern | PyObject | t.CPtr | t.State -PyExc_TypeError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_ValueError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_RuntimeError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_KeyError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_IndexError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_AttributeError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_ImportError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_OSError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_IOError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_ZeroDivisionError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_OverflowError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_MemoryError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_NameError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_StopIteration: t.CExtern | PyObject | t.CPtr | t.State -PyExc_NotImplementedError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_SyntaxError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_FileNotFoundError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_PermissionError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_IsADirectoryError: t.CExtern | PyObject | t.CPtr | t.State -PyExc_NotADirectoryError: t.CExtern | PyObject | t.CPtr | t.State - -def Py_BuildValue(fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def Py_VaBuildValue(fmt: t.CConst | str, va: t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyLong_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyFloat_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyUnicode_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyBytes_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyList_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyTuple_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyDict_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyBool_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyNone_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyMem_Malloc(size: t.CSizeT) -> t.CPtr | t.State: pass - -def PyMem_Realloc(ptr: t.CPtr, size: t.CSizeT) -> t.CPtr | t.State: pass - -def PyMem_Free(ptr: t.CPtr) -> t.CVoid | t.State: pass - -def PyMem_Calloc(nelem: t.CSizeT, elsize: t.CSizeT) -> t.CPtr | t.State: pass - -def PyObject_Malloc(size: t.CSizeT) -> t.CPtr | t.State: pass - -def PyObject_Realloc(ptr: t.CPtr, size: t.CSizeT) -> t.CPtr | t.State: pass - -def PyObject_Free(ptr: t.CPtr) -> t.CVoid | t.State: pass - -def PyObject_Calloc(nelem: t.CSizeT, elsize: t.CSizeT) -> t.CPtr | t.State: pass - -def PyObject_Init(obj: PyObject | t.CPtr, tp: t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyObject_InitVar(obj: PyObject | t.CPtr, tp: t.CPtr, size: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PyFile_FromString(filename: t.CConst | str, mode: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyFile_AsFile(file: PyObject | t.CPtr) -> t.CPtr | t.State: pass - -def PyFile_WriteObject(obj: PyObject | t.CPtr, file: PyObject | t.CPtr, flags: t.CInt) -> t.CInt | t.State: pass - -def PyFile_WriteString(s: t.CConst | str, file: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def Py_CompileString(s: t.CConst | str, filename: t.CConst | str, start: t.CInt) -> PyObject | t.CPtr | t.State: pass - -def PyEval_EvalCode(code: PyObject | t.CPtr, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyEval_EvalCodeEx(code: PyObject | t.CPtr, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr, args: PyObject | t.CPtr | t.CPtr, argc: t.CInt, kws: PyObject | t.CPtr | t.CPtr, kwc: t.CInt, defs: PyObject | t.CPtr | t.CPtr, defc: t.CInt, kwdefs: PyObject | t.CPtr, closure: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyEval_EvalFrame(frame: t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyEval_CallObject(callable: PyObject | t.CPtr, args: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyEval_CallFunction(callable: PyObject | t.CPtr, fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyEval_CallMethod(obj: PyObject | t.CPtr, method: t.CConst | str, fmt: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyRun_SimpleString(cmd: t.CConst | str) -> t.CInt | t.State: pass - -def PyRun_SimpleFile(fp: t.CPtr, filename: t.CConst | str) -> t.CInt | t.State: pass - -def PyRun_AnyFile(fp: t.CPtr, filename: t.CConst | str) -> t.CInt | t.State: pass - -def PyRun_String(s: t.CConst | str, start: t.CInt, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyRun_File(fp: t.CPtr, filename: t.CConst | str, start: t.CInt, globs: PyObject | t.CPtr, locs: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - - -Py_single_input: t.CExtern | t.CInt | t.State -Py_file_input: t.CExtern | t.CInt | t.State -Py_eval_input: t.CExtern | t.CInt | t.State - -def PyCapsule_New(ptr: t.CPtr, name: t.CConst | str, dtor: t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyCapsule_GetPointer(cap: PyObject | t.CPtr, name: t.CConst | str) -> t.CPtr | t.State: pass - -def PyCapsule_GetName(cap: PyObject | t.CPtr) -> str | t.State: pass - -def PyCapsule_IsValid(cap: PyObject | t.CPtr, name: t.CConst | str) -> t.CInt | t.State: pass - -def PyCapsule_SetPointer(cap: PyObject | t.CPtr, ptr: t.CPtr) -> t.CInt | t.State: pass - -def PyCapsule_SetName(cap: PyObject | t.CPtr, name: t.CConst | str) -> t.CInt | t.State: pass - -def PyCapsule_SetDestructor(cap: PyObject | t.CPtr, dtor: t.CPtr) -> t.CInt | t.State: pass - -def PySequence_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySequence_Size(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySequence_Length(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySequence_Concat(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PySequence_Repeat(obj: PyObject | t.CPtr, count: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PySequence_GetItem(obj: PyObject | t.CPtr, idx: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PySequence_SetItem(obj: PyObject | t.CPtr, idx: t.CSizeT, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySequence_DelItem(obj: PyObject | t.CPtr, idx: t.CSizeT) -> t.CInt | t.State: pass - -def PySequence_GetSlice(obj: PyObject | t.CPtr, start: t.CSizeT, end: t.CSizeT) -> PyObject | t.CPtr | t.State: pass - -def PySequence_SetSlice(obj: PyObject | t.CPtr, start: t.CSizeT, end: t.CSizeT, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySequence_DelSlice(obj: PyObject | t.CPtr, start: t.CSizeT, end: t.CSizeT) -> t.CInt | t.State: pass - -def PySequence_Contains(obj: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySequence_Index(obj: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySequence_Count(obj: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySequence_List(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PySequence_Tuple(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyMapping_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyMapping_Size(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyMapping_Length(obj: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PyMapping_HasKey(obj: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyMapping_HasKeyString(obj: PyObject | t.CPtr, key: t.CConst | str) -> t.CInt | t.State: pass - -def PyMapping_GetItemString(obj: PyObject | t.CPtr, key: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PyMapping_SetItemString(obj: PyObject | t.CPtr, key: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyMapping_Keys(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyMapping_Values(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyMapping_Items(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Add(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Subtract(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Multiply(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_MatrixMultiply(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_FloorDivide(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_TrueDivide(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Modulo(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Power(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr, o3: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Negative(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Positive(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Absolute(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Invert(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Lshift(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Rshift(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_And(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Xor(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Or(o1: PyObject | t.CPtr, o2: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Index(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Long(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Float(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyNumber_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyWeakref_NewRef(obj: PyObject | t.CPtr, cb: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyWeakref_GetObject(ref: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyWeakref_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - - -class PyGetSetDef: - name: t.CConst | str - get: t.CPtr - set: t.CPtr - doc: t.CConst | str - closure: t.CPtr -class PyMemberDef: - name: t.CConst | str - type: t.CInt - offset: t.CPtrDiffT - flags: t.CInt - doc: t.CConst | str - -def PySys_GetObject(name: t.CConst | str) -> PyObject | t.CPtr | t.State: pass - -def PySys_SetObject(name: t.CConst | str, val: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySys_ResetWarnOptions() -> t.CVoid | t.State: pass - -def PySys_AddWarnOption(s: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PySYS_AddXOption(s: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PySys_WriteStdout(fmt: t.CConst | str) -> t.CVoid | t.State: pass - -def PySys_WriteStderr(fmt: t.CConst | str) -> t.CVoid | t.State: pass - -def PySys_FormatStdout(fmt: t.CConst | str) -> t.CVoid | t.State: pass - -def PySys_FormatStderr(fmt: t.CConst | str) -> t.CVoid | t.State: pass - -def PyMemoryView_FromObject(obj: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyMemoryView_GetContiguous(obj: PyObject | t.CPtr, btype: t.CInt, order: t.CChar) -> PyObject | t.CPtr | t.State: pass - -def PyMemoryView_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySet_New(iterable: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PySet_Add(s: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySet_Discard(s: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySet_Contains(s: PyObject | t.CPtr, key: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySet_Size(s: PyObject | t.CPtr) -> t.CSizeT | t.State: pass - -def PySet_Clear(s: PyObject | t.CPtr) -> t.CVoid | t.State: pass - -def PySet_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PyFrozenSet_New(iterable: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PyFrozenSet_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - -def PySlice_New(start: PyObject | t.CPtr, stop: PyObject | t.CPtr, step: PyObject | t.CPtr) -> PyObject | t.CPtr | t.State: pass - -def PySlice_GetIndicesEx(sl: PyObject | t.CPtr, length: t.CSizeT, start: t.CSizeT | t.CPtr, stop: t.CSizeT | t.CPtr, step: t.CSizeT | t.CPtr, slicelen: t.CSizeT | t.CPtr) -> t.CInt | t.State: pass - -def PySlice_Unpack(sl: PyObject | t.CPtr, start: t.CPtrDiffT | t.CPtr, stop: t.CPtrDiffT | t.CPtr, step: t.CPtrDiffT | t.CPtr) -> t.CVoid | t.State: pass - -def PySlice_AdjustIndices(length: t.CSizeT, start: t.CPtrDiffT | t.CPtr, stop: t.CPtrDiffT | t.CPtr, step: t.CPtrDiffT) -> t.CSizeT | t.State: pass - -def PySlice_Check(obj: PyObject | t.CPtr) -> t.CInt | t.State: pass - - -class PyLongObj: - ptr: PyObject | t.CPtr - def __new__(self: PyLongObj) -> 'PyLongObj' | t.CPtr: pass - @staticmethod - def from_long(val: t.CLong) -> 'PyLongObj' | t.CPtr: pass - def __add__(self: PyLongObj, other: PyLongObj | t.CPtr) -> 'PyLongObj' | t.CPtr: pass - def __sub__(self: PyLongObj, other: PyLongObj | t.CPtr) -> 'PyLongObj' | t.CPtr: pass - def __mul__(self: PyLongObj, other: PyLongObj | t.CPtr) -> 'PyLongObj' | t.CPtr: pass - def __neg__(self: PyLongObj) -> 'PyLongObj' | t.CPtr: pass - def to_long(self: PyLongObj) -> t.CLong: pass - def __str__(self: PyLongObj) -> PyObject | t.CPtr: pass - def dec_ref(self: PyLongObj) -> t.CInt: pass -class PyFloatObj: - ptr: PyObject | t.CPtr - def __new__(self: PyFloatObj) -> 'PyFloatObj' | t.CPtr: pass - @staticmethod - def from_double(val: t.CDouble) -> 'PyFloatObj' | t.CPtr: pass - def __add__(self: PyFloatObj, other: PyFloatObj | t.CPtr) -> 'PyFloatObj' | t.CPtr: pass - def __sub__(self: PyFloatObj, other: PyFloatObj | t.CPtr) -> 'PyFloatObj' | t.CPtr: pass - def __mul__(self: PyFloatObj, other: PyFloatObj | t.CPtr) -> 'PyFloatObj' | t.CPtr: pass - def __truediv__(self: PyFloatObj, other: PyFloatObj | t.CPtr) -> 'PyFloatObj' | t.CPtr: pass - def __neg__(self: PyFloatObj) -> 'PyFloatObj' | t.CPtr: pass - def to_double(self: PyFloatObj) -> t.CDouble: pass - def __str__(self: PyFloatObj) -> PyObject | t.CPtr: pass - def dec_ref(self: PyFloatObj) -> t.CInt: pass -class PyUnicodeObj: - ptr: PyObject | t.CPtr - def __new__(self: PyUnicodeObj) -> 'PyUnicodeObj' | t.CPtr: pass - @staticmethod - def from_string(s: t.CChar | t.CPtr) -> 'PyUnicodeObj' | t.CPtr: pass - def __add__(self: PyUnicodeObj, other: PyUnicodeObj | t.CPtr) -> 'PyUnicodeObj' | t.CPtr: pass - def __len__(self: PyUnicodeObj) -> t.CPtrDiffT: pass - def as_utf8(self: PyUnicodeObj) -> t.CChar | t.CPtr: pass - def __str__(self: PyUnicodeObj) -> PyObject | t.CPtr: pass - def dec_ref(self: PyUnicodeObj) -> t.CInt: pass -class PyListObj: - ptr: PyObject | t.CPtr - def __new__(self: PyListObj) -> 'PyListObj' | t.CPtr: pass - @staticmethod - def new() -> 'PyListObj' | t.CPtr: pass - def __getitem__(self: PyListObj, idx: t.CSizeT) -> PyObject | t.CPtr: pass - def __setitem__(self: PyListObj, idx: t.CSizeT, val: PyObject | t.CPtr) -> t.CInt: pass - def __len__(self: PyListObj) -> t.CSizeT: pass - def append(self: PyListObj, item: PyObject | t.CPtr) -> t.CInt: pass - def dec_ref(self: PyListObj) -> t.CInt: pass -class PyDictObj: - ptr: PyObject | t.CPtr - def __new__(self: PyDictObj) -> 'PyDictObj' | t.CPtr: pass - @staticmethod - def new() -> 'PyDictObj' | t.CPtr: pass - def __getitem__(self: PyDictObj, key: PyObject | t.CPtr) -> PyObject | t.CPtr: pass - def __setitem__(self: PyDictObj, key: PyObject | t.CPtr, val: PyObject | t.CPtr) -> t.CInt: pass - def __len__(self: PyDictObj) -> t.CSizeT: pass - def get_string(self: PyDictObj, key: t.CChar | t.CPtr) -> PyObject | t.CPtr: pass - def set_string(self: PyDictObj, key: t.CChar | t.CPtr, val: PyObject | t.CPtr) -> t.CInt: pass - def dec_ref(self: PyDictObj) -> t.CInt: pass \ No newline at end of file diff --git a/Test/CPythonTest/temp/_phase1_manifest.json b/Test/CPythonTest/temp/_phase1_manifest.json index 7b21a36..afd9983 100644 --- a/Test/CPythonTest/temp/_phase1_manifest.json +++ b/Test/CPythonTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\CPythonTest\\App\\cpython.vp": {"sha1": "7c5d5ec59c5fb0a8", "mtime": 1781613876.1585274, "size": 39169}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\CPythonTest\\App\\main.vp": {"sha1": "fb6cea4f70fade7a", "mtime": 1782403889.06048, "size": 13919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\CPythonTest\\App\\cpython.vp": {"sha1": "7081f34a72ebafa8", "mtime": 1786442947.1544838, "size": 39167}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\CPythonTest\\App\\main.vp": {"sha1": "fb6cea4f70fade7a", "mtime": 1782403889.06048, "size": 13919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/CPythonTest/temp/_sha1_map.txt b/Test/CPythonTest/temp/_sha1_map.txt index 9ef8f1a..89a56e7 100644 --- a/Test/CPythonTest/temp/_sha1_map.txt +++ b/Test/CPythonTest/temp/_sha1_map.txt @@ -1,6 +1,6 @@ 285b6aa29a34754d:includes/stdio.vp +7081f34a72ebafa8:cpython.vp 748d0424e8976fa0:includes/testcheck.vp -7c5d5ec59c5fb0a8:cpython.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp f5522571bcce7bcb:includes/stdint.vp fb6cea4f70fade7a:main.vp diff --git a/Test/CPythonTest/temp/_shared_sym.json b/Test/CPythonTest/temp/_shared_sym.json index b35dad6a058fed10a6c6b274f8b285695b7f7760..3d6ff22d5966f421ee517e95125285ac921d6935 100644 GIT binary patch literal 704414 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

!5ECbJ>5f`= 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

IU3~ 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 literal 624208 zcmeFa37i{Ol`h_PytM818t=|VR+}WoyB)H&)!j~~y4CGoY=?9Z)lzleDoZM*RI=S+ z337$umvUqVPGC%U>@W#3<=Ad$?yk;?eSw99t4K@pIeJmlB#6& zt-42@sPg;ey5+WA{eAV_bIv{Y+;d;H;Qo$|c^&k>)1|G&uKY}9QcWjxaWXBHifhyI zOjv(8Z+==R=X1JNDqc|jCvFw9skD^eZvT2v z%)=9w#KvZFQh#k)*jfJ4{KIkj*rka{_?Hqo{Gn33 zxC9=WNUDXbUJ^QrOHPRNQ#P-cjA9r4a6(Osx(wKi;?k6;i{8^%KVnXG)XB^Ah7qr8DUAh`Y5K%PX*nxpRr<3m zn4)hVes5VuO%>9T`8Me1#Th9xDQQ%_#ntefWNt<$YBr%xDpHc_X9@gfPD~y*>FP>J zQ}Ayl9Ojou*@E?E>A$tq{8auP{6#rSe*}{#^Q*+9nwo((w%q!LBb~TKPFBs%WYj_) z{`?Bf{Fd^?rT?DA9DHvDd@#XT%){@{f7ZkcU$3FxJ(ZMl^sgoW zaGw5*i{STkO@x<3-#>`;dV}0xkQ+g=H<8`sW`o=kC*1})7$-4PBBYlba;DO4@FxVJ zlMEEEOFe&LJP&VsVocI9a$Gu9$WQc0`Qy5pn;6r?Y<_qqHsQ>*dQZuG77&j7ANBdIT9yFq3yS1BB)UYt-Ym<~i7R+@>Fgq#Af&Nh--78@bFkCJ!qFD<+b9Bst zx*iGYf+IuyoXpX}*b$nY@w7#nND%7vr14vp}7o3T-%YPvVhyDgj>k#KgJIJr60 zP7A7^bYEkE-Gl^o(KyGqT8Ro9yxq51fHxxnUSa{}_Ig*9<0TWb-)sJ`g?bAT>dt|o z_#yf~A7i{EHlSvw>Hpp{__G$;3y{z*8RrXkb@?4PhW#}Q_Jv5W7w~(*3(Xho{c@kO zP+o+Da-sQh`RKT^wDZ^UFD35HX@-ifp3kME% zqhsu`FkX&?aWP%va1(9A)!dkc^a>=T3;PC!y1A`$`qHZCv(Aw$oL3^@T+}l(esF+O zl5}ybM=j9ZRZstN!a{l#7E<$#9^hhxik&g@l^y`ac)8M7Sx~nkL0xP@-MNns)+H8J z-|Xm{EwI~A!S3G06|8T9^n(`I=c0n$w}&fO-yG@RT41k60^4cHco(NRyVTb4F27m( z6$|b)NN^Xx-W(^W=036?%f> z$!UW6uS&Zukh?KKa+;jVO@2%7!xqRrNFW!}X~}I_+DVE|nYHbLO`{Y2kf7CSHzH*TUOi?mlMWy&e-U$H{BqZ7_SEwD8`5gm)p` zzu*=N(*h>HSop^l&>N9}E}}p=#lny`q)2^NtWR4|Z^DGiDI&I^`mR}*EijjIHzPqc z3)A?;j7!Y->hF9mu+ZLugm#IgVUEtnma$)Gajk{78xt>A=R@%}a6UI#cn>1soiFpT z#LD++Cdq3@W5@y+Ljri7%*g^P|LKP?VIk~6L&(YSDvPKS@p^}Gw^J1vB_q9Nop4SnlW9<&hlqaoxq4Smyr zk6H+CLqfR7EH~m-yg}O!`0Vq4%>pVQ0bM-G6X}xJu&(vUQ&T=*pR&LXAc0*1(Q8kC zUtfaHi&cI^;dr^pUs^Z^k#H`OA#25}kjyupo43$he#MbME(VZ0_whpM8`G_}P!1uY z+`WqzO5eEdITp%cM3npX@IvVu+wHVa9>zjh;5jdS1H5hv

hWPKuJ>#Pp5w4qGrs zF=6tXnZBW(Xu%xAgvoDe`o?>ASun?uU@po-M8?bhJmD7>++%?}f&_ALo+nD*;OF%g z%A-gqX;ZWmgq*zIrZ3KSTR4v);p_x63s5=1gj{=nR)^@_Cvtzt0((0W*d^4da74Sr zES>U)`*{oQ3y|P0KAD8%Ft1m;IChlgo_*fzKU+}mz=BGVa$BtY(l6`veGBCT63R}B zl3!3X-_OJR#)5e#CQN=o(fNKb7c4TDo-f3LIYkfOa1-t8{Pq*pS}+qxFqfDx`Kk6@ zemF0;aJ~o?CqLOfZ+m*({p1b*A0V3o^pCGXCG#j3}eeI-#kBrdO@&D*b{Qyqw%^% zI&5=m9!Z||gk1exyw;Hp)jT^$D$9J1iWKXfj@LlaA)H&!LEocJWea9KS`e^WNp{&Y znqNmr-;+;pV}lhB*v}ROtge#IgZVX=^gRhx25moE5U?6dI-vRWnN)`S=5)=o1p%ww z9jB9^NtTvU-LWg6wO67fiz-u2a2w2T3S29V70w;mish9 z=ao`YuJ%J-_jEzPYJ%xJx+T3Z%UPE4(**&mFQzlYThJb}Jj3m03j$W7Oy_O$?3bxb zoJ;2ArwamB-%RIi^J|}}Wc*;)JX;X3nrJ#}1CG5km6!OTu6?*5V0F}Vp3Jears7vl zQQq}(9xe!2-8G%LZFMK)(_~ZeE3c?na@wDkp2iadtWKL%znnafw1+-=}@oVS*-Hr zko9Om!0OED_)mB)uVcP`C$q|tn*D4+!0OWJ0?o^$`5n}9gSHGBR>w{kXkO;b@7$If zv}Me&x_3ID&9-A)$~P3hV_ap>_Ok^6tCOb_qtOTRn$&)$y2>${^Ke1H>h0-<&1+iw zo${)JZOv<}Zl7-0ye78asjn*7*38E0|LMeM)M0Wl5z6sd`RRgy)eO{$&&%c%qwd5J9b!(J0#^S~H*8)}yWcUy zD%e)kj@66QacZW_xH+}Uea>H&vuu^e3j$VSQpdDeTH}U&uOD`g=L-T>ms0n`IXbnz zX26%78dl5FC3aOCcIVQf`@w>M)xgv_m4@EOw0s`Ue6k>5^)oF4=4Hrzv#M2376h#J zrsc=-O1$`HRI8pW2w2@tor#3q^t3#K>4OCUtM{qHGI|Tt@(ebgEC^VwP|JXM&0yaI zYSohk0jo1=`LVoauy5+L>dAtD)hN}8w>fqZRs8yAmE&#a;evqGHq}WN^X#7L+fKBc zE-pV^5U^UPIsqrd*{$fLTJ(6nAYk=Xb;J%W3Apu^@ZHj{eYhZCby{`A4zT$(gYn(g zuY0;6U^QQLJ(^#47~deY?&*Sn)sNNnXnyTte1p-trwamBi&p2+E$P%+w(I4m3j$Wx zRwsefn&z$L1XAVkf`HY@)eW8BH1~~E>mM%&SlwOS&*nGLePh=8#|r{h$5+Rl@@$EE z&cM}qxFBHlfOQO9OIpE}4P5!@f`HW))(IS;iD)aj!Wu(YQ8IRX$Cd zO?q5^P`2)s#|r{h=UC^xQ_sS$fvoanKkOdQ7X++6vd(Ph*-lpZjvw^8rwamBS6S!L zEom-WHgn~t3j$W7S!brVrr&INrdJ*>2w2T$-O%~PalV_s^^X?>tcJACvs=@bw*1yB zj~4{2Cbf=zZBehOMIc|`&K{5u(8bm!^Dx4`z7AA{}avH?vQ%vZJ3q);tN2z$8 zeBimIGbNE+erJhX>Dd&STumOhue9x+(&^GxvLjA*ZX>$@=N^OXHORiRWWR7pVUnx| z*c%M8(IA@)ve_V8;NQEDTwPo^s*Ac*^8W|oWPcp~{zV4482*a+W5mhz2D!l?H^RSp z6Fll>gWM7)-DkBGvbJGAV$5TdUJ{!I?z)3-6$eEI9Lv}?rq{;Yz!BwrqQ_6x|LC*&XU2Ip< zC~}Eh351E>u~fr|Wi_4*7EUqizzH#IA=nXy6VXN?#yOS`47z~E;aDNY!l`MA(LOl3 zaFpPLo+{Mimz{|7%|I1T(>2&#pbvf$R3~n-X_~xBYRp z;qKb9#FQwf(OJ94VvWWLFQ#9Hv7>b^pt`DyX;UPK@_4-kbOk<8`d$%%zS{yy1019` zx^PmOma|L{Jr_Wp+rsS0)p#?Ty_WGjOSig7)n3a3n0qZu;aq5M+1md1-Ji`%NnKW> z_Z-5e{;c0K4Ofxg^L+JqG?jzbZOr-=)7Ts76)#|RNs+yFRYWmtY0zZ`(o0^LBvO)X zDmx2r$Wud8h}z_wse#%&OyslOrDF}3VsMWlmIfBc*(tV_W;D@*O?0?85$h$NCuLJi z9-B*5+_O2_hFcM_Uh3j}A(Iicndrqb)XdI0_JV5=(Ozt9I59rf$EU}sf4wr@67vc? z27mltfr^&TdR2o=H>wl?^^(TB)l7Kg7Wkv*ByDERdh81xk=QjI+mvqWQ zYwFzFg7$a(u0f-Zut#V#xXgWn%WJ+ zp5*Sy?OHphnIqeBC|iP6|d zZ*M$taJ;XtcO=mt?;G-_oSOlJONMI<;G)#YQTcAk`{#g$A&X<9x>iW)m6jp5DPN@~ zw667t-O|Cc^GI;hO}n@RI?vyvb6S-;87pXcRU20GvVT37l3iVn0-oK3EIZk)>zX`S zfKc8~B?`U!*gq&V;9w@FsAw&2P}rH*j>_4TdeWPTYE>)%i9B1U$@!_1gW@SUQ^;6+ z_}h?bPM*c4gQo{M-|--^@sZJ?mbebM(YV@mD1_>}%kB-dlB{tWu&jes;_uIC5PZ8- z1@aZjFOdzxfg@~<)li)VvYOxoWjc4Vgnv!Bf z)O?KpeU*@)E;!=h0`H&S0b+;$thPtW{P{2+!|Z(2I6<=XTycSdO^D3{ZcM;a|Eq-F z+Y`MTY{fugxig4ra|YVAkFlsCw-1Nw1K@VcAXrNa+0XW{15Q8hw_UnPacsq zy&$GR6EU!jbHpyT#0(TyIb@6`#cbQNv9K_Q9A#_#<7&txs99Z8>GZJLu6jnx%D2uD zH#{pMWu9(w&EU}ZXm2YWCETA}<0x0c0$DBOr6`SLbw^&FI(e`FN#<1cnvXXvQ2*I-^R+mbZ|+|yiT8vWBoZIda? zbKG3->W>ePw`jQt7dBVD>aE2k=0qQx$+h>|V4+Ea&+@2hCut}34RzV0XT{bUPiwbk zRD$(*Hm|0op@I$_wPM5GY@cIi)vhCU4)#V3D8p|+2{%4h83`6!SaTzXUrUaziYg*K z1l&Haq1@*Z6ow-va33_99uAeQ1fw1r90`VdS)OdX1@60!Z|~m3a6L4Z0M=9l5Xen5 zkb&~h`Q^fpIzLW#fg%;u^^l_Xb-;DeSSr|DQNd_Zlcemy!qk+c^|SVZaN2<=u9oII z%Xc|7YH7~CUDDnr18$l|6H6tAaEryi-sKz-rngvZ=|oxyKi-7cYW5P%#<0pzUc1l zrrHHCEYV1dloY13iMkFy6nWT&FEH&)lc$OUW@8TNxkT|z! zJlz^0MHY!%>C-;y87ibKo{&~llGKB~r+e5oF{1P|uh=JtsEOZzC_7=FG{ z!xPAAS4h*Jg{sU@ms+mXl;2V-(ogvM(OamWP{Wx>Kk-&v)pi0;KNms(6E9>YC2eTR zURjxD$gIZqIe8StGjppb;}o7;HuR+ndEyp|RT#*$g<+p0u(!LSg9PC_qPy{wv8od3 zj>&pjVvA!UNhA%DiW7-jmgUb{CkeLDB$5PgNxTG65|w;O04w2C;J_OAz;m543bUNt zETd?+q+#wP(cb0cFKeAf*vv**BMYD|D-sF8xC8Iycp~ZQPN&tR9f&eTpN$SEy|&B$ zfYRCMfKtq(ogzJ;bT8ifU)BewlA_li!pY$9j;Wr(d;M!Gs|~BUZpdZdPIlc4KH;M3 zXfuY_X3SYU(QJm(X==H;*L_rtZL#Wv818!AosL$jm1BO2DtpNUlrCUIBCp0%)%xCe z_d&S0V0dIG);l`d+XKybp}kCin8ar{zTss~^g34ewJnZg5atD{5%Rp7ceRappg-Q* z60r2vRZp<<`GM_?-8$3~u=H|OPp}KZ2YbH#X6?pUtq}4mKe(OY!(C&;wR$7A0xi8f z*7N1A;)k|BKH57nmKYrB=|whDYy8k&5Gj8+ubhKV-qO=Q zY6h6`-lJy3)jd8o1ikLZ#z*4Fus8a_=HQzhr4JlAm^d`j-;+2xG&0b0v>)AR(F>hD z-!%spy|Qm;r1#Ls(0IHjad2Q9+dpsigUZ2@t#Uyym4=D#@wbq5SKMrxoX#becC9&tIB5HWTq2W@P-puX!W;s}?l?S_HLhB~%MSf5@ z*rru3sI8c=^a66v*UDk>u)>8Ef5Kkkhm^yjVXX^kt0wGo{P1#EGb|}z7liC@F7*S+ z!M84RUG{(s^D;k}9Ng+gkN)lEO;E^~FZaXD!ND#a?2V6G*LWbKyuuG92e-PcZzwiC z+7g&o`oZMjQrDl{y=(hPIlFsT(rV1TJvM}YgW1+9#LBnn&Ben8Ic$)T_$-n(OIEK&6r^P``QSn1E<@b+r!@DJhEP`dRl`LcD;ZUJDgM7;j*3sCZQs z6|ZKa0`cyNdMYZX1sJKYvWUuu*{~yCyHGzbD%b_zhafJbQtzO8L zp4FwD%J12DLhQC*&r`)@>fv&dFAILTWv)9AaY$vCH}ubu3k8 z9YWi6CCkPTVu$g1hH7=h*CO4|#t>q6?X7hhsxZW>-L~?#KufvXw(=P^k`Nn9UsFd? zUE@}I9eC)Srj_rRL^!|h|O4n9CorBUX z@Fy8oBZ%FE>w}9rmGWpWtlU!J5Kh~~Dxc25=xuC_PF1D6PlwUY!|#H{i|Xb*PGeo= zt|}5;oqTHh>MEz$NJMNQ+nB^q=eE^y*qPh!Y?{RPvyq6{J+*#$?dm-i>ItZ74*yrv z9Dak1L&V0R4LRhf!#_05;r#VXJ_fO8=EZduv9ja{xk+Np;(i+&H;DZr>$$0f(qVHG z2R14Z^kFt`5L+c)TBjSA{o>p^Q8{IjWx53jNve(mE2r70L+lcGZt6m{U9MmQqPh1q zpzecg)FC#=+g_(SuvRVTn5R6>MipXnxcWQ*_ik~@f3mTH*ch#T)4O8Q1N1;LP0R#2_*BA-5*OK zZ0sPmf;uNVY+@<1^O`Dl{=ABv*R!#M*aNA4F%nW!B<165*b)2xTu|qh!)XYlJi!M2 z3|>a5(S`(<%Us2fr3vUD#VO=`p*;)K7XBc>GC^*+!;*(z~FyYSLr&m8n0{T|U~3+@}Mx(MjZ*CvtL$43ga>e!8@^xHvl? zWv6xG{SFo8OVZ-xB7bl8DKT3$vIusycr=^D|f*UcVB7SJtg3e?1+<{+sH2XG4~i`uR-?3 z;Z~@Q!X#M_7cOit$VP)~GRS6wYyloF493dXd{kCeO!jAq1f<+5W>aa&n-7KghO9tb zkk8@CqrjrPCYxX_9XirGGSEFdjNS~EMu!hy1cEA?g3kV|E@@dY?fs@f`A;-dz5&X= z#Z-Pr*vkJJu07~-n7CD*_Opx&FZRC~?%Bh{qM@m&yrg?8qD{QRQj3EIT4)b1xrmr| z!TV?-3!TzzpLknw(XHL_o&o4u?&TiiTxoIKhQhYKZxD(oi=~0 z_6N&TCkND%J)$m+$r&H_4^H9Qb2^1fxV&)X3S6hKB6X6QfW~|%cb&s6JS({1ssE*; zw~vnX4z^$hTwON<7M{Fa5`7i|%6%1sS7+sD0I-UW>eu3`e$mN6HS4=PY!42Wf)Sh< znmQ^;$9Y9M3wOc;WJ#vWNB|X-AsCUGhW^VU|T~}lFik*iGVrp2_ zeDa@={P<$STkuE!vxst4bujoc8S*Nr` z#-HPxR)!%r=1Fb98LdpvjnP=VaHcd#ddVT@mEC4NQ4qRnUNVcCo7_rXG%y?+9phuU zii=~kGw3DHEqQ|dcdA@Lpod@GiCm6g7X#R%+|aIyjc4=nbXH1@5>?avVE@X3y#fz* z7j)(r5c7Jkrumf#G^J?Ixxl`uro5r6yaiL2k%Y1Yy6@6NQN~$vFz%(Va5h-V)5vI4 zk-^X#^`2 zZ#~?Cr-x;+w3?S1Rmq&g9C-FD@>T!38O?_NG3_rFblo83FB5gVRQ|sVroF1)I@D2vKDAnUJTaa zw$_LuvJ`V!6a#poSVnsv+LnSTc|Hs85v@cZpTc&dWN7KR#(9e65NVFi-c}q1ZrXx9ocCajLInbL%k>s!zZgetByT{akR-&A) zaP|9#Ceu~@VZGB8krQEZBJ?&^ER|HWF{V0-VTvsxmB10uJ761S0)BNZQMql2(7R}n zRI=f4LDFW1C2dO8GGaC<#nb{lO~@paSp*%C{a~^m^!8mOWo)Wd1}stTDoEL+PbGPH z0coTSCT-9=hmo|ga5ODRxga(o+Ci1Lxet1^GLjG$n?mS4#UuqMu5h$qx{sYD=VQa| zGUk)J&xlyw@Mm`)BeIFT#8ObUVHL{`dJ*UY{dq zXrutgF` zgWTTiy8kRm8zf_ptU=V%C0fp0m@F=cj}Ht4aD21uy=9hp(o00V-Y9hB3LoFt2>L5r z?T2q(`1ls~bq|bUYjlktKn^dkvp?R~AMYQ-#(2ID##b+-6OjYZWk2(zaNM_z>9Nq47Aj`Q7Y?cYgTlJ>SCHZNAq;Pj9>*eX`OEGCb|?!tmj4vf#p% zY2$r;{jvVu_*mi~e2ISgmtKwG3Ht8vL04`^m=yEU_BqjI*acqs6m1MTY>>kS8HvvV zesk5f#f{|-(kA>l(gRibZ@#G4SEHU2eg2f=^h_?=o1P=R-IRCnMZKo_O}D&*i*gG+ zBg^kCS1tfB=W{F1^H=w9P~O59c;yNJ6ZjnJWT5;VU*v16CGPZl^=h2ZRC3-wOXYvM zf6o=>fp^5y{WYjLp7mFLOy8eZPlFx{HR3Vz>OgZ{-LZ4TuMt zYn&X+1B~O%%4s%Y5Kr=6RILvnhSRxToZeJ^ z#>NBU5k-FjVp0baPhPY4GYc^S*nldxLwmCJcL@<|?qXkTv zde1s>vLKwp zQNGGX58{!N%1yK8@~rllLFflilwY$^f_T>As_F?iO|}nX1B(ywL=AO&BSh( zdfu8~w9Tq}Ybrn6tJb$BKh=(vzsswZp#icD{smJFZ*Oo_`JOJ#t|aiR*-*D;v&SIE z4X;y+ox?LjlZuq|xjHFeO_)E#C1jvDlzRTecwW--6JwH=k>k>-LVlu0${*L&+{BnB zX7j@{G5B6ypNI|5=tRw$Uqhe7+{FIm-qcs%tRQ z2IRa?V8$(A-dPtgFG@?`Kp8(3IB!-!`!9%8_;ke|I~B zFSaxIAGR_0;s!aJ*CDD+&|B!mbb>$!+B9Uwyxn~pSi$0Qng<|ao+R>8JLf}|oQnhI zzT&e;ihG28zsKDI?3xk_Y2BU{?K>-$>6)07GUocXjaiU0IaSjWx}0g_jL?caQBTqm z0oXu*8<5&p4ogynOpX%K#_n=OnS;a>+_mQ;hBnwm@3M?z0>UZ1jrFjasvvLP$eMt< z0=1n($rZVoq?ja9A_q1?_PP0|4Ju3&(#}h)1r4^Av#ZOuaonc-k+QTSPIhi1yPz0v zk3setWM7=@kB5*zjn^em&07#Ug5DC_WQwmVr>WDLm`P+s-_WTIoJ8j-HK#+>iJyaL z8$B$en~4z@=ItlT^02j#u$C4+@lzYrUo4-T(WShz$=tp?tfMm{k&?{30~Dk{St4u& zwl5!xAw!w-EwXQijN~$zUNbBvb@_zf`l=1=!y4)>GVu0Jq3x+ynuD`YX?ZdwYwa6Rt;p*sSv5Cx+d5~@v)Ug{#tuplz^8hoDQ~6m zD)b*bIJ;$oIpqc_NUFJ+5GKRCK1k#w#F@fGRbF+S8z4e3l-K_C@ z%Qeqxc3=QZ zcio3!UiZ@Kz6sU_u=1uB`^)C|46>FCxY}EQ|+{G4>ut#CY7o z7(>Pw$9#`3wlMY}V?2a8A75i(?8U~2`5xbDVeCW1c>eHA@2R9&WemScX5S^m+4&(0 z@rMu*ue1=i0_`If+W&!%b`0+4?4^wc5#Q}sEVLg+L<^PkRLw`kbO9aicPzMng9vwx z1$PAc%R;YR?DzXq3-E)8fLB<61!)Ew>>n(!A3+3bi@Bec+hfCBwu7$K1|LF%yViQQ z-8$UrGg;8l<-Em${82>6t1Za=X1{FgSA4aF_hX27ms@y;MzOJ8Z(;p7KGyyrY^;KX z^%IC#H(2lW1(K%r$R}iaV=Ol6J1o?nL_}?e&O=c9JC#;XVk16oA$}MUv2CvgrHrbf zd*Byact3@R*Ip{bp&Kvu+kK6N_S1-HZ9R|bYObHQQlu>e5tj>ZwGjU;BH~S!-HNL^ zxZt!zFSM0X*l+qn7Vbw7aoh8FbSA5d=%M8!7T&)@#B2MfK4`iR@464}<3NAQU$Ibs z1`+i-OWnhgmXY(V@X6n?Fn<;iv;C&~^W8nN2K{hb;HQ3Sp?(w*^~SOtYaQ%ASg=2b z2pilpoJY(~Lq|h7n=AOV?BlY_w``}mK3-nCYt3`w-XJ#^T1OTUJ6MZt=N*=xb!v>kv`DAYMe-qy8r#XX^gXg(RLj zpvKm=95Mfve$54x(WV5qC5D722#6D z##04UTDTUTeVUrVaUhXCoQ7Qt`jGMTK@$@_5^WDMpe9AXs|1_$BWGa$`5bwPS@z#F z$Yz6Vfeq^mpAi;=n;$ujrwBN$G^&ewA)g3#_Reu8Ds&q^hbW?4MPZV`Ol0sx0cL`B z21`%}Lca*II&CU{S>->@aaD~+ldorlwcr+CsCdGF_@XR~@oZk6&Pu6BAh$sogb;k4 z%1t15;RyteE0hI7zlg*!*Ts>?69=TY%HnWak4PkQT_goOkw8FN7Re~R*e1bNLSETE z-M8ml+ow_Z5n%ax5>Fd&M5>~VNE&eK#oP`&W?CbS9e!x6x6 zycka%kS#Y2M|VDGtkKNw$yXskzU`jU>C)Ev8&_#t`b%K_zaG{L8w|41Ae*ABmu1IJ zkX~{KCJ!7d*lPQ?m*VNd2{0@>5!s44 zd&=V;JWW8+j)$$l&_-l03X}JDbj<6Z|1o6DUx6nQCu8274<39r;Y#3I*O$!i=(w-s z7iPfuPycIOpAqSDZkubb#8U;-eA=cXgiJ;gvQU^WL~3tIyb4be6+WyC<6@k(S+ zW^rvNL&ocVJaIs5>KK&n{P6#rsL!}c$B zyxP#cL_%Q_%3JV+;&LqA`J-}5iV>0R5}a}r;-wN(GrO9LNuoR%lW5+GCmJX%cC5=G zNgt51(>mepbE14YlPcbhrwYi2II5rrVM8_~O)Y2cy4XKy7L|4QCe7Z7ClZ(GII78d z*zU$rNyXoo9h({kDbXP~Cd=|}JkdZckYib5Y9=RY0rMnY5lSSH@SA$Q7f&LtH87mB zPckM)8pf~<6%r-V0wmHNz|)BI7NUrju>qE`54T7f0TLdLG@{BfzLjO4#*+pdkvgcV>8Sgl>kRzdU7|dKCk(iJ zaX`-NiMVt!h#PUXYa3q68u^g`e&q9bnt+?OOie@q=bY`;@DF%ufNK&=H9&z_zb<8% ztc3R#ieogQ{a9Yh)Gy-8WR#ms%&>Hqa{+im(L`IbOv~6W;mL(|52JBMe>N{^Y%AEt zMkP`U?~9zijIWmNTu#ce-OS>xmS)aAM8<^4nEVr-JZJ+DYD^$R8BNQK`}W=fabgtP zoH!pFdY@>W6JVY5Reae%$buvrQ$@R@5JuwGiRy7Y`IMK*Dq{d+s$qwthK8w=$Okd` zps(Yp!C5AcNGBvM&%Jak5(JYVzJV`@?)+FG7p!%5)KSLZyA$(GJXwI(F!c~++~<0y z{U`B60W}_$D58}6oK3lZ8&3|fp0(r<<=kWOf@cHsxx0D$-4^I1O1j5M_gQi(k0?>bYj5ut$*n{6Mvtow>+T1h5o8#8V0MCUdJKz{wWxO**>= zW)y4iiZyIZS|gjnElcuqJbgGe#nuNeo6;~^i98RJ=lKPmN?;$)jA^4Cn>o8<^DBHc2+|B& z8?sr{0!6Fd0IS~L;AsL%+)WE{L`)Z?NEHIy&OHEKI|ku@IE6`u4RY8ZBXKeczcCgk z;|4hrCr9Jtm_crb&K{T@K7Na*3dp6Ks-U4~B#OB#ir?Xh!U-l~YHlXT{))W-iMCgG zCBmM@(}ZIvVrhx-B8OST6j3KaruD`j@#FwCL8jk`n%$CKatQ9|4zrU3x3tBd@C4%c zkhpXz%=46MWKERq-ZRrw_Igb`Ib2sZTxCl`dU^Q%2j7Ygi7IQf7 zG1%D>S&Yr(*qq5MR=H8;oIP_sxD-(qaJiUmE&B7&Ax0Oop*D4h_UU;ocn7;$q>|CX zWHK%0*)r-4moHH~8h$*w0#PM!=*6}rw~G00oiQejB;vg#$IXzeLX^n*T8Tt8KhKyH z>);whp;T-M9C&DfEr|ly00Hb;M4?nHiY=6uSd>UE0pzkCQ7#p`0)^~+?25Tej=HCE z+_Kq-D42?Uu?54+zC^O&eDYy%GooxNb_R;u`Pi9gxg7p-`2s|VR4j`v5nh%h5=!_& zxd>4xl^va!m`*co^fgSX%);|Tac+P(_Yy?SRPy>%GgewIeC0H>ERj|MXywwDX(g_9 zYtwAm{b+*_<(kyN%UdRnp{xYzhzv>SNn2i5>JDCss1>N3E^j7}X$9_82GQAFmRkD3 zt%#DS)TqT(wqog7IF(2bOnP`Oq8{MLzilE$i9xCHoG57o*W46@N6n+&qqAX}j5<3i;PUH*SFPWH#)FJ5Gj zi{Z~+4*y>nC)XR~27}xP|JY6NjGGN|%QLn;@8AwZK~y5u0VzAJbC<;OZT>IT07={u zNuo4acieDr7osF8J2p{^&1YIG_`y9b5lYlK@tN8SesEt)1QRvFd*+-dA3T64kxH7R zM~=>H&E+#&&qq{6ZAcO+V=gP>21I2*3kqm!rNPx^j4dc;v7C+aV*&DGHzA5*9f%^6 zgF8|a)-QuVIh#IT-rV%Nvim4EMlhyMm@=d&aQyftq zYsx05I~9gDqPT_YHO_;>h}wWUc{^@_#JpuUXn#hg@FltljZ%E5z{2rE_>N(pIr9gZV7c*?-jI*#I_b&G@CZY93on|q~ zyr{mYs(1BZu2q^~j#g)(i6{{gAQ7S=Dr0lmuYk4alhaZbEJlFyd67nN&Rpq;8i8zx z9eY4FB!D)`Yn!U*!@k4U6i#_<({MEtRXBr3^(?hD$iX;?d6&x#o&k&`vdU)ng|G=mY$+kpqHeX;o{?{mzAE|&z1usEV0fe|^ z6~K=5VnzVXif!D_N@Bm zx51YqssIj&n<^NQ^17-85yC98BhBd|I<;A&i+fw3i|*uI1v%0M385OE+cNe{3v^)z z5&;}XWG{F(VLgke3kWhzKVsX90X2ENMd3u`Hfr3)t6Lxg+dM=vAcqYy5+|e3GGZ)F z#tm{LPL9UOF@xL=NzOaqwb zj&GncuoV&chPh!B{sK`3E5ImdT4E@fENB`BOAys%1gOh+1ELV%L@gCU3{sJ7$E<_r zoT4DHCP*ydzyCf-PqKA`^4b1$m0mPgY!T(5m|}-FB5DQN$x&Njrze{U8}9GunAbu7 zEBAVf+nwAZ*|c;4@@7QYK>tcAo4BfF%ymcasic(CWi{K3f+FFR$gnYYR<3`EC>%JX zLWKkE##(YkOyrT6Jkr}*qLA>*MXd;?VS#9*5GIAZ15qJ#XB}+FK`{jvI21AxW07C* zRZg_CUbD)17orO6bVpnrlrpL|!xVT#5+DYV4Wbz2xIxke$rvPS5H&!e<2{HHuoE4_ zn%puI5G6WlOu+jP-#@fdppKxt_!tx+;~{as@G067VG0r6kEo0-mNE{>C!}mB@@Sab zXc$mNYGG2#Um>aml3=7 z_S*u4q5puW6XP^ zO{9oL}FJ&IhpM$ z1vh&Dn*wQ=&5i`Zl(+mgqCl2f0_oGFKn-l{hVxPX8WMVO&36&i0P78EE@Hv0h2ua> ze-fFCIFY!us`yt#fk0N9bLf{kaA(fA>vMk+>wcDZ0mXLv7O?bS-dwQE#~6`&I9M~Et^gdbETM;O~5 zG!%-th}lK&Jvw*JBhpO(-TVYmH*lhi-d~dF)6`5D=TfU{J*`iXh2eFV+RqS`0)EI; zN_U?A!sLf$QS2EdO_`FWKSvYaa5D_AeSFC>2!AQf}NO#rX(s5X41?rTBVur z{Y?|6+#``NiR4#^B7s;o5mPfca5Ldc#1){JvFy3cN)*cmh-H6+s2j+pn4N;@5QCC) zrWmCeZxpSZ4ZdgHev7CY=e7z*H9@Z+uPP8|;tFyzDBe@PPT2go*SUt;{Isw7oBON2 zd7%26*OkAyP}HV(mhZD}7&t{1E`Wvm9impjGnOq}pN4Qtaioj@%6J-48IBdB`v@)R z9u+AifKvX5sFd?<8$y-RSI8#A?p+w={P@O3e?ruX+o}voI#JoW?EA#jRZFpEE{2S3 zOaL3xF`o=5k6i`bYr{K~eAc^pRuNKzBZX{YRL;OTt^jLzCt++UrD0uVl-FU(>&!<~ z1w^kERWNTNG&Cj+mpPF{m?W|QQ6jL(L?zOlHMbVROyD#TmPGns(#Il1eL!ipX+m^p zd^jCU9=0V-(X(#c>3sXB4&GEZfD6j>l%npusg8MqkP(aa%9 zA6B7-uf%p+5ql^cmDezZI_D$G1adDfnZyy2{r4{K=-75o>2zr;*%2o@w~<}Yy=;#` z_8Mg0S+ZZ~1kTnA(Mjf-lg#T{BZ~e!^lX(mB;*=;nP`o~WH>e;YQ*JV;IbJG{w1oi z;uVH$LX?Tizkp1b{R?{x5}6VvQ?dn7BO59)2xz27%IjJosjHzztC2O~Wlb(bR0`zw zN2R+8QZ^a&VVcW*m@Y=t1k_`eH8BcTv@@kg%&b|tjIH4o;PP$$>lXvoFSnTMm+0P_ zn)SPx|CsxKfKqskydzXWm}810_$8(S}}u`=JxWU)Cf~* z~mtyi#J6oh7@KQ(`io90%UTb%YR09baU6iwIS4(?)t!9qTN4AB@w(LbziF?bZ zKbw+Hg}A0&-xs%Cpc@gD0VZQm%;n$&Sabzka7l36LcSSM5-Tc_h$>CyY-{~) zL`8u6aEwG$XflVbM65NMxK+#x(hO5b5hXS5ERj3lXwU@w`a&{Ec-JEJB1&X^#cWs- z3DCX7M<`Jz0$v5rhY*DVrSXn`vCB(ZqLgSk8(=xx-x|HxB__P|64jaTc1QxEZd@xH z2w2#*VWRX{RiMHx2{MSN3)lJv&H)#sNEsmX^HMssC@&PIKmmlsR82DQAClz2`yVBqlHOb6O(K^az1O{NGW`q1CO^vDT9Ty zF6YwN>9okE1h6Sb5tRbD65FN>iqN_7RHTGXdZV~M5hG%f1#3AU4dQL-Kb|zjrouO?(uSGR36#Au0s=iBQuq zBIPChsHkO!a=NTCcGD%7!(Qc;q|3gec_mo`U&ZNl&FhrrF7%G>KC8L=?0!Tk(7OOY z3UKzaA_S%t$}FPJNES>M;!TLMpnWcHAEmN5W*LV_6J!ty1i`S8VS^kt$Vi-w!f%Yl z$+$s|#L3Y{3si3H4BvvN33^Q;n2MvCtV^SMN-eOJ_&A25iI6ig6ikNVt*sMNL{-q1g;GYvO41~`*snv1j~2FsY2Qyuru>zLO;|BLqHiEI$XAjb`oHb}-G zS%atnLeP)3Ko?Q<_?$HppForY)O|uq^lm8|EmgOY+va$Oo`(^I0h{p^VMHmdxtr4Z zG@>YIP?46C5_3|^J2!6Mdv2%3o4Ex&%6J6`Hy%M$3^X;i6hp5I%cej(`QB4Z`A~1^ zz_!Z1J(X=0w~}@{)x@T*_Ede^>wIds0TX3Kn6e_DLDUz`ikKE@Jew04&qI1E%Ppl{ zj$BMBm4($%JW*{KlXxCQ6wf+GJl!d!kaz4;AnR0RkILs6sy&-6BIl1bRMGNn9UXS% z`;Iu-xsB|C72>;kk@Qj-ca!Z_apCt$5gj?T!Zh5!AM^q6_+?ysSijwDU zl>7xmL99yVW^|%vw-3(*C^c$0EsaLgatRqw9=oce!z%q!zC^!ds3~u*8DPNSy@kM)n<=qZz5^Tmy$DtOK2VEBN)UIX|&d;zbm03OfE zNi`+mL;klK$Y0<@_YyJDC#Er@EaeFc?W1^T-LE#TW-(vwe^_8YhX;1KOUDCa zh${YnCe*?1>Tr^)jH|HrB4S-UL1*mX!4_fdJ&cHTgM~HLBCK)D_j;9uwWmc`4`I&N z{T9~VR$;|_uZJwGeTZ1MRP1o?sic|8fL|rE?-JtdJ!&EU5F+vo)yP|cdfGz$KU#-+ zY$hl5Y8vAe6-@an<)nrB!-%L|X*;U&BVxLM4*OLW?7u;Ty}4TABLz60oIwZvCJXq3 zh``rZ0~e$jY>|J!0{sz0&^01AuZzHj{jdf5Aw<|0RKM$PUDxDExEK-}`ePRKk0L_f zR1Lj9lT$Sv8}}0y?vEkjURRBKXcQase^{75-a5?vL)e)ApN07oh?p;~e$OwEG_^-Q zA?KkdC^q`VcbZG-Pa>kP3C)M#Qq!rldJ-G?1`GMah{$W~n$;r%8~0Tf?oT1&u33`A zMf_lGzlHkKh^T9HKB}v^eqGYwPIxtoxCA|9A^%%Md}%gFgw z`1Ds<*guPiz2?pL=ev7k4enEcHgnjzf0Kp&QAG5YRKI!9eCyzUz=HodMEEZEp2*AD z>9mxPvpL3Y#ca8^hb`30t2eE=?tZxzYl$habm*8LvoNn{5oYOxm`2C^goSw}B4$_R zNuoa<8|m$13f{~^E<2oaQ+B6JrFSPRzdR3`G^}V}9_EI&Vb&^~_3qwKbi?oI4H>?| z27e_Ud{=E*;#laf|8;EmSGNd%=cEBL!9rs}MHK7vf=dZLKBx^OaZ6)^5>;{Tepd7vsTp<)^IEObH5o*gT{d z;CPdx{BnmdI7@t`@)0&VL_9h!t1Mq#boA%dv`*QOe}^MMUR z^|JFbY!sZvqrkOaZd2g4lYv5sYAU|RM#W3u$JqF}504)orC7Iy2bwe0N;%EO#Qk_oxGbonlCOj5g z3CwC1LYXTT8_ry@KH06Em49U8<}G;Kc+8dVJZ<D_oNxzaz5cw%ZMCu(fFs|_uUV}jqn#>#u~Sn+Vu zuxUDVTDCtsoEDR8#>KR;b>|qaVI$*1cw}5!DROgctVIT`=LvnWe3*@o599IS zG9(9QbScj#X>fv#hX?U^aP2wN@({{0s5)ivR^X!&zrBNvormz)aoJUio$h=HbESHr z`~@}^K8DAFtKYK40&^zG+j{nMR6M#84# z7bYdMk~hzS=s5!03d|&>O25 zdQ0U~?d`Y9JJ|So9FMO$#|`Z@nbhP&E;S1}HUhqmM?kIP9+994A>%b1-W>dhje~Er zj)U&}SOJ=}g{Xt&*E2brZ{l&_ng}NNz#;q&fLvL^>}Dh2Njw5vnGK78kYo5`Yz%xG zj{%o=wHV+K#Gf`*;rP>+v2pU<7IMNNihsc5#5+p;Yc_`d6^|iTUbL*5&_j-|RZ;YH z^OGZ@e_^BODLjhmOv|vCJRZoq{LW;+=_v9CHU_?j$ABw8MDK88b}n{bjf-wza;M+N z1MCW`Ou!sWY4zf*myMDi;!)zNBXd&{U=zh>RcmFC9rKW8Bj!hV#MEkqgNw1W;_YJY zXCvq*cm&ld$0mrEa=dB!EE`Qf!=tHIM?F$H?1W>r&G`WvB|pcbq*ggLCA^g5*qp8# znf%i)@Q86O_e^6P@?vKv8v(y+9RYBG5L?-pchchs8v(z;Bfyn?Hx*#sm=z`kFJ`0Q zw|Eq|;&PJ$YAwTL;9YDC{0@(SS~Cz+b2EV!Ce`WB|H($c(|82bN+9g+WnVyLJi< zO4>AA?z}0slE6r%Zg7f?pZSRV)H>SnTuRhA5aa}(uVtfT0U{+X$yk+h35du;^gADA zqhJvt1uj+C6pTo@FgbXFjf2jXazHPu4N(VwWaD5dA_uNxVYUuv_u;%QW*JWLy8z@0mC|0PF{B9PB{kpx(fS-Ue;yK_)k|3z3ETRS)+f(4B0o z>}e@0$mNbNVB=_COF80R%6AVND+dr+sSj9sWVW2Qcfj&~HVU4PNP(Y836qAeu+eY> zA`Pzc3@F*s;4}ead4{(Te!<4TO^6J*E)40<9YloSaVtgLwm z8=nJ+eAdsf5h<;TsSsvZb&cd}*|>-!a^Y%uWoxTD6$TO2rskt;L<}Pm;Y!)tL_kPy zDT3BcGFcq^NZY@#p&vm+?`opyVPY6B2rp*=EHRk&0xlGA*^+W+8}oZ*%i`puJ9?Nr z)EFXhE)QjiB@xpk)*3*Qg}Qw76>Kb|5m|5ruT?DUVwyH(-MEwjy15N_sQ8&dHdeAN zWd%%1T+D=-jn>#`$hDdVW}E6gN8ZFngN8_ht2M7ZM?ejIa$3rQA_DC0c@y$?Y=r2D zgt$Tvn-B;+0ubS2HeAl9>~0(f^8+@PP9U=63RY`b8j+^Lw6BebTG7koiBBOC)2>3;D50Je>oy>*DksVd_>CYsul#hceL^=HY)CIAr;-py9zP~ zDmL^ndD=5Aq{6ld0cM1^DsEt-;w&N+E)!`^5L*=kDq|BU+cYHDkiWWx$ZZh>MgDR& zq(0eK=<#buiVsT}#arKvo zT)DPTC|6K3#`~1aN7zVtTT4j^KQn3>Atw{_1RE*uKqSSz4hN+i6jN~Cp^%XnlY6#1 zdYTRRyAXlb#2s;UP|BzpTRSHk^@X=GIpOypqOOTMhBZ0Zi@t>o^7{}WyQ&bVEiAi> zK@kEFDa=z&5*r!sMU*utjZ^=uS;6_Em$46Ms6!sg(UY#cm}$bm}+RzuK`{la(H zDENA7C@}AI4O;~rw=ubeZ?uMjxSEwhHwIU*QSi;yPykEm#2_@-P?LcI=UV}EI4LZqbLhEPh5h-?Sk8?s``2KLoI zR3)3gVdLm0h#a{#xai3ch(Od#7@MKh>CEa1?0;dS62_e%f1g!hByz`D*2R`>VcpprrhB<$Kqa zzqe4-rgxT)VLSPYZ?nCX-yyyg*W@n0l|C)p1IPc(M#IyHG}MX{qkZm`gG?^*kBGFm z`U;!sptSTAvdOT^5v#+?K{jIkgh-5+UIrzdsBDG&J{G^)DOQtof{mn(`FQuHx#G`} zLN+lfXL5l;2PY7>h;VXYZ)GE5J|Yn=BU>SYc|FolERO5>JR2(u5Lt08(I_k3*%`i+ z{FsfBMTnHRlIf;Ubf{kp*qz&DLm-*HB2HIljlv^GKy->FJsK?>z zh6;0ap=5O|9%Ex}DI#;OsTUJ-d1w*{T@z0-Wk(uXBZs_dg3@dRtwtosb&A;`2wJZU zt58lXg_?b=cIx-BF>^j5Gp@+T#Z1U8iay20!@Ab;(4U85TA4!x=-A|cW20pQA}t;h z2Ttd3m^jrYWzi6mx7virjK{cQjK6QHFBx<+V)By^4l z(0KVhTgiWbuXmqVwxZf(nUGTcIey3<5w@5_OTJO z7m*mRMN@w^C7lY>-&eD8CmSpKTg*yKEikr6Xi6*hvaxaxg2c0g`RBrH5&^zBeLLX9OJMMa;|0L2$OT| zMkK*CBODS!Pqp00MnkN%G{F6(g2dKFs41tBVq>Kjkrh|R9Y-7%D`AwyT7iY>N?^af zdVBCSY}_0|uHbttH1!x$q*#JMr=zHmU?fsyw_9m>sr-jdxtu zG0NnH1`$c{@Iq$0rZ8!^f{lhDL>fHeGMc6glZD&ZSU8Nxf~z(xUdT+sMW=8B2UCFF zlpnr}jge7AMqC?WHY1~jNnH~euik5lmN&D}GTu^J1`BCj&ZRjyb~$JPt8AY1ZXqOg{JyL}pw&9X2y#T0!DX z%pNvk?nETU<&~ZJM6a7x`MIP!*honrlHv+mZBmBSli^m3x)z9aec{5x!f+qYc z3fk~I#OU)1HV#fAa!@Y>v*US)B;3YE!c0p^2)nbd%0|MA5lL|EF&ve|L10^67Y?o;x%mXEM8@lr%4TgD50cJ#bbynS>pxRVi!$!(|h@`lxL8vs~VnazkDr(sw^U^-H zO-lR1tsyq__amZr8A^&Cwj?XqLyRVLHYVPL$b`$0j@~{>nK))iAVeD8!bZbe5NUAb zcc~!Eo|B_`N-ePEa2&r`Z7V;^#=~1%&x53~tw6nb`2W~=csn8w?(=t`hdz3(Dcsf> zvLHH-F*(n7&H*CARm8PyM7$f32-ikD+!z3NQXY||lV;!I0MUdqKdkVRUQ z*|@ZFW1));2r%hc9(lT;7T7|Fa(Lz1FNA{9lfX!&0o2{*CucYQG#gtFAhPAMCN8$Z zUXZ+pjff8*60y1>8wkUhyEl1Ho5$Gjf3S7X;L}#$oZtGaoi4B zcRQ26{V*aWt`sMwg#XdV8`wB`5RnsC$2`hO$me=QHUb_(B*3*JWQrm!FS;pN`mMVd@{h_xG9%p0WVMG>O>+}i>VFyzG$;QK{ z5qWT11lqlVSqVM?w=4XvE7!Z|1x#M_5kz`ig~4V62AcYYJ!2p$A8zCR7;sTpn7CLg zx3Dm$8Z_>AeXrcO-&w-M*%$6{TBhx7716=k*d?s;RCQ>3ulXk(+TPDb+utM7=3Wt)w1sWkzrx1B z7Z5pEY)gkpB-S2GeD+;ngpNQh_Ro@3oJaRjCrzgKRX&CWCA?$d)@xEoQ%S6jK#^gL5{@9(KtC~klW!AcffB? zz^^YPlO$=(f<}gSyqpXahf>d<7|%;ueqv10GICrxRme|3=hEZ4nwuEY#B6?eCI;Wj z>l3lz8MquGYkmz!7jqL+llzjAxMynrjwvxE?H9M7$jPM;k)HJt%vw`0X()I~s5wc4 z!h4mmT~H*M8w_$INc1L<-OUEMB~H2xaxhL}@p>`u1~IP$v+z?5BEInS?Dv+}n{OFf z=+Yi0(R;=<4Xg3qvpt)kVNvv!ksZMK*l!uuT+v&`cJu4--tubGX6I%!xXQ$`+yTPY zD3WX1EpNbk#dfrw$*G#2$k5ZWY=_*U&}){V*CxDoY=vG{%%y4x70&RbRgrBgE_%)CK4t|?r&!&_J= z6KuEV;)lQsl0;?HDV;@GHPLlW6Gm!$Pr_cC8o&f5FkJa zc?n6bE-sGso}x>i(tRbr{e(E#ABXLPruPl}10_hxhL>mc*?wUNW-devW(vh+i7Z^? zo`>CKDQ|A;yq0e0EFsIui^-oAlq~G)(BF7Fc?Wrre1v?C{5^S`{BQE_GVILj#)8P;uZl%L9I^0eNnGOma?xw?w>F^pl6zT9bI=r0@ zAEv|K(BZRmc$5xbqr>BLc#01HPKRI8;a7B+KOctk=&*(k=hNXbI$TbNJ#^ShhaNig z(qW7a<8+YdFhz$GbT~nmhe5FLi;kf6hh=%CUeM~9cv;bnAq9UcCH4)3JHyXf#B9X>*bN9pi6I(&@|kJI5P zI{Z5weo2R4(P7>~80OPqH67N_;W>1;lny)Tu!|1ebT~+d!*m#-gGh%-I^0DEjSlzF z;pKFAJssXahj-KAJ#=`84j-k%=jreTI{Y&ozCnlY)8Pkn_zfNYlMV|O!LX1HYw56# z4wuv63Oeke!(KY{(4m(OV{{m&Ly8U(9dtSr=F_2xe1HyrMTbw(;nQ^Z zM>>3&4&SE3cj)j_I{b_df26~I(P8;w7*^2XB05}5hv(5@2OVyqLpL1`(_w@TlXOVZ zAx{UL4)@aGm2|kD4sWEx`|0ojIy_8=PtoB^bofU)e2Wg>ro&I@@KZYcfewG9LsusZ z%js|-9WJ87b~-$d4mZ=`7CH>m;V>OUI!w|*qeGq!ub{)dbSTl`emXorhxgOrlXQ5P z4v*2{OLTaW4&S1~kLmCeIy_B>KhR;>5*WJZZ~+}Iq{Fpz*iMI==x{R~hUhR%hZoU7 zq{Cfw(CF}TI=q4o_tBw5hxgIp0Xlqw4xgmM7wPaA9iE`WlXUnI9ezxQ-_zk~IxJlZ z!!kN-p~D4qxP}hb(&0ur+(d^s9fs(Tpu>ykkfXz0bhw8OFQ>yB=x`q$-b;t~(c$BC z_yisPCmp^>hi}s12|D}-9ezZI-_hasbXc+shNX1aOouIWxS9^v(BTF;+(?H(I>hPl zLOLYqpwc1t|MPYxaB>vo-zUl5$>t*Wxk)&Z0CDewLkZyun*=1`K8Bu|p6pciVrM4@ zhoYcd11hZCh!+A1D3_pIf*_}gg52O=Q31gNJOBZCpWjne-PK*)GrI}C;lp>UyPoH% zqpPc{>#42*P6Iv%ds+fhu}liE3abFbh}; z>;mio>0p0~>O(4t$_5wZ$xIhLt3pg9N4)`wcDDW8YJn#bW2Jj~E z0q`MEOZgPzfqB4updM%d_5oG^>wv?646q(J1vnKrANUgRHQ*}XM&SE|ytrbXtc+ja z)GvXuNrZCXSl~F|5#UkaL*Tza!(>7ua0757P_{jx9M}=q2{;Nk8u%=58gMo69pDk* zQQ%GBFTj*3gsH$Dz@9)7NC9U9=KwzdZUUYKo&zeU5~_e!pbc<=3~(VZ1l$MQ5Bv@I zJ1}<|VIHtAupiJ3^Z=ItmjVv}4+3uhZvqpi6D9#IKr3)Ga13xda0YNaa0Bp5;0fSu z;2*%88HBmOO5h;iDBx%y3kYBfa1wAfa1L-Oa2aqN@Lk|Xz>k4PfJcGnfaihNfjpUft`S6paoa~>nZT~VZovM)0l*1>1Dph$3=9EZ1#Ses z4?GM!0{k9$1^74c4p1|PFcw${ECO~1_5juZ2LmSn4ln@ZfHQzE0G9xl0@njK0Cxd* z1CIkg2YwH{0(<~`2#lLcs0HQ#bAerf-GDuTy?|A~YT#JlIG`Ko0Zsu<1q#4v8G^;Ge+1fD`5u9N??KMLp)0n>pUft`S6pas|$*bi6-90sHT7Z?Qcz!!ltflGi(f$M=AfO~*@ zfhT}p0lx=c0saa63#izMPzlTcW&%rrU4Tylp8^gA)&gn31vUbkfU|(Jfh&M3f$M=A zfV+UZfyaTL11|zE0dE3-0X_ge1jf-lA!>m+z+7NgU^ie-U@u@5uo^fPI1cCrdVo`a zQ-K0-9&iP4B_S{F9gsKPT{v|&@HX%dpnWl+1NZ>=5NKFJXatt;O4tXu6u1m{3wRs& z_HKl$f!bw+@jxEf2wV(Y0^9-o2zU;79{3ONJ}~?rvT>y1>kbv3gCOd^}wCLUBF|&5Ri@+Peo51_P2f)~R!Z=_yFbCKL*cI3V z*c0dkRsqKV#{wIGZs26#6yRK-09+1S0ela*9=H>@3wR889C!hE5qJZ56L=r^02tdq z7zfM-<^a0@y8?Rvdjcl_4)6uwi@$I^gHPFMzj!e*n`zMVJA668IG00vVtHoCn+j+zLDoya0^a zn=l$!3hV-`1=ay40Vf0B0KN%43Ook91-uPRTTYk`>;-%hNCGL~OyDfwCg5h^1>i+s zyL||wfE|IIfK|Y1AP;N=t^lqC?gQ=z{sg=Vj9oz(2h;-%z+u4Q!0Eslz_q}2z|VnS z0DlMG0%q?^m;>w$EC;%PEN~uhK5#Q|3-Ao^EU?{vgi*i}U@5Q`SO=T}oC;h8d>wcY z_!;mT@H$YtKVdx32s8ml07n8R0Ve}j0$&4u0^A3@0{j7}IDk+IECH4RhXQMXlYvu! zZv$5Yj{%PZZv+1TrXEO`2DAemz%jtFz-hqefNOwjfyaTL1OEX23CvhYm@Br{2@H+5kVEmzk2|yFj3>*m@1$-7b4fqal4e)c|7r?)PcYxVz z33GtGf#rY;WPk#29&ihAEATw<0x)VFVKlH9SOOdj90F_vHUU=wUk4rl9t2(o{tS#i zj4%Oc0-AxNfn$Kr0iOr11+D{r2|NM(8+ZqpeK=tbus5(AaDfbP4sb4T6L2%|H1G`Y zKJWohcLZSpZ~$;1Ab<_Pmw+z=w*t2T&jHT^{{=n*79C000XPs?3G@KHz$L(?z}>(- z!0&-qfa;?NH9$Sk02~1v37i6)3VZ|jCh#-hA>a+*O<>~Dgh@aLuse_i1TX}A6}S($ zANUjSD)2Ah-$2Hk6)+u`0qhJc2HJpj-~ix2;0WMIU_Hwzv{6R;UL6F3XF7`Ozu2Dlcu9k>H{2zVHH26z^D6?hGJ5BLu-_IScL zU@kBZ_ykZ7EC==hJ`EfSI6xA}0fWHlz!|`Wzz}dX@EzcG;11vs;8EZO;6>msz+Zun zfb9~5Nx)=a5wHW$0<;1L00#m`0Y?KHfNtPa;4{FNfG-2z0KN&_0^ABb2>c9q26z^D z9r!cwKJWohdjerRFdwJ`8h}P%1+Xu07;rd{1q5(1a0+l9a6a%2;G4khz#YINz@xxR zz{|itfPVs&4xtK|4a@;P0n`I4fPI0(fWv|HKo_tDI0-lpI3KtQ_&RVCa5L~z-~r$_ zz|+91z-z#Jz<+?TNy0c_K2Qg=0IfhLunI^3Cjfb1BXAyYK5!NAb>Jr8X5gp51Hf;9 zr-4_2*MRqd4}eK2!en4)U@_1E><+914g!t?jt5Qz27ohxvw$msuK_m!HvKLeft zo&{b9{tUbid;rv@3FCqJKpoHkGy?kp`vb=T#{)TF5I7S!3%C@x4EP>!J#aU05AZAC z*T5fvKLPIn{{d=U!gyc-un=egT7gbr72p6#AP;N=&IZl_t^&Re+ydMRJP7;@cn)|T zcmsG7_z?InuziLw1y}+s1@-{;1XcrU00&3{n}E&0xj+H968IYMec%VceZc*|lfYBJ zAAvss9|7B~Crkn+1B-wifF__B=mb^)#{tI!CjtY&>A)GlSAmOwYk+HkyMcRvCxNGc z*MUC+9|7BS5hef=fd#-qpaEzERsj0~hXIEJ>wzv{6R;UL6F3XF7`Ozu2Dlcu9k>H{ z2zVHH33wU!2k=jzI!mYl<^uD82A~mG4(tPb8aNbifFzIu27xnyvw%y1%YYkz8-aU) zp8&rCehs_=`~mnE@Nb|}5UPNgz${=FU{_!-;FG|?z#)JGB!N7z5jYb#3%DG(0=NOV z5x5VyA9xaY3V0QG4R{~;0GPCaFd5hp*a>I@+JV);8o&XPz$Rcba2{|za0_rN@F4Ir z;5p!V;4i>mfic~LGGHn&4Ojv!1@;0y2^&;9}qs;0EAE;6dPLzze{O zz~6ws17ms#Wx#Y`2CxKJ3hV*w39JUz014m(;6z{m_yX`n;8Nf+;0EAE;HSU?z;A%3 zfmeaofcJp^0JVLD@xTILAVPJo88`qq5I71r8rT4I1E&I?0lox$8Tc0PZQwTGhrmO? z!@zUE^T1z#zXBfu{{<$TNSFvL02TsGKr^r(us?7Fa3qig1aLBN3h))+0^nP~w}IP$ z9|Dg6j{+|NF9UA@Zv$fn2xY)jU>dM9uo&n7b_Y6vRe%E|fm4Cc0AB?z0&W0qB;*V7 zdn{VdDt?KRPXKQLZv&HagzbSQpcz;P90ufpjle~~#lY>r9l*1M$i>iWhO_O7=pWpw zZ(#oaEff~7p_H!!?*i`uRg`N{4a@*$0*iqqKs(R@90;rgjs%VZx_~SppD#>E3?>G* z^t*}NmY!r^H`XB+#%JY62((>|ljEhyw3E&BTwi{GwqKK<#U^su^|Yf+w_Lc)-Zk;i z&Sdr?*v2<-`9g)$-JM9Mu(Fv~Ev#$Kp{P>J|R6UJs~};J0ZR5ne=BOuQ(x*B{&+*YfVUGC620il?jPt zaa70aOUU%uI6942mXO|cQV(lNNbeE+sp8cnr1!?6?Y2AUBl^c4=uYZ2cA)4{?0cr8 zUFhhXa>P^rX@ol=MRO$dXZ7e&?02U0PR3!`D0Vqh?Bx&|&Cce|a`rTLo|G?a@A69g zgu8jr9q3JD^1UfuBF^jM3KJXKTavAg)7arOHMg}ir-$Tfxtmb=yjqS!yjqS!i)tx? zL%dp!L%dp!L%dp!L-3guCbp$o(k*VPr6bjnN!B~_OuYd(b$<9yAWI2aQAQLE{j6&^W{%G!C%`jYI4~ z;}Cn$IK&<_4zUM~L+nB0&@IhWKn}47jYI4~;}Cn$IK&<_4zUM~L+nB05PQ%##2z#b zu?LMq>_OuYd(b$<9yAWI2aQAQLE{j6&^W{%G!C%`jYI4~;}Cn$IK&<_4zUM~L+nB0 z5PQ%##2z#bu?LMq>_OuYd(b$<9yAWI2aQ9EJ9J&K2aV6M2aQAQLE{j6&^W{%G!C%` zjYI4~;}Cn$IK&<_4zUM~L+nB05PQ%##2z#bu?LMq>_OuYd(b$<9yAWI2aQAQLE{j6 z&^W{%G!C%`jYI4~;}Cn$IK&<_4zUM~L+nB05PQ%##2z#b-MN>pEB2uAIrgA&h&^Z= zVh8i&|}#v%5gacI=uI#)}*&{{8a zk{9}h7kbnSz2$}2gU0sQgT^8DpmB&jXdIFrH1r_sLF04mLE{j6&^W{%G!C%`jYI4~ z;}Cn$IK&<_4zUM~L-i|kiP(e2=h%bBA@-ngh&^Z=`n#vW9yC739yAWI2aQAQLE{j6 z&^W{%G!C%`jYI4~;}Cn$IK&<_4zUM~L+nB05PQ%##2z#bu?LMq>_OuYd(b$<9yAWI z2aQAQLE{j6&^W{%G!C%`jYI4~;}Cn$IK&<_4zUM~L+nB05PQ%##2z#bu?LMq>_OuY zd(b$<9yAWI2aQAQLE{j6&^W{%G!C%`jYI4~;}Cn$IK&<_4zUM~L+nB05PQ%##2z#b zu?LMq>_OuYd(b$<9yAWI2aQAQLE{j6&^W{%G!C%`jYI4~;}Cn$IK&<_4zUM~L+nB0 z5PQ%##2z#bu?LMq>_OuYd(b$<9yAWI2aQAQLE{j6&^W{%G!C%`jYI4~;}Cn$IJDqk zeOIstjnA_OuYd(b$<9yAWI z2aQAQLE{j6&^W{%G!C%`jYI4~;}Cn$IK&<_4zUM~L+nB05PQ%##2z#bu?LMq>_OuY zd(b$<9yAWI2aQAQLE{j6&^WYsovumtpz%5OpmB&jXdGe>8i!u@G}wd2=h%bBA@-ng zh&^Z=Vh_OuYd(b$<9yAWI2aQAQ zLE{j6&^W{%G!DISl)eh=LF04mLE{j6&^W{%G!C%`jYIgFpfE9+OlO)1&8enjs7I28aE#MG;Tfiaywtz$YZ2^b)+X4>pw*?&f!4xvZA^x_2L;P(4hxpq9 z4)M1I9O7>aIKcUQE9;;Pl9keDM}ss7xe!>8F$uL&woUSC`y`}(?v3e|46+e2^F zv_Gs{n9)$*oNQ}uXl_kr8rquMo0b`h;vT9?QXA-7KU5f-c5|tLEdP|@khqs(+`{BT zoPnI1UQXGu^+xw3DS<^+0uegmXGo|jA-AvPOv|*(H)6(Ms4!-u(@n-^TE;9D@l#y? z2LPGJ?E~rY4mN%Q;vp`_4wl_0CGiAuS-GBmBY?I>LCta|yAFz~MlB_tgpyfN!I+}; z6BOl?v%Q1ENEuS%*{GELn35^`qE*O960OH9w0$)^G4T@8Hmg1qRkX%KvSYfOTp-~o z*5!hP_&w4bZ(KS5?0icjQmiVGvo5Z9oXkcxJuNF<4HwokBcqBIHY6*v5WLF8v%r_> z&B!eHQKhrs%T{xiLYG_RVU|^qzOZ-;nV4eKY&dR5OS_2hH0oCJJ#OzH%M5rOjJO}k z>};7TDn8wcRXu_D1*|PDZ7m=_&Pk`y3v>RAwpl38bzxhJLKQ{wZ0As+QuW&0h06XL z-AAEnz&$aa9dOe_G=ItcJ9W`rZg)R*baSoz1QHbgL8fPi$`m28t7WIOPE`W;ALZXG zS7A&xy*ax3)uN&zPdTz`IT&5KmV@#&*vUMd!2Vl)UdjjiHn_c%o7q;`3~@0I`I#9i zttGJ3vQbK7l5Zo?Pd|~K-Rxye)KZ#mVWDNyRuPkty}H=Mv}q~VU|Afd;#iroY?Hd{ zR@t0m88wB)bYyT=WIEEEl-R|xQc`82OsBsum&Krl9_%`2g-SY^kZo;&W!O>^bCAdR zkqH{srC7aXZ+Lp+=vm)4;3jAQl6U=_mN^)L6~@q?p|1L<8#bUP79y+R8#Y3u}FXShEh#G#))#+sv|-uH7R@nb~wYb%6Mdq(U{`Z)KR?GA(-%7DO*>SM9TQ?Fwq!y~y%ROV5iHIY>`UB%Hy% zo@^??8=yKg9HC)9G9x~>jN;4t2GZ^TjYf7NA8B)Is?{ZDX;Xc3dozt!qcp`vm>us$ zrucUUwLP(kV%@_0cwdkL3|q3n+-w zU~Q&XLZ^F^LqGT3-Iv;s$PBpr5Tz*z%s+4)x`n0j#kG{h>A}2aLzcxE6tCb4z_wM_XH_In&b7(y+`I73XN(w5xT+xyVC- z5TmO^#h0L4%WoD*`puqPD$70NymV7XLtDC|t);1reio)FwJaziE`VNnY9Q6r$oEBA z+8K0)MAZ^HJ%&zGo~Kzhq`3GhbSvo~(RHF6yIw?RSXW$3A)3sHQe|mz87p_Wo4d1_ zEqoVv%29e+P+ZA+$wr5swV_0#^t7P(I_o)&Nv&6?AOm=P;tWUWYGLs$=vL=@btZ6+ z8M&QhmC_d#*Fd)h*+|kuu(df{)Y+D@AuGPi+Q`UowGCNu1GFn(FP{&mJ3TU8k`q5* zE!bf#E~!(n<&}iE1@e_#(Zg;AT3Y;&m0>E-hT@u!78E~{dg*R=K(<`}f)vUfoTip* zH$RRc1#uVjXF6>uH`C@gt!*8R4K3*o>S@)>xi@Z_OuzA)=GO~9Qv3wki!AL}(K7WA zl+%2Ln!#+3OC3U@Cr7!QYS{@$iw7w&w=mu}&e7r_r=^=rc5T?(B9ZWzpUo^eF2^Y?A#dF;!HH}HNN>6-b9;w@xhzGXQ|Ogy>UcH4O=mD5xfJ^S#!FvU`rV@h>Vs--cU z6Yn9pS(bcQqFfInm5FJVMo3_+w4g?lA0d@FmX0k`LF1-CUZ-11NY3b-e3c=bajOrQ^lPNLn^s%h6V}}*Ru2$W^ zg$A24s(9T5Wz~d#Fh`t`-6)mFrotWqnOq}sVm6gJZZ+l?VAK85@i zZ8w%QWsMv)QCW-5ScEV#MuTXhEgL4qex>u|+mzDd52OdSkVR?ki>G1&}cXEp%an`K5k^BI0i|Vc-)wxly)yo8k&WUN;@nQNLxh; zr*zt;sJPD<^$FasG~lxu4>ez}W076$hxD4^7Ha)g1rd=!;`1!^D5*;7F6c!#Y*#K{ zurGNrY2)f^G0|P>>IWq`H|8=K^MMkbn>guEZg}=*U^uz)C2PpV)7`hJZ=gF()n1t0 z+R@NXi^q~K&Fi(+x3(`c;>AYTt{~r++Y4#+rcj2PnY#YzPK(>&v^TjO>10!VlapR% zN%mq6(Jf3`mF?Z&rq|F>SVo*mX^^YfvSq7?&mudOV^#!s_=MJMW1Kc3~GwAU~YzyP*nU9%Ss7_ zamtF5q0S(fJ#jXrNPb$&WI#onk9^kU0KartorZV&zVUn13&<>seGzp@F~ z845^?3&R8Hamm)h|Pe$d;Oj^Z>Z@^m7bOVy(x}2P>`vF=v;+5I1_<)?aI$ZIAXwOX1x(}#` zYhkg9TLHO-{N^d25i_k;S*05;wx$_*7q>oZoCJP&4x_ zBOys~6ZB`ArejPkwM@k;iCbZ{Hj^Eo->}YQlil=-<^JWedz7G{xE54o}7Fd;SX^8ufv2pT=m5Asjqk71I zw0Hm(riCplTQYX%k{Jnzmvi&-FZDD_T?&Xtkn{vU>5yKXr56?zkHf-f`{vu;QY9Jj zORg;6h^=S0gMhU7H7r!fF4(`}WzTPSeo9XK23p4D4xBG`l>>ryhhog|sP1*b0i0iB ze)D;xZP#S9T&+4C8Ud++g?-Bg#l_29zv`rUjqPfU5USSJ^p%=rUBs}&!~@om1KPZW z#3{&wU8gaEll=2~G$qGb_Twl{(#V5;Jn}=fSRMj`(|pUp=LI6?fysbNh1-5cnR!oGADT!n^*41F5lE#z? zxf+S=Y@%{Gg&l1>QSxGY*qUhz`+jx(5{v~6L%hbuEo{Hq?OE;g(t<@S&i7pK>h)$i z*;Il%SeBzS#Z2UaDv(O#KP$1EhgP##7NnS%1D%P6xkz=pJ}nI~AC}700wwi$oN6Vj z7cjAaT4prCFcuYGXITj=h@H6TH2=%fLMnB;&>;b{+@YwVC6=;cHzZn-@@lM5-rM8S zM_cNuO}Db`i^}3ZOudT|o@5kBiHRoIUuap0lcXi5epW`&3Ql?HXIKUdIsY=q=?C>y z+hik+NNKSL<&BmNTDBt;#a<{!#Qki0^QRcPQO{qV_Q*N-nPoIoyyQ$MV%>L(3t^gH|H z)9EdK1&L{hi0pSFC26~`0nAFNUf1sPIbLLSW~CA1WaO2!r08=m%#aWE`3}S?zN!!43fs}CyNz4A9;^O32qNP zb}eJ+cz7a!E23f$!$7Pvw!7^pZE-qsHYbp?a0*gpH>-5RP^zX!0o_lDKL2?jwor;{ zX}aBNe0gy;a^|<1a7>X_6BeByhq4LsGssWXy@^gaDzL{?VFhtMGBd+3F^`RXgED?e zkt&K*n2^ZzlV6waV{fpn#>Q3NDYp=jy^xx?FqFN>_+r_MRH!DuwnKa6@n-<4sTaR` zp1im;boD|p#jajRv^GI2zG$UMHl64G6Kjc)||Jv-682X^2%O$PEE4@6i&`+b9unEs`^O zo51;Ey-h&S&#xN8@as{L{F-7IF3B!Tj$U>^mh4LuCFQ5f4~ikN3v`R5Yl``$)+G8gzjwe*ZAqpwwj?KCGJI{ct!9psWKp=>}O59tV}++g+75QnY@$|4@4wyMwLq5 zl&zsp_|l1z$s1DQkzn#xRFUK@*_w2|r=J%D`@2vS%4tmQVoMVHDj4G87r}g3QAP4$ z$<|;O7joCRW|v|oZ%B!!g2`J^MUuB<%lc^j0bTyZ;wnrkmiJ}4o%K`!QybgUZc9U( z+tl7z-`djdEMr0O9MYaIr{2JDcXtp!bnB@4v>kIcjsIeUG!qXQG4Q}zKTs<{2?99J6ZXc^5S)5 zV!9Pey)j(e;%lfP+SMWD=47Lhb>`5PwpbZrD=Ja(SJ+D-iKBh zdMr>>SvXuCU)5&-$-gSwpb15c9Z>Cf#(Yn%EtnTPKh`vd->O#khau!FMk>Z6i z`pe%jTRK`uR6(bT+o)6$)pW**sB%w6jDt>j&jzU=Zx8VSl`pC&QcO%>oq-;e2wH~| z(b%Mbm<;I(dPhiYl2?Trup9{6O-ad#shmctt3(=7K+J%284b62frfokbBvhHIdM0; zsf|48-L*=6zi($l35j`}4L=vN)#134h{w(bvg@yQ;bdGu)yJ##Rma=d<-!DI@ET{X1dMKI`bvM!9sFuvK zVi}i@zpSBD#7=Y=bt$EQXo55@r7T!PPoUyNtCn$>NS277BT6C~5%`Zsd#a#z= z)zjC~8{Glf^+nzCN?Pm*-OAjS9Ibi9J74r|rQ^lkoK!aF4AS%<6&QCet>m%pDJ3CR zu=%x#m1_^(?*J&^)`+@swTRf?)7W?Ap`|n+B361DtJZXu(twCqZON21LZ6(5OPO_FuXG!G5;v{@arghj}_{4_;v;6RpEC;z;OJAF*=({f=C@Zohqz zkZgsstc&6ciDRHO_6X>#UAKJQVQYQ8Ikui5CXSbyEB9Z!@_;qVSD7hBXc}U|;nE$k zZoflUldhkjT{=%jq@gn@v0ra4Kj5yV_bGR9Wv|?vV4>5PYG`O`chikcjqS-M+PuyZ z6YHTrKCv8br9){W3+gqvJD6`P2W5nSW_98a>|Ju$0B@jB7?Yk|G z%^PFSP#1Yw_WkM8vwix~TPTY5roxzFBO)-S=*N<6>fIu0Bd8@#g31&tQR;zk9eXL3 zMsu|7j!Xc@{Bdt#9G244H*|70Eb2!s6RadogZ&v+q~`?xBqj}KHYGb+JKCBujj5JY zb8`cERei^!dJmg$=n<=^nfNi{3ou=0sYc6?y%F(Z`|66 z_YI^`q;Uu2s#1OZTkvBV+zb2>gYYqFx@GC5qAlH?YHW3z8yXv1J6c+tWuBV~hOl_R(AT+LEQ~f0 zr>}DS5cDf@JT^d!C{$#eo@_ULow*dR^HsEg?O3wdGSlA(?+|-CnNsm7WCA!G+9(U$!Y`i zKE+KLN%EUBZOxI-sMQR%F3XFjS(i4BkuQa;`vjd+0}fk_MaA<_tLUb+#A-f=%UPME zU6s0Nqu;1HQo`aTR>fRJzfnasJSyqV(nCH{Tgi*xL7Qf=22tho0>>rB>jTZExf^LV zjbH0{=AuwR@#H|DS3U~JA7tW8< z4vLLc%Epa2Cr;Cl(Q3v$7^`N;(D!h?X>zyl_2FC9*o(;SSG2SkkNVK%44#cGXHaaM zt|Z?7K)i!%H8-xHvMov>T~edlh%KohQ>)SobQ<60jV09Tm2er zm(Pe7I~s|tz`l39Ts5LsluBAeEQX$HJ1gj2NX@nf?_k+S^aGp|H@fb)#92Y?2@~r2;KLyGFlQq#bLQi&hmsbb zGAu0jpXqGj_eCuzX|WG1Oq300tvk3*Zjixac&nNq1QqrQ*y1?%ydZ*yf zQK`~|XeiZOZ`gt_F7Ts^R3q4Sk{ui&-TpkSQxGR2yZBK?B*;5dc5w;G3loyhNQE2} z@Y{{S9L8$Vuv$7hJ@=GgS%F`Dr0n4!>M~?9-Ew)LlBnpB%Th=MWh52aSGA=*m1?7T zY1&OV)4WVch*QX9M6_OkUXP11!_ubf%O4qtHpEZ0;(7fGrQS}_4mF4^)Vuajqo%zz zd*HOT^P@z>>BvtRrd)8-%2{~ZelQ*lE+wZj$VKVmZ4_vN(21g2_?+=e(5fUGy(&53sTD?H5_m>bf-Ed9@O8sUiVG<&Rv8Ij z1Z89wFLG2bC?3^fRBDhAmumS`4|^HmS{`Vi&&KIbBjqzv6SCq8nN4zjlPGsXSJD~r zH9}+#m7w^B)I-(CB!#C}ym(0T+fc5c)j?i%Y0(?9OMht7N?AR2o|S^QhSe#*sVL_-Kn+rU%+D*fK8=$Sc!5CU znFzyb#3+7?tSq%Gm(mzBke4?H51z);cQjNNZi1?So~hI&upf^$1hNc6PrQOeYZ4ST z=21E8e?YGP$hn?v=^6^+HQ$6kl{!olYC81|n4ldbTiaU6#n#x8be;N4dRc~_?;?*_ z+V(LVD<9%wGooqt#!xgr^2C{ltm^M}25C77KT&Cq&XA-RE8c=M|LB!kEHT3prYt28 zDgFuB8advl0U%~mX=z^Awh=GhfyPAtj925d@HAdeNs0f2wRL3|*H$(BA!&1ZYn%X#`X&}Pc?+j3Qq;UM))mI1lsQH+BHw|H9F-b~++m;}kQ zSd!ik!nMIK65B)MIw=xS5&0hazK5O#Q%Q_&+O90m@=k5M^giPQS}_~e z>MU!~a%F)pYxu_~EKL>>buc?tSusx0l8sQlZJF}K`hh(g;h~Hq|SJ%dWdoh3VXCF*NeYLH zU|HVQonCBaJaR8uic!Yt&}4JjJq%SdnAFR3D!2Vvx<+l86?YSaOhmHz-yT(c&aX zmN_zYB|6ngp5w)-QZ|r*2wBd-X^^d7CT+ZN!7OFp362s1_QRS!qZqaW(~^aV@mQruurwgX{3< zA9pnr3!~uFn`0@Pvf_KJ-tP|d*JYhTMDa4EW*zy2<^~b(2d1u*{rGR*Vr3Y#50K4bJ=0ggIhd3V@ z{h5zZP&+p)B_3t_2wPQe=Shl*pK~e!l|mW)ggB;w>~vU8Ji+PE9oSG`tQ=B6JjE%{ z0lKT$o0Q|lGb~HJKv7wa7teDpDBRQF8@9_S1;k5Uo{bL3mPVeb3;I8nM*na0Y__x% z5U)t-V4oQwEj!IWN$Fs(86hpZ&DU9ay+d!i#Y!m!#G8;F;|}lyq->4$U5aS&H%OLI z&}fSG_2zi-Hs=A|sA1R6u@n&hV#`!@hOlj!n#e>unK zpbcR=$5KFyI+^OCf^UCAe7e=GDhW{r`Ev9ChPZ8A3W!RU&gOc}afvN01w@UK4pd*1 zGz3H~q-%279{Q>4bh?>W85Tx4G@znAqU5jJ&2CMn-S$kXz9UJ$e%RWYT4sogiN1kc zJ}C`|Npw<728x=H3Sz2nq9@-yG80lk%khIVM$kcF5NT@OlF z%=5F*>#n!eW2#ZgiUqzlwYgzyOIfjluifKpHnmG%1gRi)HcVuDM`(f-#8Q};#5G8l zC6OZ!tutU)B1ZwA(hX~2bcF_V#csY)YM{1Jv5W*%Gm9}8&=UApZSDP7l6LA3cMGChu&1DK$W0sCs`T8e2mQc>*go5KBz?quDP2h$ckqN0F_VrERh8&RzsUQx3iSfE~qD3kLj{JBa*c~Zn?fmH0 zhsGi`#X-J3D(6<(^EJh4-yYid*5%LF6o>fss0Oyup06p^!rlb02MilTFR1FSF1qf} z6)G)pxSu)dq>9*zyAGa`ILbFgz2(SF`AXtg-xS@8VN-kqYlwb<+1CobBF1RR_e2+3vf~N8iNtjg{JtW({M7iJ!y7}#q$XcXHu$N9-cDjt zQ?Dq!zFz1(B}PxZtegnFDy~WD+Ctsf9u!G)WYKjBaWM$>T2{x`K=`p@*dWgqZD2u* zO5}#E^P(+y8e)^53u-m~<%~%hGU62I$OlSKwigQ?0(~&O9!ICDgvDnKeP{Cs^rf)) zyq{-!RVkTg$cQiaI`qO)QU@~PEMJGl-X(P)BhK}8XbfIb2QuP(UngSDAm&Q&#KBis zb09rH`>-{%QfjpCTvNKqO}R}i^c%7*>9*EoUaS~0q}5Zw1FnQ>?g5 zNz=w7MRKBI#g&G1d`=*ZoP6Doj?W3Ck&|yhx>lE(R(`tNMC7u!d9l?a1;uv^?WV?I zYHLApouS>@JWOpZD6Uu9vX+LSZ3>F-8`?TU)bqucTUM_s_sxd3&QM8hEhuh-b`4r# zUr!=0TjFfHs{MFzM?gcifp`tHf;$5mvK_>0pe5V`jVcsV=gGc1yjXFcAsyEyr8IK$ zfFT{%CZ#lT@(`rSJ3xE9@Mc%Wh?SNOMOG99#iP)xh93RDUVb`XF4r<+-5_oKh(FZ8 zu{F1K<9ll2=dd%DJUB3w%*qYEFqKJb`YkaZ9cn*3sgEYI_yFO3vPt=RiQ;dGsiptiNT~9ySD7T%lueG5gUgQ!c=_i0TI%Gz%yZUa2s;Cr?|o(36~=_vEUG(1xV=3)E_RY3-5IZKnKJr2IEd z+3xm&;^J-C7*9_L>;q>mph{h*-ufQz%q%_j5RfjTj+hFzSHy!Z%KW;)6Gq?2iAZg5jA$@<0y z-;+=Mqg+!kVO=csz1*Pg)o@Ob@yI)k0XknbP zV4j<6X+#K>i9R0Cs9ee~TBcf>EG5PwsjGf>;=O$GLzUNdPts`ZOL0Ab1ad_AN`fTXgg6=12qU*UydIv z7W*LO1(uN*!Kl=zl`CU`((+HFxCNc0FD3Rbnq*jzK9-}F&QD%y=>v}RK;!n7zf}4d zLipZ*wpy}^Vd;v4koZ(tys%*zxszq3n6%x9V3miug1bdl4xWp-1%g7+hIye`f6%ah zu83h@s2b_e?34OF$gfHH3$(MW;`{RAFx1|7uSn90JUidgixk86-wFEEAgT7Y2`6ti zc|$=Qjr1pYhLs(8x-LEg0Xceo!a6Zy^AOpPWby5u#}gL`q%J$0(8-t%CnUuw<8%99 zzo71v=#*Jpq=P9NCyS(PNO8(Z`pJ$Fq|D+X8%)_aStMmcsu~ZUje}cwZ^uAqXg4%p zRP-WQ+0epgV;WjmY>L$!NFr2x`CHCa+@26Ca!A&`5Fr8Dok{-cc+ecpZdz%2l46rz zk)e|@6&aGUZPO!B{+6~k-0>cU>NmDeL7Fk5WK%;!l72<4iFSCTtsXm;X%TT5lBrFsBbCs} zd6rU?RC%6$;hWcNq216&4VIP^5La<|Q0isonc0@SB|>$$sdy4nKz!Rz!aNg`geg)( zpO|F_>BaFR%z3F=v-J!qaUBw)-?5xr zLnkAyRfJSI4F&nZt_o;hD=8pu@hj3iV^;_l-xQ(Wyvotfn)5Got5oa~c{1V-zeJ&v zF(nE~Rc3Rc_GdSBEh6qlV&gc=!E3mZyBPuDU8zSOYW>V(4 z*rZG$N-9S`y=L52QAtS=@wAzgc`i07QwXKXrLz2?vg`q)l9D3g1v4r0Tx?RN5G575 zfuoXAcjNz=Ntx$jlQM`m}g>o22*54Tgpji-1;`RqrEAU?x^=? z9`2?mM`0WW#G!L@Eu9FVnU;_}8^NCp{)ERgwaSE^l6V6ZHP5mUB^6Z!HLb9gU;31i zc`mjHrqFaNdG%Y+Vhik!WxIh>b1V&8W{M@lqv$kDR)kv5S3$!)l(~bnK=%hkIivdkQUvuw^!c!cK#79 zMxE;A-#?DYzb`P&sx|fD-G``-8m>a~%xp{E60y_t-!qOveRwyAdPU)r@i&Jl6=hq$ zWF$=6fs?Ve15z^^nw!$CnUxYx2szt8{g@o8CT($n$qE+jQq2Z|Ms$va?MZ_*h&TKfw>7otCkVAsFvHjxBuxdt&i287X ztSL_yP0)}-f@*TASPA8*t>>di{K{YT027 zcC(9RR$Fr_-O^0^=O>*O+Q7SQnIA1ag~VzS^w6Z{Mf?0x1`D%o1wUTw!`b8C?M%@2 z$s4n2eve&TsL5pA?sS6p*HzQw^KDDmU%=NB`@vc*{myy6f0D8=FGA525i4ab_}49s zT!{VYyiXg`jG`( z{6isBy}Y+~d5%{XYJI^@ZjLQmgI{RU5rxs@V=I)c;a_01LuXl`hBmaI`>Ge4k0N?Jj!luOe6mpE^!D}*$}jX}_R47+$%Fg- z9F%pt85*%9DeJPZ!bK@Yts4^SDIk@~R?(!8){)r}-4xqdBYNl$B`Bi6-rB0(;%%*N#lPhN`lDxHS~Ex7Mm6gb&fI;FAFA4q7F^&x%6!=ZR#}O^>wFHmR0+) z3MS5?$Ur8WM#++mlE&$fYjkuzDb6O@Le-kS!`C@*a|}m~E`(DU%X4P5@WWwutgQD+ zOq|h!$glN-#3m$Ap5!kM*HA&5RbD2^ywD-%WilBxVz;xZL0m|N=stiw`c;rzmqXj3 zO>|n^4yV1z?MNq^>YJz?1fFDc@7! zW?Ob3e!WB1kRVyg?!Kxp>Z;Kp7l!T*(MJ;EMBn5fjzcE7Fo7!9236bF2C2%$DKPL^ z;B&ypT7b5z+P1b!ZJS$wI0q)pb{(T2+qI4iv|pU@WVM$ zb-iD(uIX?a>slLBrO*bqxvsTcRoB{Xd|k&V$hy{%p!>2?M9d;;5miJ}WLt~a87v|l28(!q zxQHYi^Y?E3>JzSH?r5{R;x;zAd5qXTxsZK!rB<= z%O`)yC%v{hJ7{%|QAt`v)uT?BL|pL<<$H~IRu<-Y`R7GG_YxnFnLy7_w%_J{V_X)z zc7>(O$#2=4uIr^&mb$^dy1_2D4##~N4&wc{Zt=m38i1JoJr^ zlwHB-mHsObwy?w&#oUEeVmnM)cQGzPIWw&p(4Y|;Krt8H&Dua&kvU5;6GY$#=lRhK{}TyZGxVd|BOdIf6Bhp23i zlcwpAvyB^!_A;a&4r6yH3F=hT9b*WNwBxg??$f~wNr#*VudB~ciwcYmVibyYd|F3! zd^!=cb4?B!~U~Py&A?SV05(;<%AwJ zOX-gzc9jRwtw%)&c!kjFs=PWqvxn0ns`VQpj%bl}S)$Yec0I zJZEmq^0YDU6?`JonC7o|np4N1ZB3I+LMKj-7b8+tfDx(3QDQXRN7fKZ4=vOX%FqiA zq410L#fMPV7>L^qW-`V+%9ovsI2?ct=Hh zxN>yxBGMseVrQ<$_(;)craH2AbBsz-jU4Half=l8dtATWsO~04VJ7EMN2+VBtx;s) zS{HxoIm>&Nt0eWcnJ$}`zBahaIFHu5d5pq*-9`E1bSL`vZIeVsG|G>^ zIXcao!x^kQ$sOq14c>-y9ldzFn{li3(#XC}$*m#JZ(TN{B59j>yawcYW$t8lKGq6ObUVSTO^2Kv%$084 zM7K6rE4v+Sa6B2@ripHCSKUq8E}p#HAkGQ*e=!QOqIF~_mx!z{-p^X2Cv9q0u)y5wlAWJ-B6MrDInI2pXcbjYT*a>iF%Q}=+j=Dku{ zPn8%2p7D*FXVN-qWTX?JtK-*@mQgii%J3kp{D?06bhUO9ipaOi@KE(Z8WIFvbyBMG z)BuMLx$iNXhFY9ELq}xQ5&5pTZ}e3SH3Um*ie!b>rMQW>T1KqdOBRJ zv?`VwztABU3vZ0-wU>)EdcPCxGKG!vBiEd;(Z<#AUK^)pDc)mrY$$0wY300Da9kEn z&ALLaDvBEB&>LzTZx`X*_!X<(j4~=W$`&1R zZfdD?-23IpAoVcjqrrG1(Auhx)7sR>QCW0k$TT`Y`&BxeQNP+$M%M>3N{5_L8dG5k zpy=Sqx1~BXZELcuWo;|sUAnjeT{G`xSld*k)iz1QRTBtQCHhuTeSjepY(!>t`%mJo z;7ve>Tm|TvI#=sRW!i`gj>$*t2-c&*9c5+dQQ=Oyg>0=OSle9^w7Zn-Mn4~86h6Vl z*O8%IQe=3}UQ4QXfvAcq+M2AP_&(~gs5K3A$d^U0X%H8LAM`N_Sk0i<7FxjEuZBP|M8{Fo~)^=58YrFB4 z9it#CTSta+8Ln(CrYc(}I-JU`UPa3lBP#r?V1?5mS2zYPTlXHQ4XUDOgWFu;+ODc_ zZ8yHcV-#eC>&Q?p!xgT@RE6tAhg0Ddhmg+`n~s@Fp3V-|HXU+p*KBodYlEsB+Tb?V zwzjKkTicDV?HC1F+d49o%W!RLF;&|-(P7lKxE~K4p)-)XkJCc!&O|&&t0BsG` z96hHRqd=3efhUy~Qzh1RF<1LAmB<^qd`t@;3aV1nI~W~ur4(QIFyby(r=k`@=v3e) z+@`UFwmV;rbhTYfy+)68V-$Aek*r!|!VwN`Nc4xHbqo$@#{acxlj*)Dx&gsThX9Q9iCWz}+M ztWBfk_(*GVn5P#i_My!{jAiArS;(0Oa|t*trR&b~68go~`hf6@t~EXP6_sN(VMT}B z*5N!DzK35MQIodX2u(=gEkVbIlE8FTcsWBjyOwWM+fvO@rvxX=$g{gh-XYoudBn`@ zhLWIIH@+|w8#O3dU> z>+!;6J`-XTsQZgr{$RBzt*&M#b$WO_X;;1$QKdCS?75nem3AmtS~?7t)_O;bQJ`lQ zN*g^jqIJ|`UngRE=(UI{qA9YiMf_^8h;$e%;@;s48l#|!ShRkvtE+9PqU*#xx9QPd z;%YK0Mq#1R9JGk4D{T`ZrKWO6midcR&8eP<4!P#g+3}-sbvW}e3K-uFzq`>!)O@y1 zRn2GX*ifGQ`RtK)0M;eDSe06JKy=8Z_SQf7rB;)lF$%PfHL3%!IvlO8%B#~uiF5~` zMM7CZmHbcEKV2HE0y+#6<7zKJT4Xe(y`a=0g(iz0Gr>-+CqUy{L z!Ba~&BXtiMvD@5!E(`WIbQtV!{K`}9Cq`ko?MJJt_M_7?+m9Aer8PyuK8ca_5SItb zN{7L+S}#yB3UE6N!=s_K)w5D32S01)Y8|NxX+#F**sV2AdOWV)mJGe%+tTMgp5-T3 zswz`2eRRlGhLr{3R%h!T!pAI=^dveL*Bdurj zMf4O^-=pxQxg1Z`D+$>Dtkj6#dU{=@a;2V+bjZ0H*$av`qFzw65%q$iV?#-7)eDNY zrQRNNN+Wwg(MHq@iZ-HNP;_i43H5@aV?%{0@`CbpRm1ARLWf+#!50*5R&_>(&`6&z z)_CC?!FET7oPPWZN{qsAUr@BVx&w83<_n4zQKdCSwsrLW&0uNiFj!h^^d6&7^aVxh zs8PC3#C$=~BC3d{$hH>oTfrjIVX%nS;3-C7t6osFEmd@#xc7qMk9O4yN{j*)DCwb> z7EyJjZ9?SZeL?xQsyTJ@(jnJe{0mBqg7Jd#8ZD_PvEW7?vS3$(vin@L=3i#@dpWxOF6{9eFm_v1~K2MGqbOy~AS}hVP z1Bndx^(H(KW<3_K304yw2CK;$l*cGguQ#k06s@k>h)&P^KtqeDQX3*>Gg9}E5j)Zc zh*cNY2KyU24E8tvEw5fsVifSiqdA{&-CGYVt*$1#b$VE%rF#r5qDpIuY}*UUb-}XI zVX&;$3rdW_Fkeu#wt80T{NlIn7@y>$a_5BJGBi>DW-7DE5ES>TV0RIywxtI;#p|6wuS~oobCaViYjt zU1~+K)st#ls_JxZQ8}Er)#_ptmXLxTv1k$1>ak>pE4{ zP3lRjJ%uFwsw$j>N>ZJbvJ3Xx)_Ds zjBZkks8*+Kl8Dhw>Z_tULQ{ykN!?S}u^)3c`QuN#3*2@m=*lDZPjnZC}8oO zszJGa>wpqp!x_6uX_LwspfjyH0391Dk}*yyI^Qs|`nyZjpK|rlA=e)sqtW#jqd-$_ z;rde#ofri?DA3Ynx?9z^GEIkE-=1g0f5@xqi%}@*E6_S>!dxd}`UT12g*il`GYi>O6Z5lxY8E#kewBGO^7h<>l5iWsAy{9DmW z(zK46sMCp{r_v*QEuxBOh!mf$(-UZFy3WuGPS<_=W0|hIPt}&1T%|* zs_h;cu-Ai}J;U~IxjJ_Jft$9h9z{!8K7A_ zY6Ut{*)}2r9Z~VmtgR1Yb;qH`ox0<|$_rf0uB!t(7sNt|?({QW2wIzKv@UwaPHJN!JVu7GNubjVkrhudy^WXaB{WFP;SN?6_d zbjS&htdG}5RR61us6JlDhLRXgAMfuB@VLsSN`ekKpJaq?ZXKz57bDW>U34~76&pgO zK0Oxx_6lmW^z-25qC?Kj)^E|H4XQa6ZE%~n=+So7ovrP{6U&dAbG(o9)Z->bLDsX5 z4CNA$B{rzArjxZPwMCE4n72ib^&E^*K0cZ0*%MRFQ5Ki&{{{0$8{pO(Yz|sGOCJ9nV0>YRkm(t zo?ogeQ`_XwAy*lEI>VpJ(MHrtY;A;n7M-hgY$ypV$(7F5#Ut(#{VT6-fhSZk)Hs3; zxft*Us$#rju5Su=vDW50+Maq7)b`ZoJ32O$+E#DA^DC8m^-!ck&ON=9QAepG)eM9Y zX>^o2N2)h9ghsyk&aYK&lr1{s+~6DbVJubG+N$@`+SGedS#)H`G`cqX?KymrtRDTz zU`FYXGfL0Fl5@bmE!BXuEw%ZMw&l4!{3(>;3g(Nnwy8?1ZIXzw`HsFj)Xi-O#SftU zN9~1?X}*SL;Y++K3E}pGW*jvL3|kA}7rCAZ}OPLbi7E9c}j$LA&*2H~PsJ zqtL>|*O8%IQe=4Ot|isb-KePG(ESG`hwj$cJ7S^H)4{u)4*8m4UE#+wbFrL%utbi2 zY14$dFZ|tC^(y@pXREQO8iq}#ze+5DzmB$(IIE{ zV6Nf#$PxGG)?njVm9TpH(xJY&b&o!bEycAFH3HQ}=;;a{gN_X)foE^TDxkQDjOSEF zRT^~28I=wKs>HiSwJfi9$9*bRJ?`+V?v(IMw%D~CYZnyMjfEq(|T zqfm4Rq;=E~NGB2)0%;jlMW#%tQKH|~s~3S6f>lI^Tt!>|BA^YbA+|QS%`XDlu6mSe zyYVjqF$z?Z)Y^4qD3^#F>5G6irCtPd#^PTDViW=|0$N60Vr>*M+dRsBQC)I11f@g1 zNb;Bo?D!j>NQxDy_B|9Es^Gs2ZRl6dZ}gUp6%~{H>}D z^?E>uTpMyyQ%9;)jL6`iY-I1MdQ72Kf9NrVw{XUKSB+7?nupN5rj}HLqo@pzEU%}l z>QOrr(jiyRXiAz#c^8D|H)0g1!yd-YglDMK)aw%+a%$`c>|Cv5x054Iqj0f16ILAV zrs(HzVtzmI^v}}+dF!?%ya=1F8yjqNR?1(clod}$oblLA2}g7hv~BsTdD=D}fqV&0 z9Hp}&n{>1|y3cL-s8(B*FWEX1-i;of=ZY4md$_ApM+J+6C}Sf-EflOzbQ7h95LHWb zb;uz^XI0?JRLLvjZ96uyE1_)3u8A!3RYn)jS0a4l>ZF6>7;Ks)jm#gGUz958%1xn? zRtHL2EpvzQAAg=bvXUxW@(J0gY+=?qx}=ffw8kh<(#ZT_AyTQ5{sg~qXx?o#fs)qv z*I_G4s%*&z0R2!eUsFs*MVB;EoCjw9Hk@RIfAv?jUS$)5SH3sX$(qzOk}YTW!`y8NL?kB9LBJL4e0zI*xZ(1-s`ND7g7%J=!naP{xj?WP%QyG*Y~cuV`d( zC`vDd(G@J`Wpz>z2v;!on_JOQs2r>alx1IC7OV4*6z{Y%+!3$`fpCWBoJ5zFGaMey z^1jXy7kyp8=3#cCtHS~#^61+0zeSs7c)qA}yu26Wu$qqeUhpO=tls|rG54lHR$W=T zSarXut}2zPG^dwqMx(;XihC#Ou5_GoKx<@cZEihhI4St+l?r&pG#; zn@MIO_p9ixBJbII?Y-Atdrf<-wNslzZiwetg9pF96b1fV^x*7`|L;A(*Mu`l;Eh9= zx#(sj>V_Pa!VQ_sK-b^odpk3kI2%muCUq2l4*d`>>DjB?;76$qrG5hgxm<%dN~FO| zaeY$^*Edz*I-x_PHV2y$Tvt+G*qJPco$V=^l^jdrWZf!Lp-Y3AuJY#CDsQe>WkM%R zZJrW~7e>FVWEXRM;V-3G5$SGisW7F%OxJcxY;CtxtSzB2q&8O*D!GGUXYL?7Q_JUA zk(kPrsnD-O(CErrW2?NiVwDMdE44XS`5z$LSgdApR**meArl3hh^$cM=8wG6O^l^B z7w;Nbz+@LTi99^4cUd0h(LZ0Td0|A%zX>sv^>0N|Jg?i5HdpJwY{h z7!vG;VdWi$1aB0EXOvWv+FUH#v}^v<5NM2{h7=_VN3^%e+_(5_q||cCg%HxhU3*#= zgavg!yxnn4NQhyRNw3JJcKYs&;qlH2JciPWcuZ{`N#L;ribn>QdzRpf!%S;lq)E=p z-xMS`73URi4o-#px|OMO7B1$(NMdjNO^IVC$nyJ!PP$pXZ|HP3?8aXR1BmL#sm%qQ zl}cM`Lr4NFuiB^UOejCFmC-lx16vvN6l2o~LP>2dS}YITQ!hs922G7L2%3k7Gm-i@ zDlihHk=lH&kw)q)@vYjqW&8Oit2lIH?A)>mDIjbT#%?%*DoyQW9b&wRyeJhc~}cmm_WnA0%Z;R3#FpHSea_yhYE^ zc_&UQClzmwtP`8m&v90#quCKEy%a>=BW@B2%`Ub1pDT|`onP!ze82I@$3Z#*iXReb zF_{PS{mm7}?T4}B_Cq^v-vJ~&Zd2N^1ep^ywK~F~NMU&Hywe{41hXIW}L++jmJrA|~n)oq*^Um#$+y2LPQocNo|Y6y!r5Bb9Egi9f0 zw$yz%Ab9}?6hmdgqgidE>+EO}OugIaYN(AjZx(~Zvy@a!h`Z5+0=rG%5#X58V%n-t z;ZJgL|I?3RXX8h<9TGnz^jrAmvV4EObIHIp^tlCnj8`Z3Bs`Ja6OL+^{wq1ExUwq@ z2vA#8?_xL7IlDn$k03R5Jx0>iJ|$viCnSu7?)c*v27hcA^sdN|XH)j4HW!7=3lc0k zYRatqla2oe_Co9r_T~CHl&O=cVDV{U1DF;f4d4)9+yGYncR~ZW(uUorSQ7T?pS@rC zQ^OPQ1Al6GLIlc`!XU4&HTpA~679dA*_6CBn(*tSHlLa`N)WV0IU=pmRPYm6qij!w zny}*5D4URhgiR)sp@kcJ^3P{-*}iP9Yj6usKM6R9(R*M>6D&+ac_l2mL>P z7b2<6p;O|-Oi79-&M*PrZOonX5HGyWBVn7QHW!hiXE@ZmV#oMT{V`^DUTJYO=#n_$ zsgOm@^fG}hxTRs|N$ti8*1GXOih3C3u6M^y!`-&AvKf;(TOvMg!muLLD+z=2oeDof z-$^fb^(m7U36e*E!{PN-xoe0a|LY$4>_S_RU1aZ^*DMt#8bq8tY{ET=z?e)mz0do8 zxqw-*!!*lqE{=z3945k|P$evH>L(6UYV&kUu=+kwo)Z?ec@B*tVU-7BYLb;u=h>+w z)H*=bQ<*SCQkyT*W0g8Td$;CZR@lTVYF8dD=C zj$&nB+f|wK>#%uM$sdvMomWMDBfV^o0L{qsNp<0?~|SBW)9=sWC8U7TY{ z@RnO;Ds(iM*ruYLLz^lB_MgBL{iCG+Fdw8op-puybs<*HHhj@-Jv$UL6_<(|r&$%k z4ZyG#4gf8|_+Ub*;C$lE#k=Eh$_A8Ogog(Iig%K8VoYX^;m})w;mIP)Ol>|jE07>a zc^r{iaw_dp2}s;w zq&CM{Nik0=H*P{MnNR>Z5akf(RsC)ywRz}6o!AkYu$2jIw$TCyuYR|Z+8ln<2o$Tl(@HnZ7|6lg+a;H+FXB+S#GfP)V^BFgGSx4S`XKATaUq zR`U{vN12?K5a=Bu1Yv~}?pNZp5DeK5!Bme4Pi?MJ-+S&;mlk>adLu< zxUB!O(p@vpHj6j=^Fq-t%&G7V_1wq(_NhH0VGEU8db&~_Cjjcw91_8ok+YmS2IM=a zou7yl_Eynfz>E>=`ll$`kuX^jbVUu~S9biUK?pZf6~kBPa+(YEuyDAzZ~K3`K6+S< zZ3gwQns76&mmbCes914;>UvmebKu(RVQfG>jPRsE#e^ZdRB%?(Mq*nCkO6)KI5#<> z6|7wuHn^^uU*$9tBB9nciZ1`!aHD1(;6l)3cm$0r7}FNQiy(5h)aGDIVwk4RQdm|M z!<6mmzvj?56A=xIO?djkCX*WJ6LO`5aIA~rx6bfeU71d8J~d^UAgD}pL@Lv%;HxOp za>2&-6cvOOzfxfn;xTM8bxpP2P(?`fhN@|5s)R*Nm9VO7s;SMt3Qd&*QH|les%xsL z&8MxY654E&6db&|rkdJ3uBoQZ?|Nve1WZkpQ=PG3{ zif^&#q252p&T&GQ7L)kaH->QoR8SjYN2bA!%y$4uWz@{P>V(Zm9>SL6sK#ExtDf3i zIMV!%Si<9s&|uJSO5=Okn%a^i~@KzChUO5*qLawGx2S= zu79XB8&aE#q^M?=g@=%e3n5T-Q&)aIaxM0iB#>17xC zTsVRRfj9?#DoiwpQAZ-vipb+eMZm@m;@xtsI^&JH&yYkxexD%;9Bv8+aq=3aQ`@&+ z+mvW^{@SKg-6~3L9cS7NK?#yp5@$dwDRsEeO1j?2SZv53 zr&?^t@SG}f6Q9~#R3cjJ#qE)ll=Q_D1Y;FAqWG=A?NY(xn=`eqJ=At;ByqoCffn2S zh6UMU<%kI^q&Alz4sEUnCmL>%+Fa}|lkyX*P6@U{XiO;OTzw&k#0^<$^Z0F1>iq1s zsM@E9FN1qVQOo(DcZ%zKYMb(aZ3+QDV4LFez`})+zos_l^>aEUvImbL2au!Y*lQ|C z)smXv9euh8isf;oe2&1FsdRbJR!_hW+Ul!Im(=DHOBZ&bbm0h5>5>Xl8q9QUOJZwV zQn9u~U_om0l%0))KC%n9mLtdsbz7SX6AdO-VJXchIYY3%*Q@3{KZyVF(FN+AJ%nGx zsr6^Jbjrg&v!%nZ74FAxUo*Wdgr2O2R=ByLwJF=$(2&hGG`DxQcVvr0g|Ev4)>Uew z{V(9lRcfQfcxv>Zw7rddl}Gd0zWFG}(TmrwQMI;XOHX!FSI*wb&h_>T;xTJHkKLZl z$qU-3c56k6YQjQ8L0@n8mQB6=eb1m90rmFR*aO>744@X#q8kGKr?0oSdr=CA#gX40 z8tUlSGFx8S&d!skwtKQ#%wvuR(lfMaV3AJnw_QDhPX~*`f6tZy;w@{keSP_!j@b(u z!rwP9!h7F?=qR9SHsl9q*Uho{KHS@n_247cEZ24e!R&m^hMHi>y7j^DgTb1mYXbJHJV%wzyS_{brx*?dk}6+c%o^=5O}and&SY}EcuT%= zgW|a)tZyKd?WPfUL0H@n!txuEFc(vsLukepoH{=dy_0w$3pZlH%!H_1^BpmwWVZh_ z!?y{GYbLDfYff!mx#raQUCWwr2!(M~u9rFaBpRmoi-s`uLzt*GM%Y|GVZ-fUhcHoX zEVa2@vCrrb66$P|hn$3HmdXhdPQujYa82S6rp`}3MGqkx#qlYw&B)}U7ihS$Z#lWP>Eo@WShpp;{Z&; z=K#wvfHIiMm{=&BgIVA4=44LF9l-(q%VB z>TncEI0!SpQy~j4aJ$6@w8XIM3-sVDTbF})WH28HtzM+iT8 zvr>Yw5^h}XIhkzOE6&8OQ@zul+U!~HlnKMag)7h4^C@0YXsOcI=YV#J|;?()!lczE^;Ef!Ik_MFso-PyP0LzR;aDe4*EeR%;+I&@V z!V6>Y&|vyZj6*&igScigCN?44NqA3xW^~M>#w2X-R{O3$v@~>6n}h7rGItUzj-6>l zax9UO3d(boa^~xPgZ4O6YVr}2@LW5nnHjWToTPjRxFx4EpMAQ#6UwJph%-6_e zQ|u|dn9K`x0m7i~lQ49}D_5q%7r!WD8E3jV%s!;gp4o@qXaD2M%}H&Jn~^E27l{a1 zLS_&qC*pPB|Fg1Oc4~9cfvH~jX!F#DwP@(*K6OcG;BHK2O#e*xBZ`?1SRKWw&57bl zoh3nz>`W|jETr`N)uuw%oPSSiWVMmbGbOUrR6x(&{`X4mmfD;=d}cZYH0*%U%Q;wIMAbRec=(cWT8mXB-* zbs&;rYI6&BOHJ;=r&yHD#JBi~7%b*k(l8}*yn{8Nji)x3I8PNjVV(`!aeuk!M2y|$ zN%!}f99yaBMS|fVWLpf8fOCruZ0aJH#;yf=L(rjPn#O0 z%{Oj9rER`(gPSm%a^3``r8XBGZ01=n1WluvGx6cTp>9l?Pi+pPSuUefXDJ4?!{H=e z@r|vr=}{|#@t;&&m~$lLG7XO$VbSGBSQ46`C{G-p)aFovQj&qEw)F%|1&Q;Ji;r}n zo7!Cb3F@Vov{n_nGckdq!O@BBN`)*w(A@|;SotSmi#YnF#bg^9R-~Z0$m}ITV)l|4 zDbv_U!s12}mfy(49Zza=_3lsXj-1-Aa+G)mm*3UUNx);2+FXu`5}PS#>D zPrhssCpu{{885FyUr5eGACt(aC@_gkNbuV0+7JY#7C}H66GoZ}UNkwH+|exLNZK2T zkFetDg9J%jgiU5piuBJ02Ky0_63@Q$kgT{*o?4~*(Hgs zAOx16=YV2RO^tL3<`+h~1S5u)&O0;^WpVU*FIzN1hq>QjhoL-)a_D+17u_?x^9s*`ok9UWJdrjGu z+FYGu$>($u>adxx|E(L2%5P zA~;b+XLMUcsMKW$wYn~o+FW#*l`B){cMWPz<-!wYCjm2foKutld*w+9bt|>GC_+_K zl_|N?s!fi?Bse)CJe^#k!Vf1GZ(bKpZfe|`(0J9y!JFLRAs?a4NNs+9Os7em-vfZC zL^dS#HMT)HpP`iDC@dPtc|YvtoscrA&BY})BPm0u>rBdU5@7tca|tPv+B_en{P=QW zpW^$CPZ2eefaB!diFtT6k}b%XI8$knykX0 zV*D!1KP-GhLVxqcYH=Lw$7^=>6OAisNT&h^_e$gL>UxQWA+R%<6h{!pljH8G(4|2) zD34R%T~kYLOfY?p83?RIvCo zvDcJ7CwkRFfbmF+>r_RsH74qr+9;yF(yKPzDuNt1hN6$3-wFa>g1#)dbFTahuxQG=kLmT@Q_bfXOns@ah^t zYV)s5Bj9Lc`J7yJjUcu8v^4@kqej5Nt7`in)jBdApC5`~lqm{OBdeZ+Cg z(62Z(mQAR?F{w_ds{vK1HzCzioBx%v-PHNTKE<~fpCVG7z2hYMH0I%@I$KbxbEeWF z>Rj1)22z??SxGY}WH1!ri;NG`Ewso?4$^Sd5`jesfGIMo>oHbSLfBh>1GEw#BxuhjX)KE<~fpCW>dz2hVr6Kre| zX9hDAZ1=|m+x^!j*w~4Jjh!k5TPkD|Z2ZK9u>aHr8(DIVsU&2{h_0&?Y-~rt77iB| zY}cvY=z}qfjfwQav9Fh4;{deSH~^4mtSlkeQkzFDHZ~y7B|K?RF=6mvwWccd&xF1~ zfUGx4fOFlpfXlN1>y3sDzFJYb#5RUR$AtRni&BCk+6ZpOHX@-?loD!nQJUIZRhGZm!-Og_aaR<{vTn}21Zl%tW)a&py0X=?Lni&8?PDCOYQMQLjDxF}7X-}Mls z1WZxNsm@rG5-LS0p;i~Asm)DZrp_<+DZa({6cMHD9VgM4C}oQ{GmsWZ&+pU>#fM^C z=ArOzY9d3Co#^Ogr%Fd}D&%xWFV1+>#AHu06@rJK)7v(wpeJ>Nl8sZWM!^14wBX6F zuaCXB%sBSN&HjmniY(RUF@T9?X#VP?dn6^WJjgehsgSnLr zzFM)mJVx-#LxP{4>y_XrRtav#VwF&N0tmIbSWRs%vUBCi)cMJ$nTk~cCePv&tBcjt z=3kju=_LcRj=^0aL7Usxua=gi5hWsMW=4 zYIBpFsq>3{if=JKMZ_w5$4N9MR@s7Ll{38_V)fw|mw7nkG82hacA{8ir%JJ!3i+DE zDtnTt5PVdurh=YStdfmWtVY1b#Ol{1SU>_VHvYF>+HU-J_$OZLU_3^Jph>HY`>3In zkwlMrv`!%_1CM^p=qh+cY-d;46slhZr#AOj!4Gcx+SkB|WB&N?DwusKk~tLi18hAN ztnB5KuOfdFThDJiN~d`hNpO^h1UF-ONT?)TLaiTe&iIe)4Ii@{oYZY&ga0 z@-VgeS0)cR8kr?0S6v>aHlMaUBs9uH4qjazrZ$hu!_@g*gFKwt4I)ROaOAwJ2PdUA zUxOn#qu?Y$WpENF@f4t@Ut^{=&qpagzMR;nIC%$3HR1J&7Sd2{dsJs{=8zR z5{bg8&7qS_uv6^9L}8Bbv&c@R!juLvrc&wRPo$TxwUv;MthJRuD}h45Pdx46r+Cmp zWsvrSPByJq8+B-LH>t>RH-Cy%C>yJsed2* zk{$z=+8h-Xfag>k_-YJc5-{8Gl!f~dXNUjxx}380u~W8wdZ%o%6t1ap$0uw`Ovin~ zrsUIc!!yS?pVa0;Su;<^CFohU^_jr!KR-krccCf3rC!X>3q~VUX$CHLTFpI)Ba@iq(mIO7n zp#>SXaTQL&*^(oKO(wOizA5Ido=JvzK4lXkq^E2`C_p!zTvNhg?QO#Pp4*PZHEL>e z2oTsgQzJ+MqBg~GVK5m7NDyRdbGc0Q;cjdZM~bvaUS&*erfo57w;8s*WggCyo0Hm{ z;;NF}SF-4Er%C+;MnT50J@*aMC8}8Z>`pez?qIW^##G3{ft@mwx(;bDWmmvo#1Qxw zhQONvX?m`4g5z-{xEZ?w2$ik?Lapu!NNsMefYkY24_5#IQ(kk5)m;Ip&1D0>k~}4j zMq7`QtL_R&Z7!^vlbhNRB{aGMICyneKx*^2Dd$97y7~d=u#9zL|LEb9rOOBYW$O$2z(%of8y+0!?#3e)nSsHf_6(3wKTs?*k8k}$ z>GB`SyFM=O+vj^>9_8ZM@xwcU8fje9-5rzKcMh311Lk>_7q+p8M(N(wEe@i4N-$IAB3( z$Dz{p`K-gNPa(?Y#ep8<zBzi}(8$H(rR|qWC(n=WJzYMs%VP|) z9=W_@Jy74Z`I*j;OwhwxBe?BO^ z{c&mgc1(&hcXM_?-1LIddmofe?;AOHA$V*_TV}=TrK_G;wtQVi@Dkh`)VE-B%ct=D zBSlqE-&{KJ+UO_m&+QrN?v|~TM^nbG7E6cUD(|{d8a^#}@JLZ8nD6+`eOS-@`e5ws z4@cj-FkU<~cIs5Ia8ssh07wtfUHEDF-L2)LhP?obEA4;3bmT+qU1|UD$hi~6!tGD> zqu~1rVx3Da7XF*qUKjz4UVOFu))8)pjj<`)S2MVI5NjH_aAEY!#nQf0W2Y{TU3s;% z^8zL~`r+=`GKMC!J6egD729u5F$Hw!S>f?VW(TE_uudM!=~Pjq3(PJukGZq8v@zQ zvi#xOr8i$I?cX!L^^LKsJA=#`aEJB1k7}EqbFZ;APl!4 z>>!wBYzp;%ZncJ*@Ug;wwsk3tYU&W`RMMj!q3%IMoCONH}bp~2jsRM-wI<9Lm4-Kx{MD+S=X zq0Y{(&Bek`O8fVYUfOD%4XlkqKIbXR9iV0TKJd-i@zdj&)L+YHmg{; z)kd%AFC0>NBbVa#K4i283;mpH*fSs7Ik2Mu z>}Txd7ZekBL}3B74qOZQkt0#;Lsf{)3#vj~o9}iIA2o=hhtHKxoj0L35m4czYnQLe ztXZ=D(afsltD{5Q6rD8S7YqMxZ10z)eFrP3Jqq7WaqkeMok*2ze}Ap~fz#>#Er$%h z3(xc-q`Ytc$d$vwknK&Vz#+AuT)VXMG6uocd&-TDY0PTu>Yg45|rYj=mZpl3qA>!>}M)0b#eK~Ml6|Ctm;RC>HLg>=4wn4|ReOpP&T!@>57wTdrWE!}LZ8Mva=3J!Y}L{NJ7bouqYIwe_Z<*-J$@;Vvi7V|fvMBdA|o!pVW z676DOs2#^dgjjE9rfXAQZ$BQ83u#4;5T%>w8lV?!YTtmPAHXl2x+Ltcpt{tF{l-pZ z8z0Sr5WBkti%NoB>c=cRFfkP-aSCjfP8P}sKDX@!i_ENoGPhfw?4nw5jQyhDsXPX z9K;9JjrZ*bH*&NM*zSm2{v`ZSNZSU7G<7EfqB5Zd6boBH7p89;;~cyENqNsZqINj` zY*aG3>wNj-%cb{T8r{Dmz_UI*U3gEd=DEH#!)L2&L0ELiWmUS6(y8Is4t8X^ z^F2Z7UtiG|dU_boBULCM|2SO*gqsynQjGP(ic@y?=GdtN!K}Y^2kYU@WEOu+yh!OEds{{$JPu7rB$_1 z4xSEFCztc9B(XN1%{`NC?^feUL3~2{7M8&k)5!t{Wta-l;Vb3BuJI#VN3UKSJN1f? znQ|Pw;g}KTu_(a74a7Keiqz=g&&zv{TW?SGAllKtzaXp-*76%gfD!z?{{n0lP%=K1 zh7Z}X7VG%SGvE`Z`j<}}AOGk*GP#>{8IW7;A_P~g#gT@t18b>#u4O?(eO~Jp)38rd@ytDu$?WBh}j0M#mdFb)vNIcrbf&Fn4iKKQGvVA%g}ESS)-u zgYEC$lF1Hj$n=7>tQ0v}{4fdu_!+rSC~bdn?CO4)L4xcrPL95CUiL$^UHn)+a!UR@ z@HrGK*K8MFRlT`>VP`{qQ$r(MGffSxS@GA*F5HU!>(9aoqB=)*aIhaN{V|+uVbs02 zS?lf3$aAa#G(q9%xtb+t)73sS2nWHLx5`^T@JAz9wd%>of)#7|yBYZ-=ROsUYeRl8 zBfw3DclP&g%JlShU_<_c3?;9ELLeBIl=t<*i7wy2&TE{lk3|O;0Ts?9|e=>$HTgM+;7Zm%Jyua&0j1$2su4+ z@nZR9t<7&16)P|$NFm-Cg_wE1Yw#Jh zVv2>Om=6daYLCIgP|-oaA+81dEe^b%0nz2)2NY0d-C$eNrc5O*GG(3XU7fxC&u9DL zRy7kr50>b4>Rf!sG2mTWVNZ;|eYSMwh2UWjv$TK?C>+lmmb;+AzGAvDxD3u{&wzO7 zJUGCIRq-sjjLlS)dw(9w2Ty}{h;FE=zuH;DFriB4&S7!pQHu1FEdXk1JHsiX7d1N^F^U_{54{ab9zHg_MV*>*cNSH#W|tN9e?cv1UKAy zx&C}~mBqr{)_@1X=6n9E?TG0{!rK~JS{BylJL)^@I-5H>>N=IT!EXYOY+rw`JXH*D zZ%=2}hGL;;VyE=waro-sAc0wGQWj*$wh%!Zv0yu3OZqnqgzp=R2YXQv?Pe;ewOyMZ z9P00hG9L)Tpa*# zn&N2E#NK@g3IX6oH2~RccY?Kcp2PmlKyS~J z+3q2@?+XxZa=_eNZTKoUthPXa5%XI;rl#}+el%F_^rfN+a88^J9~5AwZHw2rSh&H^ zF56mcJ81ZhIu%CF?F}3S$#p_m(GKXN7vJ=b9Gm$3pr%&Twzu>VveZ_z;jTK%j6%Il>s;Sk*MJA;yj?R%v`q|;} zL+=GOH9`607uYk*X6)29dca=40$+aV{HLXzTjBIJ#FtK8EWNq4eBxdBFdapTqdz{G zV%tLOmYZLC!n(q9G6`2uIf$D@Z|$LxZoi?E&1y>rOmzGdjcwyUz} z(f{M6!``BzOKk5^!;pgkb+bP|(A)i-ZS6p@?e~gKp(xQd+)f*tbl4pp=+D)*iy`dE z)bmMUR1y9uzB9}zdX}(U@j2Dh`ql38mVD{x1>sZCqlVt`Ijfzr42RJ67;YVq(|Q~p z`E7CVx9hpYSwQw2X)VOWtFEDCJ(G%uCTmoE1X{L6UD_0 zM8Nk&OLj*&18XeXzeO(liiM-*-}UFb#y$o%w%;Asm%oF9xQ6D`_j^^*5Zn{zGqR;n zLJlPc6GjthMbLT{iiI2dP<1^NvbUCZy;|BsE6t=O+UPB?_|tSzb-*ibA*l(%O{e$4 zP>8^wNwx0Q)>f#3zO%VL-`)Z2nGUUyTE!oDF`p(X}_NJzWx|T*&IBv#8 z9&VH69y_Dg*u_F_?Bo?_7{TL@Kc;45@vI$Jv0N|VM)QsO#r5sM`0HntIS!W(p0;}m z5y1utn+8&bZxW{Oj)HF~4dhA~pW&UtS;o-Mbq#dE5rHZ659J1-aQ^r3;9+#Rqx@hS zY_-vs&z84t0~zza&b$ligMhAV{wPl*0v$)dF0A!B9->~(@VVn~IoJY5&h4gt24Chg z>%|Qs{e?AR5?#5$MR2i3JD@*iULO9^>0GwB(#gx^H?KIP414VtUS}!$_hAG`c`>c#F7t6>)BWV&Ohh@;yvm z1}HkQDP+WOBI_?fEnLVdW@REU_tXJNn1h0wVqt!1_|4J>yCFkEpt`ZR){a1gR1k$x zOh#b}gn@g7{w>AAPmLRle)37s1vdLp2uUwgK%LsDvn$`-kzt>E*hen31v|o>U4N)y zpgyBJ2wEdzp&(jW4;l@J!+`I>VpZQOn6w_?$lMp(+!Y%ph5$6O3h~#=eX3qrT_aGt z!+Fij#$w^yLI%3NV&Ol*P70x@rDhBAQ?frzkp)Tkt0qtBFr~7%($1)wYOTjFzCL#H zJvfOX&I$CzMvre5l64dE?Ht)>dwP1o2jx0KogFwqdyitrg%ID`jYACKC2|peDuH^4 zI2MqAW7~?*Rje`R4X2&*BD#xJ>2srDuOpbHW76F$s~u4b3*W)b zRR^i7SorVYxwCnhlhil&m<-nG0gRlqg>Fqy?2k=13|x5#BDZgGljUx%jS;ez2u?-Lz{u4T#EPYgQMrqz4>Msyv4 zxDw_HxdWQNfF#q9K3J2m3tr6Awi^5LL&IWeKa{~exV1#Ai`#D@2H|1=p%-1i}Vl-$u(QC?LvqjP^|hD69fS-uiUQVfRs-a$F97nd+HeC z1XS|bhj0Wf0@vCz_TpucVZT!bRkMCe&@~`3L)gyXmfxwv9={m$f4{Ye|69N2$zb%- zK{(8%E$}@e>i+wseXrG3dwuC`V#-`0rk61d1O zQCw^}3Kmvg`GrqlHzKMGWRIC*+aR;cpB=`5#+8%s@-r7rJcAs^-uXCCaZGuSNvNRq zSLeIH0bo*N@ukoIzI@?Dr;_8URS<%U_9x&bZ(guI7`=e|jS4g)+GdXj0KeMEA*lA>ehG>GRU?Ext)%*i4rJW%J+rF^e)~09J%^-dD|(PM(5s>BWO46Ck~DtIF6-P z(5FD#@#*MC+ptbi=#G3ca`j~CJ-IkEuZch6ivk9M z)SyL)29ZiUz=(bl|D*_2XraGJ)uQ14B>A3u-%C-<$sl6YUb{j|RVIK2+(k#^oh&e; zmkE&EL(r~f%WZ=Cn8LGP-uq$s;0Z6w++x4GDck>S2J;;1k>sJmvhuN=V<%6iic2tD zlgm(?ViQv(EvD$)4Bny;g+$Di-0CrCcrYchDon%=h#rYh0tojgG~3QygyuQ3Mmt_J zOgq>(V5QS?%^EwAix-pK%9+q$9MGGWE<9j*Xed6u<8at3_f-!}j6s+{YbHV7_pn@m z3Q@PX8tMcXd|Xs!V_>8BvrQIi6ji)fc*v&cJC=7J7vgf){kV1%qb~+7Ws4oWaGnpO z&T}%*QL?^KQ7Mpn^3N9wOR7y2Uo)9&o99i07Ebg238q;UaCDY;%Ha!jTY+p;d0!<} zn#`b*%cCsBhB!p;^rilY3*wBsg(Uy5gR??Tvv8>OIOpyHa-FIO2#a_fhf!GAYA8Aq z9cSLfh;|i-YG%!0fOz~qM@y_V6~$wR-iTXbY1YiGf?0zTBDbj;a#KJ?acVT$(_3v` zrtLjR+d9G(lazTI&W{5WPOK{bf!>+|HhO;478F$qt{pP73R@66FgkqJc6O3;qoOGW ztT8E(Qh+&A%RWI&sjEYGQSug^>Ft1wX|;J7uI(6$VxzA9N#><)H}0mvbF#0+=0|Wx zJ~ZfbZ0fy82zq{f7(IqKKshLJm^99QU@)T-b=H`ku6QShbhVYk;l*s zfgTA>gTFKyxdBwd{)N^nme7^MfjZ5yfd$Ts?qwRd26T;_dvElEJ>?g-mv-P9!OX|{ z8XoWfhKR{Bd_r8!*!$a}!^XkWVgC0Q#$S_gM;)V~CO{nVY-1N=|5I+tvmTi|1##8tGo4!f6P1*N)VYkL=LIpviO%+QJE-Im|eAR0;5o zP?dDf6`kR-RG41+s{*$C4Cmwm3ctAnDir8N8=6ilyy1yAA|O&wrden%9Rrndy*2#|af zc-QNAHuF8tsWJLo7903$n>suz^s0iC^s~r2&43xUNNc+f7uRnjBJbvP`(A>0ap(ypBf(_x+ z1?^pfxh(EJA+t)`zZ3xt96L=Fws9cygZDq(xt4PQ?Vv{%Q0;Sdu|1A#9;j6<6d;48@+5-qv2})N!8r_TZB?(KL;ynp$6A#VDyxn8*AA!K`!u?Tz zsFe+Qjn0aVg##RR&OD>Bd3p$tmxax*H%wS~!6JpWS)hS~z=v@7a|xYwE)-B2Tr+Yr zw4kZAxud?lv7@uIHP_JCu1o%&9M)XEXJ}KV9T_=rJDUv_$X_nzOmoCU&4TM?IhqPp z^Smy`@eR!}g{Hu0{JVUCrQ+^gmPeqJ!m`Lg#9U4aQPbCQG#GV)ymF{I!6(FAtvW-6 zXW%$R7fe3U6t4j$;&QGTiEAfBqE6AET{{*h2KhbEkT@I|u!w9R?y~>MVi=)r*aktI z$~imv#@M^t$B&n84A!M zeAL`P6&=%OgcKOPYO;_RKRfFSaU^F&%p^?C4hv}!ck{wIp-#J#LQ7wN4;Kv$IDT4$ ze+nep4*!+db9(R+0iSM!5ZG$T+F^v0X@RHC3jW%*krH9W%)^R>wTF zs{R~SKyt6SSip-rZT!$4xEk%a`*n)C2){fcF;sk&PQHamGp8xKJ2_f1q~QlC6#Ov* z;~qV76kR8>Xd(@Yg&${dW4d7jv7Z^}%jdcz_{OT+6qcE*+Yks!j$lHBN5mT~WP@9m zN7k(ZrL9Jo?Qhj3_Ow#b9eP%>JzFf|H|NaGRdmvwxfneq^w4S8oo)Kag&o0zV3aAA zW7Mj>3wMXTL%4q=wYKMRtJ*&}lv8#s>-EC%0NC~)Jl?29* z%?G&m4~Qm`e2k9#poI0&UK$w84i3Q%yjzy>h1|A90hjiRkzs&~g}X8?^hJ5vru?RM zAYHTtQK9vIt^C#-Bj>KjMdmB7%TAgaqnCFgDAa9Q)(~s^Bt8tB9+^cxqbezPjq=9s z{TSoyP7$QTI_VHyYU~7s{77Oe=;N%BQ&f3?Y%WlU0Lu;yB^cDq+dx+?dQ=w-jl5V0 zOjg@MWfAeGzKwc~fgBi+SePY&3+e6u7`n;$<^4e)ZfU!E zHYnNM6v6^cZ-B#R`5d|HQWz+w{10x zEtlA~#!n-@8mG3Y{0U0uUPKDNb(0+r@oMr+r*$`#AnTHj*&l!cDF&=3RK>1rk2uR0 z8jlWqcfqhayTHOEf?+VbL9AWLfv}1K`Vmq|4h2O-3}~^iju$)*j07&7k;ve16abH^ zql*INYs$ET*)aR(fUx|9uY`Ay;v<5bTz4qlZ%wnaYv|ahRf+$nsf!W6 z16l4uI1@~YhX93l*=3flH3Uwq$r9!x`rt>E8$e^SyDN)5sEO?XvG1;SO2Z$^PB`={ z;(wAE>g$lBZ|DGpLmx2=s@eNU8R+XOE757U-5?izx_Tm{V&*brUv`U_TMX;<_^~S;!;aBGI5+6rxUX8e4lH0jtxeFM zzqOli>4>2FboAm;T;I6`n!Cm3EuIU54hqX{>eFDOljl8X+XlIhd#-0w4XkQJ<5J(j zZ&}O45S?44HE!Z8;oDu=-6AY`L%t`EKqN;r|3uAjX0C#Rc~-22rD2SnygL5cNz-l)9}Asl zCT;ZID#px3Y4KJbvNAmraf_5lV#yLH79Jt)Of7&kM4HB%SFtWx=6>5=jox%&n*#!s);j132y>hc6YPi#AFH3))SYUTRc@i-gU~y83n&rW7*i77DewMr?DIE`0LBJ%CJg6aph4SI6NOz6W zXRyA~#e!AXR0sQ%4fQW$E;*GxTdP-MwJ%!7>ViARc5-J0;?V zK7x5!L~2m}@{DbeIU|KV!tt-cq$Q2CQI!uSfHPt8o_*+k7u)WWD+7fc!8#d7^kmxp z!p$FL3dYM6op9SnkF%TtQBE4sLGQ(F75du({FX{pSXcE;bBJ!LLFpNdUOKtN${T4vR|U;uK9G{{Nl*7j6`ifYWHeax;D zYomWHwURv&R|{=I6g_7)|IlU>SZl=zh#jGjBH1NkbSP-u-%pb!GIwF%DmPH zRtz9?qW013!0P<-@;@sO7!km>>DM>4_V068rGXt=BYt+ zT?w)Bpb+1V%40zDN2NX6O50C}uK`YWrJl$EmZEN@S1yB*C~bagX?H%`gA9^lVZg5K zO2fw>Ni6XKdj?ZVoQcN!Bmj(c<}fbqLs6V9K(2#jPa!l80dL`i3=s4h?TiD0PnGq} zWcAsW_NJD6b9+a9YiDzlWw!q`)ctanFKcm7;Q^wDvonyR-iSh`#jYHQWkKnzFC z7d@cct+7lSB%m4+Qn?iew}#v91Yxo850()KMwZXlxSyq-2+2q5y#X60(u`c=nSlxw zs)uDC9Fi+wa0SDsrC_*h1=Ht+ughqtjevA<3z3aNPbA*JNwuN}2?%0%#q(g5wSst2 zqXmN9vMu#sslQEpL5N2|fdc1g5kDGL8=^*;9#Y-0Yf>x0#q`6GjNQaW1CQ!qH1$0k z3XBaN5xeWa!Q*(v!f#>ZdD_K4#@~ELs`XeZuoja;)~@_w{6)&PNHvP!k>zWULCcJS zs-u6OS1fh|jj|%BnrQcIb*4}lHsJ`hdooKq#u_+*7*o5ADZ0=1XOYYfKQ?lddegt#}RkI3veggURRe# z7LsNIedn?4VD1@rwbl$-mU|{8{m5K8b2To>{*9Ohq+Kw(38_X+`2~%2*?d!bXG^xT zF)N&|aC38Gwy~ogr8}Fmb*-qlsTW&!tcSaDtvZnqlWhNxyR&!f95YB>8m;K*?1j-d z*j2MSjFc)}-9G;IMJR|S0L7@(Lm~J|U`2j(^#v@q1Edj8V#eVelw6cB>DJ=1+%Haw z2q-8ovB|H}Xysy|4*^u*yW%x6Cq`uUlg!Rad+|)TZn$_Y;Dh)EaA9cYMGmE3C~zB_ z2&5rYC@PL-gR3^OVQkmm4`SZrn-PR+Tegy5BbR?zJ_h9vF5{{SS=fC;1J8(hkwb?^OM7?Y z8o)@{#6xKRoI_anu-y}gIS$vn$`4Dh8TVo)?uJp&R*De8b73q1o<}KnyJuTee?w6O zvqW(~0T3A`ID2|sBF@18d|xg^;o|!Q$s%9cT?t588A09VhxwlX=_Ce5xYn%s^+;4I zm_uD|3We}HVFz?jTSf&IxP@kUV|tdv$76QrJHK8Ss`0w-(q!-X!M z54BkA0-Yk(MFPoe$hcWfd7(TK2c@_lXu|%4YlTK)CFl@865<{k)!*LZ(3d}X8zDnd z{M5H`w8KyfLkpG;`$ValB&G{MOuEr?5E~(4?p!(Sy{`0`=vAi=K*U)w2H*g=;UOs+ zjTr=P^NeIcsdA3(ObqXY<1WsUZV6ArAfz*HQ|RUw(D}E5*5+76{Ks+8mV0F;mIDT4O--M=&Df9f4f~U2>xELQH(P zXMyv3yv%X~fbN8XV?c_9c}DjYB+N!h(!Gg9#s(m+8b@5~NfMLM6`UV#4k}C~7aS=} zD0s6|Ts#i>k|!m8p6$m`U_%b7UU!!?tVQ-(Bf@0zU+fk_(M?S#gotj@;Bx~cuG!iwId2IQj$P$9Zfh>k)RBdM1*C6VwvFfF2_KBbAU$$;D{^Sil z?<|mv+E92?Kxk-pjDnz}V+fR405mUviIC{6 zgI7mE`qV}JC7Ac_t6m!C{dd?gPYz+%6V-+oeg7h~EAJ@xt~pb-;zK~$8qlgPZV+J# zyqW)uRgy$X2oLfQ5u)qvJ;|EkZI$YS&^97ryy_G?Z1KxvwFXKZTej=w2=_=euO_am z%)?G;vL1CgB?bfabTg>WC-ri$Q?VbNl!8HqErC+&mSKLb@Q@8&C+9Ag!CQn_C!~8&CK-Dbm`VC5+F{Yk{{inXsW08C-q*_xwDO^+YHLPhp4)Jn9K`^>Ys>|xJy8#!R89U&`LZ|2| zkf3dwHzV9HXaDerFJ2x~pz*}9ssK7J#hW(%7(q5l(!ye?D}euQ--04v6caay>R>fV zi*3h6{Hn%6-l3|3n2r`=qWm)`T}CB5SeD|Z);co5pf5e_N}GxsXzbl{%5bPX*+yFS z5-Q?rektx*_6F=wsOOkXrUH#~mV;!v- zO|Xc6mxTN~=$LzXxxM3%;`?`P*b^D`cOd28>7>v~D_fg#r7_M0Jc*(gRk*0HX=`f} zgS>nRUhwxq%CmrZghDY=nRVDPKdT?>l{{UeMFd&kDoC9|D;C5ffeoTXYDSMmKT9fe zf*OR=o6&PkKyL{pRA#VOY^-A8b1z7u8s%lyG8dK(4&tse!|968Qo_kWIVRMiM32p( zF{Oc+b`@&UK^#W()LHzBfOOe9fQL(3_x#DQu@`ehV_R`BLzK^Q$+>n_Eh0Z5gb)1l z_OI!G+TOrfsu0L3A?2=2O9;zpPUfN|mM01$NJRJ!G#pGF$HEkrFz}fYRD*Ry3Ok`7 zkK%7rgc*)^(YE*O^!Ef}yMq$F2AP*6YoZE_s zAIwt6fYgZAVhM1F=)SRV3i#4YUv%kx4%xbBp)|cb^6L&)42*naE5m_xm{gySF32rF z3qD3Af*SxfQuRJ2tuVVuJD|vmZpWg)HcTcpPq$A0g|gtj^tKJvuLXKJ zSgV=b9wjtZtc_oKfm5cdaKF=9muqZo&DFQ&JL+1S>pS#f@VjCyY5J1j0p=5!v8^y_7uhd3IM~%SD!jYZ;2(BX9pq*K+kaJ8Hw(+qLNeEvRBn@HDacO5 zFC(oeh5WP>K9OEQevwZh`F%%D2-@@N~!_3ykCq z7K%`!E~w%Uc`3Qxyx3sStArI53;&l`4eFim!trH$TmiD8FVUeB(@*OHKL*?xN~0L3Yp}P|N;~T> z_=4{OZ?Jcu%jP78mW8y~`4mp9;=)ui!S-c|MFM6ZPn>R`LJeYru^4>D$(`Q1Slos` zt9GU4V@Jd^!ZDJBZ5&yZVz{G@-p(9Y8WG_AZsgR|5iK*` zY4@xl;RumCul>j0zJSLW7g?sDc%57cW%)O&Dce64zoqR*N*4|+3SgFuLxXcKh+!wp z30ZpYpcEe5E+K!xgAUeg;1x#mmBZw*Al;WgL{I>it06t+R&YugplMM&(`LX3#L%GFy9e6e3q?=2dTyKnqLwH#4y@t&HzgJh(m>p^c@5+uCQn4coHCN@jQ z*0Jg0hw1HG{9EuP(W~90{dzGEd6H${yEc9Hum=!p`cNznl`G`YF{!`pB9(-gx1Sxk zc+mQY>i{P#-`}HWSW4r$VPbC|$g<#hK|@U=H2){@>Si4LHajn9pBLnwR==XE`Rkva zEu=CBF&8FW19_u!_%&!CA=&GFvCoUcjiOgVobqcm4`Q9VI-$Iv!kJBF=iT{}c1W=mvJ<}B^Gd<$K-xAJ=g$yNL(%i{fYtau7Lg}g} z5L`!v-G`)tw3OzW!T+?nB_As=q0pUTNg5|e#{^{`pu-!zA*_a1KS#X(@#_tJxz8E zFY#>pQZQU>0Z56j0x?_)klj^de=pQr2DkB|w%GQvm@}>(jk|(eW?=@7qj92`w6F`g z7KdAk4+UajDZGQ$1R~O-=0p%J`w1ZOEogJzA-S>fuc(e4lizOL5=t&^mJW*m5#3axV&%-^y&+RX%#Jg? zLqaw74~G-cklfJ=?_-WKEU4tY58zFks|Be4FnZzYTqxYoMll}5Vo1U|5Rdj;lCef- zyXl$n>13}y93~nFVv-Ox>&s=d`ZH%-6{HD7U)u{&AsiOUP-%!%V@@Z+X>g!LW)9@L zJFQ@@D_^1|$t@lh_f*OUq1b>EZh{CfU-Sd;H6s_60jeqiGNSxxqYSE>;*sK4JjXDx zi^v*0wGgPtlDudIoR150Gb8Smc_~mYs(lp%$nU6;<|c^SwAch|(Ok(<7gq(xfwmTxRwDOEp5XNP#{QaP84BaqBe`1AuW5#cftAVb--vm-P;z!g*lTDvWd5)332!h&Z^q9~UEFLWtSJyrOFj z9#nV_3P1sbQo8P#I>(ya4(NRL;G^B$fTo#ma>PBk4b4YG*l}4E$SdO-BaI4S*em66 zp>`4AR>v+(DL=rI?0GX{9D$zZ6f-s%P27werZDTnCX9_RpN|tjd}$TIdXn;qZHSPZ z9}?x^$rJQJFl!r*^0GYNDQmD)WQ}g6?PF z0|M*3MF9E<89^oB-SjPT_@U?LmDAvwYC3{X0Khpkz2ct(e67^=0m1w6U+8z(TD#tD$(81i3`c(bH zD^@LE2ipF~#i4%B>dGS=QZs@i#!CyzN9QH6SsJQgQ}Nq_XPqo621sl zC?1e-fR6C#sn0ho zY;4Xd5q;+=d7;V$-7m5Cs%BKt>edKEU(@O?JCS@3D+*s`wy>dLL1%MzVXk%If^2in z-W|Kq0;b&5er|Ik9 z9PD1R+*xS8R?4B&YDp1HLK2_M%5pJ07+wc)5!HyhLV|tet2>EZ?VsF0-Vk6gMGY!h0YPfa$8cY9IiqjZStsv4U^I+>e+m!0yitVKEwj@_8)e1bvUABF@=keq_a_z8 zu(=5~>MGuHH)pxN{)566^3)otlB;EBZ~oY%Bza6j%?MZ527C1ReyEY4Gx7In07u)O zfNaI(2T!z5vbV?P1ATs4(VT_}0Ks#Xi=-p=0uczlyEli>1g~30nv5T~TDtJQ|89>* z$+Jvw3|)Cu@(0LGhm|-)skAn3pT&Noav`b}64Fc&R0Ya%6emYH9}Z+eECER|BNC>& zTW|wquGrQkRw>cjZ&UY{F>oR}}aRRDO+k)FOOMAP!A#NXU-zcngUW3BlmxI)NK5p0tm=Yfz0)r{}?z-=aVF^$yscF)GMj$_jH$6*Cy2c0pt9--=`9 z?_`^SrBKm@PNEYPGSOp%u+x78vBYNT1bpQ2u~63A+?}kSU)z4z@<*6-@rp&aiIxa{2w#X`GIk)M#3wK%k}(0) z%3&EM5;SGJ%5-RW9^kn!@gspnYOWw2u6*Jh=V?V*$IHA~Ej}141}EQR=w+TI?#p%PlOJhMjZK zU2GzL#EMfx!RPaqrz!nHO=#rY=UB8IG>`jgq~jZ0Gl^6Y0v=FRu0Jh&-|Ws0JR>|n zp9^o)6C*_}}>or?c|0@pH%+n$aT>K$jc{tyA7e%d4bXFv>3`vsgZEJ^m9)oMEOGcpgr&xGUa?Mp6h^7n2 z*`N1GrHUCKqrIi2t|{AE*H~BIkZ-B0x7q@ci<&V0QC`o{s91{&G=IBrLR?ncb&+2~ zSS{f7Q~1%TFB&g%myagpRS<#-TxnA&wJaB}7Rsy9qL!rN?(19*$5JK`TlPlnYM52E zOL6gE`-I$hGN0qFNR2hg2O3173VV|gH%{CnjjFK)i5orA(D!7 zz!|)+8M!>cmPUq_GHH=vLcD1>Izvx2`VpZO?oSKOmfKT(Lp1${zgSR&Y3`m6#PWCS z=2(|7w2Loc0oW-^Rkzy;T47Q@WUdvZhZecS)irajs|Wlq)Ae3`-$O8%HEa6wa%e!m zl61zLH#aWkDYr^UQPD67_a2BlCtHGc*ly1T@B$(50#_N8z}>ugVIBDIvn>*6u~5pq zNJYBEh-#Q8p+iIY#S(@%M>s_L!i6oJaO*X8EbMH_=dF_bZQ>fPxPiq6$dh4sfzJh` ziqkW+?&C+gqVqr)Mdt#WZUqrhLvoFah1H}U1xpHb!$JQXJGE!*%6Yu?62F3G-AR;) zKyo|`1^3b%yu>%DlN&eGTu!m=Ht0I$=uQcX^~CQuQ`j@I1mio5#`GLt@43RN5!RUltoD6uU8w~S1m)4G1qaT)gEg8HpJoJKzG z0Jj>+QHzEDEp0I7cRMEZIroUO%HFaWag(?&_ zgxob5LmiM*tC~tkxR@%GPaHRIqYidEkkZ%Nk4Nk`>Hjb_?2&6o4YM*IQZ9cl&Y$C6 znmlebW^{mCGpKTzd)C3%5TdsG!MzyYg6A=hy*>U>!O(2iYMx~p`2e_3v62!fa`fZf zr9Gcn`km$8rP%})q`5*@RcrtAu!Q)8sh=Q1NG?SEiJc)u4?}MUIJ&VtM&U#$UT9aG zny5kl%uu`LP(I(-P$L`F)vLY%V&P}ZjO|ivhGF(@QaC`>y9?GI zvuB(Oj}VZs-!RzfFG7yuPlwgfwxXLgl|md@3_qWEKv5ddYH9WHOiipZp3IMf4ybyO zZSBOnQuXbv4IR1MLOxUzi9i|L1f}0a0_-^;6~gq19?#q$i7P7F#lrUB)W+Kg;4r)+ z#NTOXjs*Ideu=6R>|uZVPH&i&<6;C+oSoCt7aqLxoPgJhv!hP)(axbFHiCBcWz0{3xmN z8V>A8BzN0v*~0C9w1HeNGC1Te6eHg6M+_d(prKkQ8+`5ST~y@X>xVQh=+S9Z3?UhA zYCCeCpY_BT=%118{PHuz+Cw|HYjGeQ`QdLOtTrA^t}iM3csKvHa&&hy#+ z9iWi?h)j$u*eIykM5Gphdwi2k?9aF2ol9a$wG^c|m{Qyg>d8 zhY?WSy&Gzf$k1yLW?5aeS=I)(^g@1U0`e&q)XtD6kfuUS3 zKLCF7Q}$l>#L}h9*R6~7*QVb>=;mM-UK@nb&$dg~u2{cf>5^5k#&Q66evaE-I{-L< z(R1QX!Z#32HiWW9KPISU%O85;kr*5q6lQ#`A&WN~TUr+2F}&8gIw^lx_@)$AT-DWH zEc~N)l)w?%j>q7)LpYev#HWS0;I@LG0k1@DD+x{PmjX0f2}-BzGd{t5=GGUkmJlK|C?HX6JW(>{ zdOVsi$0U*CZx%29t&hgGycbn0`$#RP4kZ2%~w>Ul_RJ875|jduXI3>NSU?84e5%wa=DxUKRUu<^>Il zrKXYmWOW=uHb}P+9gQYpe_}o%)Qwk~H|A*M%?jzsYgrrY9ZZhpfm2aC$TVe9@AA6A#?hlQbmdPk$O??0% zOig(-w}?Tu{}w4FwIVH@L&#Wb+3cdiropvtDa>8Wn?R|Yb;aD`j3V&GAgRsr;hXB^ zZebr_v;5Guzb)6aU9M9Q*)UD;bsxYEI`W%~g;nV*0R^ZwPDdP{%^t3sFE0V2mWc$k zVLc)@eVJZ)qUn~LR$evLRwfKlv&O38rBhU`n~>DFL(sd;SA>c_D<^8Sy<-Wx|lh2)_vFl$$1l|qG|UO^z7xz(T!>K(%#mmw4h>G@&G91#rO+1a(Z z*w!vy5!7Kp`PjmFs2$OnyV;8C0qbL*#j`R>lLNCbq;!#3tLHXJz8y+)NdVQrEL#hY zi5lKDKFvuj?|Ag)8!+-aYYc^&>^rNb4PK35DO_cBs9rd46ks^od$GKCm;Zw4%MqF- zT?*=-HHRO>3W#aEcoMFiU{>F=8x*KZ0*I_xq_P~$YsLLK#hu>)!M#G0f9%71kWyg@ z2sKTFXZjBBsq}^Tkryl_WXxO1>ie!5dgR$Kj3ZPv*C*=-NCTJK8M&_!KRr%t9A-Ta ztZKCL0^bqumFvxw;3GaB&V7VP7>a&ca(SX&iGZdxo{7@9T#72N$Ji4J{)KE~KSm2; z=vFv<7ol*^F*smH-`@sGi8`LcJU1gD7^9$cf1GN)queG0G!VKST*R16H6fu z{0SA@NKm8Z`wP3Q?SZIgz6o@{(TfL=!H3NlYG-ED_@VtsmRDdxis1(_6;FNvhCFum zGx+rFPny_TcP`Y=?Fl1oZ`ms1U3}-`@iz}iDj?hgS9iuwi>p4KLt)<_D`TN7mTj()JmL$PaFvqO;rYDKefw}m<&19_O2j#w0_ zLICdaYvTZR###Z_agU|`9ApQAu#ux7Bz;N>lkz@^D8IB7gEcIu%P!0=sBdan*t9Ua zu(QU)_35sR0FD+aav%kFV$iyLYr`BsXi1e~p-cnUa@%zeq@f?NaZupGF-lI{>LTCn0b@iYs_mVX$!Ywe1%9qKoG3XTTYF>aN zL8;_u0Wv`G{KTrqS3gp_ZpB|N&#Vt5D@@-T3@r(CR-f>T+eAr|V% z+YNdLR?9Ipp5^m-?fnzy+XTYo>7zGZ(&cJK zxX~b^sKwa3&Osw05&BicRYyS17_3_D)Z)aF3#O;(i53V@d43xKQedA3vxFo^eNQ77=;cJ#IE&H&63 zjNRVVgtcu!;4Vu z1-9THG$gl;Llad+KnQb!H`~zKVB9D~sD`tMDIw2EkQ-SA5pW|{A4cJb_Jk+xy5V)w zz$H}Akq{xi;}a@OIbE;2#pI=LxOQL9hIf74mQ!JkMbF70d(jK<{W_eX$@3e zQ%e1waybMx8g9j9xA#ldDwS7TJ__;62RZI^Jyh>Pt!`Htk&k``zszJFUxVsfJ8?DS zr(}QHOAzMG4lm4acMw%t0f!mnUg54!bWsJiI+GzhY%eM2(m~v%2CJpgxA0u7K;PEM zbm6hs3~oPg@O~lGD}M)a?SW)gccA2aK&jB8Hwgfp6#(S#YXksxjmJQsXgrUUn?CTm z7qA4Vuy|e-6K7KVF1$kdo^bvso^YnX9IztF3Ee>EEg^DR5Hj%Fx~BtqRMP)l|Fm*_ zZYiF7(8}v5KNZihy44}bg(XPcj(bcA^1ExJ8*br-96z+()f~ag(S~1Tz!{8=x7DyV z!LH@Gic?#;pUG)DqL`u{z3(9;Fab});$)F{btPlRpFGvXtDoE{Y_fZct5t;{!7M@_ zF_pU|qNWHv7H?6awjAEI6fG4v^~G!@w>>;b;IdlmN_?Pg--Sl#d!qmN)?+5Jq5O-P zps=hwkjWqlYvcTp1E(Wzy<|Ixm-MXciu?*lls{5JNEi=Z=7~Idhf>#Gs`9J)QT1oU zq@l<$>^QI+6OpDY1OiKhl@dYu&`Br_ejV`<|0dtx3q#c*OnX)bB_WF;uK0?#L{$pX z3}1$(_*2q)(cyOv3>QYRQ&X@NQLlDbEp$=%J~yO^a6+-GgeWAg1jfBtd3*!i#Y(ux z%3b>vJz88^5rNmdEoM|*c|bnKb`PUVd+Vze>P1%I+|li1Bjp6y(pB^^^*h@G2nrj) ziS84=hK1#C&UEzR$%6jDAt^7fa%HWlaClY{(rx@TiMKF0;vbsys4{{uQpXIX+ANZa zP|*}tnZD#Eo+4$|w<&PG6`2vULDYq{uyg&!8=6rK%SJOe(-`VbXN}o&j*#BiG?-&; zFW|UsS(zXO@*yT&jWp|N7epnRDng!qbnRM_at|1Q9j3DAWx zQ?rVlf#KILq=`d`lHi!v9z+;qBAr~Au&4^*g!&`Ru zn407)kxj0a1*yST{li1YR-WzhRWN9UduwKmn8b3%al5sC%Q~UqUyG<#hdYEpbhc5M zjR$kY=_leyJ&%q}NG!CuOCQq*S{3ZW2(4KUfxK!J!V4gVEmSOYU&(EUvkb35vO#Qysj3t35WQT~*pa@pG&MU^) zA2F&dyzl4<{f829L~m4`PAc^bqP&BjEYv#Cqn7O`7A}=ezlmbqf%_WR*T5E0QB%YY zjX;Q0j}9C_~b zn&JOALQ8T%+65D&TZ-_S!1%XDPqxiQPPO>s8c7Oaen4%aTPQ!`3J{rwjm&VeYa9t? zedbvN5o}OlY)ZG>zdT_M=+gGj;C;ubH4Y~1{n_VHuXF?b(B`NKKbrGMoRZ*6<`oQn z8JI&$w?*g~Kr0|$-GBJ!lbk0Rh?`I+atP<8JAEA8r^qpHp@ zGo7|rt;BD}cG_E~Ou=Fj^06dTXo0GwEiDzsq2oB2&F)6yKsLh?YJS7oKmv=2x)n!I zbXtr35bD^fh{C_n>EGZk+aN_q^x*d|rDYR6XBA zuQ37;x!Z&PHgHRwdZ9^Z>4i{-0L-9Yug=8%n8>Eky$)g z>odt_H7#Zd07rwK!{R~f-`Tfswoe`)gw-hG?F7^2;;EZ)-GXU_!k_ib3fN=M>`rtc zO?|ZK_RDI}4iY7R&>g;kKOtN_wPyKOb%fcO1G5F?POt%WdXe4Th8{06DK5NI;|Y|qY3Q#*q@AD+#)djloy99# z1W1PG3WaiGG9q8o*w|F%H!ym?pSKh28)-lYvZs%1+sWdt$gD1?c}WgV^6m_Q1J&9L zG89GVThd;aPrri*qg2YQ4vQ4K^iE}1`HjPF*tMlVVrQdAee1#r3180@3&yzZ^1Gq4 zbIr{Sfq?>s!Iazm1?)%<9^(q(w8aR$F6`>m(*_jLKKze$1&8?u6A^_8hI58du}C(! zQiXhnLFdTxz%{0VZpm{j+(_lg8ZSb}rLBfodf8CY?4-j@&@YHtxcC9jbMvmaT?DBu zEpzEl%r{3sES**>Jo5Yyibhi^BEXK&P^8uBJ+w-g%yh#t=UxD27%B%wt+cWKK~AaR z>F^cseINd#KJEL+_AM2ypkHY&g)b2=i@HgWR%pT9Yv^p&jAYl;;lY7@W@#eN!QL`l zP#E&>3q$Gm4iQJ2wrpr|=}&vCT}elRATI@;u3v{egq|i=H>ZdCFYtY3Ukhr7d;-e8 zm_HIS1gQu5bgVB@N#lL#)R523og-bDRXi33FL&wQzhWQbd-bS?8wD zJUsdr(53xjAkMXI(;PQJK!tZ8H{qi(fEBPa<*%=FTG z%|&27o}lELsy?5iUCi60hPx;Dk2J!7AXL%=v@! z+K-t3NYO-S%Li?|BBwpQy4nHuCEksG2P8ni*hj%tW^*9%2jw{ahEyX?9oM4kv;?+C zEj~C|57WW!)e{NuFMpdpZ!j6uT)3!odE_{lC7(QnreOYZV1?`N&mrX9IUSg2RW)N? zG~pT!=ELYVfQg6zeyB9}!~M;-LjVb#G7zh@Zrc_#7-BQ{RoqT~JsQdd!ZyQU90Margn6+@iJrn#Ger`Q^IUG_sR*GthZ}7L3h}gpokt>&SnJW z7rynuyRDNST>r;wSbNN}ZBY0U6X$Q|92~3UDQ0gZo5tCEtAhRoNdL2AH4Fd|;#8(- zPU*RUL~EbGFC^FQPDvAzW7Zc9Er~wY1C)GiyVZm_nHM4>uIEBVl5$J`*ae(R{<~aK zna~062l>x@r*xwS!R7LoXTfXD^CzKNX(n<+=r7Fgxj>?^zlVINa#-WQ?9J`lFq{qT zf?W5K+i<`xzATW5C~%Vi)nR!Q>OgY!uh-^KvGR8pLYN}E=x4|yuJzfUFf9Bp2t@)D z2iA!`=*Z)re*8*vj`Fo>WS5Vhf|o{7U%))ZjV%?L{N>Db=5^rNajU6`$gw%bfl^M( zoSt#2>ObLeDftwjYO}Ky>Zrmzb*!(2_b50ReG@1qO5LEeS~6yBsyJPHs>-56xIwb7 z!(@lD1?uCx#y5ojI?uVtko4pJM^Sow_Hm!*+RQ+2MSkOZK)@ z&$kw?Cc7t}nVd4*`YWg9ZQ>~=%N3m1PR?tCNk0|{y6O-d>~snJ4?z5HcO|;VDl|oU zq`S-F2GI7IAilXDg}UY9P=Ei>;80=6KyubXQ$;cQ*pcZ;Y_7vIho*%20x#*WSe)_B zD+zvrtzTi>=N(1OO)gNa!nWszkg|mx1XDc*L9ieE)NIwC{q)kDAH9mq`{Q6SKt>_P z?qT^;zsE@}=k7{mvEei>y5UwB`DjlURT!iSC;_6S2IJQ6sHDcne|JsJ$Szw4&jLEnsyj~WUgftJK)(9o4q@&gYw*v$CZ#H7~L z;{n+K-H{R4i|l&ZM*QALylvzn{d0G#x_bqy+;tt>pGD=-BkFWE25SH@xO<{gl{#=$ z9)mT>vmAG`#IQUvxOuc(K$UTSsj|5u*f7~@gq99s`2Ki4w_XR9;1$00vAU_Y;j9RW zJxB&qdMTosd0H`y^na*g^X9F(HNofpo^NGEv+SDD6>IcNgv zP1}IBV3{^JLGl~|5L$aeB3qCBXngCanWIGEOx@ zo(P#=I~x9UrTbM1JzI>mZbjQbY3YQ8u}oxzr_gECXYSuomF8Kv_y-_UID0CBl)jEW zCkPkG)0GPl_e$~CRmj=U1L#^#2^;*gLIFrG!pYuRd=bCKh?4AR#fMz83{TCF!I0$D zKvahnfJe_?zxvws^S?{294km={1Px9a>63WDJFoOs!_s!M5i zzsOo)U)^TgrDmHeoQb2I_r(o{feTpCGkMVQ;f+g?D)uSX1oV46JFt{{f*R<+cS#2qcDja|Uw;H{WhIZG?_+&RzY zGH!|kiFjm?$$r1eB2zM+I(MUFzLxH8U=w|jeeEohdL(XjlHR%li_7Biju*^I3A~Qq zlzkn_x!mit-^AKRzrk1Gx#s*IQKgcb%jofsoDip(ZUf<(C0n;9k5;RQKIPE1Ax=8) zv(CLT;*ZTmYVL*4Z3wU|8v`qKtm}rLf2U)Ds1NbHDpv+aOO@ilrb2OWXmiDmrXGTe zBl{gV)8!cyPUBQ~gn4m0CZ~Qm4MSq-+6A^Dk2M$Qvcju8Srlpy853rULEpja(q^{w z08@Rso%k*i-w8NzBzFG4lDp$m2L#zbMX zxVbPgI$W3ln+&Nh)@@@IWCS>aSjK6i{)80Pz#j^L2&Wd+U)DYfJg7sUx%fU1NhEdI zu@;w^$BnW)Xt)rBp{t^)?Q62nL|C&?U+2X;YE9*QY0t&IhzT&l$jTqoWXQNLxjkAdn%A1n3tYl~DhZav>ieE2;wAf*GGWOu-r)pg+{#j>anq$L^7qGsQ+{#wgTV z{`O|F!f5Db(UXMhC9SzpzVgEGDSI#1I2&A zK|m6_usbVSgPMq$~JjTuYUS_ z&#zi#S3bQSe=XI&E_!kw)F^W8*C#-@2iD>4;uM-u9qP5S4>myNs|mR3p!#LLF;_88 zxXf2fovNZf^!ChmP@eSVotZDksMkSB8G|a@{xww(e4D-4?l;h_ioFI$yBaUvOTaVe zT>R5qTg;(s=qCcifCu?g5lBqzjj0b-W!R|L%#hH{nop t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/ClosureCallTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/ClosureCallTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/ClosureCallTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/ClosureCallTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/ClosureCallTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/_sha1_map.txt b/Test/ClosureCallTest/.tpv_build/temp/_sha1_map.txt index 9922edf..de00ed7 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 5a548a4b33e11918:main.vp diff --git a/Test/ClosureCallTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/ClosureCallTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/ClosureCallTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/ClosureCallTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/ClosureCallTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/ClosureCallTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/ClosureCallTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/ClosureCallTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/ClosureCallTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/ClosureCallTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/ClosureCallTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/ClosureCallTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/ClosureCallTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/ClosureCallTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/ClosureTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/ClosureTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/ClosureTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/ClosureTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/ClosureTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/ClosureTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ClosureTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/ClosureTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ClosureTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/ClosureTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/ClosureTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/ClosureTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/ClosureTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/ClosureTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/ClosureTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/ClosureTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/ClosureTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/ClosureTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/ClosureTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/ClosureTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/ClosureTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/ClosureTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/ClosureTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/ClosureTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/ClosureTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/ClosureTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/ClosureTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/ClosureTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/ClosureTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/ClosureTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/ClosureTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/ClosureTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/ClosureTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/ClosureTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/ClosureTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/52/52e6b51da061882f.vpi b/Test/ClosureTest/.tpv_build/temp/52/52e6b51da061882f.vpi index a8bc3e3..12c795b 100644 --- a/Test/ClosureTest/.tpv_build/temp/52/52e6b51da061882f.vpi +++ b/Test/ClosureTest/.tpv_build/temp/52/52e6b51da061882f.vpi @@ -23,7 +23,7 @@ def test_nested_return(): pass def test_nonlocal_loop(): pass -g_arr: t.CArray[t.CInt, t.CInt] +g_arr: t.CArray[t.CInt, 4] def test_global_array(): pass def test_nested_conditional(): pass diff --git a/Test/ClosureTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/ClosureTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/ClosureTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/ClosureTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/ClosureTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/ClosureTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/ClosureTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/ClosureTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/ClosureTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/ClosureTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/ClosureTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/ClosureTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/ClosureTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/ClosureTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/ClosureTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/ClosureTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/ClosureTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/ClosureTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/ClosureTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/ClosureTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/ClosureTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/ClosureTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/ClosureTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/ClosureTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/ClosureTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/ClosureTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/ClosureTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/ClosureTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/ClosureTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/ClosureTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/ClosureTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/ClosureTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/_sha1_map.txt b/Test/ClosureTest/.tpv_build/temp/_sha1_map.txt index 0cd81b2..f612c8e 100644 --- a/Test/ClosureTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/ClosureTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 52e6b51da061882f:main.vp diff --git a/Test/ClosureTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/ClosureTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/ClosureTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/ClosureTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/ClosureTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/ClosureTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/ClosureTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/ClosureTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/ClosureTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/ClosureTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/ClosureTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/ClosureTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/ClosureTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/ClosureTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/ClosureTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/ClosureTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/ClosureTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/ClosureTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/ClosureTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/ClosureTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/ClosureTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/ClosureTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/ClosureTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/ClosureTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/ClosureTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/ClosureTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/ClosureTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/ClosureTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/ClosureTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/ClosureTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/ClosureTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/ClosureTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/ClosureTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/ClosureTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/ClosureTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/ClosureTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/ClosureTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/ClosureTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/ClosureTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/ClosureTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/ClosureTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/ClosureTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/ClosureTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/ClosureTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/ClosureTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/ClosureTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/ClosureTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/ClosureTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/ClosureTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/ClosureTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/ClosureTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/ClosureTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/ClosureTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/ClosureTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/ClosureTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/ClosureTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/ClosureTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/ClosureTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/ClosureTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/ClosureTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/ClosureTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/ClosureTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/ClosureTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/ClosureTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/ClosureTest2/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/ClosureTest2/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/ClosureTest2/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/ClosureTest2/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/ClosureTest2/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/ClosureTest2/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/ClosureTest2/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/ClosureTest2/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/ClosureTest2/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/ClosureTest2/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/ClosureTest2/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/ClosureTest2/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/ClosureTest2/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/ClosureTest2/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/ClosureTest2/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureTest2/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/ClosureTest2/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/ClosureTest2/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/ClosureTest2/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/ClosureTest2/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/ClosureTest2/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/ClosureTest2/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/ClosureTest2/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/ClosureTest2/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/ClosureTest2/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/ClosureTest2/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/ClosureTest2/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/ClosureTest2/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/ClosureTest2/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/ClosureTest2/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/ClosureTest2/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/ClosureTest2/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/ClosureTest2/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/ClosureTest2/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/ClosureTest2/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/ClosureTest2/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/ClosureTest2/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/ClosureTest2/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/ClosureTest2/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/ClosureTest2/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/ClosureTest2/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/ClosureTest2/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/_sha1_map.txt b/Test/ClosureTest2/.tpv_build/temp/_sha1_map.txt index 9f91e94..5e7a8d2 100644 --- a/Test/ClosureTest2/.tpv_build/temp/_sha1_map.txt +++ b/Test/ClosureTest2/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 440f18f9dce85a95:main.vp diff --git a/Test/ClosureTest2/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/ClosureTest2/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureTest2/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/ClosureTest2/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/ClosureTest2/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/ClosureTest2/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/ClosureTest2/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/ClosureTest2/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/ClosureTest2/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/ClosureTest2/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/ClosureTest2/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/ClosureTest2/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/ClosureTest2/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/ClosureTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/ClosureTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/ClosureTest2/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/ClosureTest2/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/ClosureTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/ClosureTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/ClosureTest2/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/ClosureTest2/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/ClosureTest2/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/ClosureTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/ClosureTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/ClosureTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/ClosureTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/ClosureTest2/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/ClosureTest2/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/ClosureTest2/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/ClosureTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/ClosureTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/ClosureTest2/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/ClosureTest2/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/ClosureTest2/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/ClosureTest2/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/ClosureTest2/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/ClosureTest2/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/ClosureTest2/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/ClosureTest2/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/ClosureTest2/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/_sha1_map.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/_sha1_map.txt index d29400c..b01c932 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp b1122357fee8fd68:main.vp diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/DecoratorMarkerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/DecoratorMarkerTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/DecoratorMarkerTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/DecoratorMarkerTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/DecoratorMarkerTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/DecoratorTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/DecoratorTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/DecoratorTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/DecoratorTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/DecoratorTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/DecoratorTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/DecoratorTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/DecoratorTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/DecoratorTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/DecoratorTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/DecoratorTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/DecoratorTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/DecoratorTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/DecoratorTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/DecoratorTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/DecoratorTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/DecoratorTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/DecoratorTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/DecoratorTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/DecoratorTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/DecoratorTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/DecoratorTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/DecoratorTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/DecoratorTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/DecoratorTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/DecoratorTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/DecoratorTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/DecoratorTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/DecoratorTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/DecoratorTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/DecoratorTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/DecoratorTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/DecoratorTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/DecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/DecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/DecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/81/814e6b31adfc6256.vpi b/Test/DecoratorTest/.tpv_build/temp/81/814e6b31adfc6256.vpi deleted file mode 100644 index b3e983a..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/81/814e6b31adfc6256.vpi +++ /dev/null @@ -1,59 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdio import printf -import testcheck -def log(ctx: t.CVoid | t.CPtr, func_name: str, phase: t.CInt, args_ptr: t.CVoid | t.CPtr, ret_ptr: t.CVoid | t.CPtr, decor_args_ptr: t.CVoid | t.CPtr) -> t.CInt | t.CExport: pass - -def trace(ctx: t.CVoid | t.CPtr, func_name: str, phase: t.CInt, args_ptr: t.CVoid | t.CPtr, ret_ptr: t.CVoid | t.CPtr, decor_args_ptr: t.CVoid | t.CPtr) -> t.CInt | t.CExport: pass - -_timing_tmp: t.CInt = 0 -def timing(ctx: t.CVoid | t.CPtr, func_name: str, phase: t.CInt, args_ptr: t.CVoid | t.CPtr, ret_ptr: t.CVoid | t.CPtr, decor_args_ptr: t.CVoid | t.CPtr) -> t.CInt | t.CExport: pass - -def repeat(ctx: t.CVoid | t.CPtr, func_name: str, phase: t.CInt, args_ptr: t.CVoid | t.CPtr, ret_ptr: t.CVoid | t.CPtr, decor_args_ptr: t.CVoid | t.CPtr) -> t.CInt | t.CExport: pass - -_skip_count: t.CInt = 0 -def skip(ctx: t.CVoid | t.CPtr, func_name: str, phase: t.CInt, args_ptr: t.CVoid | t.CPtr, ret_ptr: t.CVoid | t.CPtr, decor_args_ptr: t.CVoid | t.CPtr) -> t.CInt | t.CExport: pass - -_call_count: t.CInt = 0 -def count_calls(ctx: t.CVoid | t.CPtr, func_name: str, phase: t.CInt, args_ptr: t.CVoid | t.CPtr, ret_ptr: t.CVoid | t.CPtr, decor_args_ptr: t.CVoid | t.CPtr) -> t.CInt | t.CExport: pass - -@log -def add(a: t.CInt, b: t.CInt) -> t.CInt | t.CExport: pass - -@log -@trace -def multiply(a: t.CInt, b: t.CInt) -> t.CInt | t.CExport: pass - -@log -def greet(name: str) -> t.CVoid | t.CExport: pass - -@log -def get_value() -> t.CInt | t.CExport: pass - -@timing -def compute(x: t.CInt) -> t.CInt | t.CExport: pass - -@repeat(t.CInt) -def echo(msg: str) -> t.CVoid | t.CExport: pass - -@timing -@log -def power(base: t.CInt, exp: t.CInt) -> t.CInt | t.CExport: pass - -@skip -def dangerous() -> t.CInt | t.CExport: pass - -@repeat(t.CInt) -def accumulate(x: t.CInt) -> t.CInt | t.CExport: pass - -@count_calls -def factorial(n: t.CInt) -> t.CInt | t.CExport: pass - -@log -def fib(n: t.CInt) -> t.CInt | t.CExport: pass - -def main() -> t.CInt | t.CExport: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/DecoratorTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/DecoratorTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/DecoratorTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/DecoratorTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/DecoratorTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/DecoratorTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/_sha1_map.txt b/Test/DecoratorTest/.tpv_build/temp/_sha1_map.txt index 768613e..25a6337 100644 --- a/Test/DecoratorTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/DecoratorTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp -814e6b31adfc6256:main.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +6f9ca356f1a54d73:main.vp diff --git a/Test/DecoratorTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/DecoratorTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/DecoratorTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/DecoratorTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/DecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/DecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/DecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/DecoratorTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/DecoratorTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/DecoratorTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/DecoratorTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/DecoratorTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/DecoratorTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/DecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/DecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/DecoratorTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/DecoratorTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/DecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/DecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/DecoratorTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/DecoratorTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/DecoratorTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/DecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/DecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/DecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/DecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/DecoratorTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/DecoratorTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/DecoratorTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/DecoratorTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/DecoratorTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/DecoratorTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/DecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/DecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/DecoratorTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/DecoratorTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/DecoratorTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/DecoratorTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/DecoratorTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/DecoratorTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/DictTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/DictTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/DictTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/DictTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/DictTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DictTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/DictTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DictTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/DictTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/DictTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/DictTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/DictTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/DictTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/DictTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/DictTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/DictTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/DictTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/DictTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/DictTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/DictTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/DictTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/DictTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/DictTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/DictTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/DictTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/DictTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/DictTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/DictTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DictTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/DictTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/DictTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/DictTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DictTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/DictTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/DictTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/DictTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DictTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/DictTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/DictTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/DictTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/DictTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/DictTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DictTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/DictTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/DictTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/DictTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DictTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/DictTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DictTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/DictTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DictTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/DictTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/DictTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/DictTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/DictTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/DictTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/DictTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/DictTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/DictTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/DictTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/DictTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/DictTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/DictTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/_sha1_map.txt b/Test/DictTest/.tpv_build/temp/_sha1_map.txt index 3a0763e..9dec516 100644 --- a/Test/DictTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/DictTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,17 @@ aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp 6ddf430432a0e373:includes/json/__init__.vp 240a9a4157959a9f:includes/json/__parser.vp 20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp e0f0afe3caa1e486:includes/_dict.vp 7cadfe07e983fd90:includes/_list.vp -b3c2b99b6f3be4c7:main.vp +0335b22a0838d62a:main.vp diff --git a/Test/DictTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/DictTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/DictTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/DictTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/DictTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/DictTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/DictTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/DictTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/DictTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/DictTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/DictTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/DictTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/DictTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/b3/b3c2b99b6f3be4c7.vpi b/Test/DictTest/.tpv_build/temp/b3/b3c2b99b6f3be4c7.vpi deleted file mode 100644 index adc77d8..0000000 --- a/Test/DictTest/.tpv_build/temp/b3/b3c2b99b6f3be4c7.vpi +++ /dev/null @@ -1,14 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import w32.win32console -import t, c -from t import CInt, CExport -import stdio -import stdlib -import string -import memhub -import testcheck -def main() -> CInt | CExport: pass - diff --git a/Test/DictTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/DictTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/DictTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/DictTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/DictTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/DictTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DictTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/DictTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/DictTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/DictTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/DictTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/DictTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/DictTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DictTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/DictTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/DictTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/DictTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/DictTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/DictTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/DictTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DictTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/DictTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/DictTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/DictTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/DictTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/DictTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/DictTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/DictTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/DictTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/DictTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DictTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/DictTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/DictTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/DictTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/DictTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/DictTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/DictTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/DictTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/DictTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/DictTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/DictTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/DictTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/DictTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/DictTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/DictTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/DictTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/DictTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/DictTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/DictTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/DictTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/DictTest/output/20cd49775c100a38.deps.json b/Test/DictTest/output/20cd49775c100a38.deps.json index 74a5ecd..356b131 100644 --- a/Test/DictTest/output/20cd49775c100a38.deps.json +++ b/Test/DictTest/output/20cd49775c100a38.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "main": "b3c2b99b6f3be4c7", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"main": "0335b22a0838d62a", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "memhub": "2408ce147bac090b", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "40b053f21c0df07c", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/DictTest/output/240a9a4157959a9f.deps.json b/Test/DictTest/output/240a9a4157959a9f.deps.json index 74a5ecd..356b131 100644 --- a/Test/DictTest/output/240a9a4157959a9f.deps.json +++ b/Test/DictTest/output/240a9a4157959a9f.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "main": "b3c2b99b6f3be4c7", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"main": "0335b22a0838d62a", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "memhub": "2408ce147bac090b", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "40b053f21c0df07c", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/DictTest/output/6ddf430432a0e373.deps.json b/Test/DictTest/output/6ddf430432a0e373.deps.json index 74a5ecd..356b131 100644 --- a/Test/DictTest/output/6ddf430432a0e373.deps.json +++ b/Test/DictTest/output/6ddf430432a0e373.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "main": "b3c2b99b6f3be4c7", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"main": "0335b22a0838d62a", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "memhub": "2408ce147bac090b", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "40b053f21c0df07c", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/DictTest/output/_shared_sym_includes.pickle b/Test/DictTest/output/_shared_sym_includes.pickle index 371344c82c49cc66fb4c2b2f9142a4c9bcef2a17..35c0f3b51defe08fb9bd8f2b08e25c00ebd8dcf8 100644 GIT binary patch literal 807860 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

WCRsgSRc4W!9%X8B!V~PaIMLoXBz?gIdl{ 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 Q)}q`S7#WT4V6x}`0n85XS^xk5 literal 368311 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 z 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 Xyy2pA(`$v-RaxDtz(7#xlafOz7`YJttSUFKj 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 diff --git a/Test/DocTest/output/bbdf3bbd4c3bc28c.deps.json b/Test/DocTest/output/bbdf3bbd4c3bc28c.deps.json index e702d0a..ac84e38 100644 --- a/Test/DocTest/output/bbdf3bbd4c3bc28c.deps.json +++ b/Test/DocTest/output/bbdf3bbd4c3bc28c.deps.json @@ -1 +1 @@ -{"main": "14a9b576ab5d21c9", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"main": "14a9b576ab5d21c9", "stdio": "285b6aa29a34754d", "string": "4c39369ffedaddac", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/DocTest/output/f26d7266c4f8762b.deps.json b/Test/DocTest/output/f26d7266c4f8762b.deps.json index b4461ed..22a9310 100644 --- a/Test/DocTest/output/f26d7266c4f8762b.deps.json +++ b/Test/DocTest/output/f26d7266c4f8762b.deps.json @@ -1 +1 @@ -{"main": "14a9b576ab5d21c9", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"main": "14a9b576ab5d21c9", "stdio": "285b6aa29a34754d", "string": "4c39369ffedaddac", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/DocTest/output/fc980acec33d69a7.deps.json b/Test/DocTest/output/fc980acec33d69a7.deps.json index e702d0a..ac84e38 100644 --- a/Test/DocTest/output/fc980acec33d69a7.deps.json +++ b/Test/DocTest/output/fc980acec33d69a7.deps.json @@ -1 +1 @@ -{"main": "14a9b576ab5d21c9", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"main": "14a9b576ab5d21c9", "stdio": "285b6aa29a34754d", "string": "4c39369ffedaddac", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/DocTest/temp/_phase1_manifest.json b/Test/DocTest/temp/_phase1_manifest.json index 93f1191..65101d5 100644 --- a/Test/DocTest/temp/_phase1_manifest.json +++ b/Test/DocTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\DocTest\\App\\main.vp": {"sha1": "14a9b576ab5d21c9", "mtime": 1786000143.1706655, "size": 2162}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\DocTest\\App\\remote.vp": {"sha1": "f26d7266c4f8762b", "mtime": 1786000143.1723108, "size": 271}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\DocTest\\App\\main.vp": {"sha1": "14a9b576ab5d21c9", "mtime": 1786000143.1706655, "size": 2162}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\DocTest\\App\\remote.vp": {"sha1": "f26d7266c4f8762b", "mtime": 1786000143.1723108, "size": 271}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/DocTest/temp/_sha1_map.txt b/Test/DocTest/temp/_sha1_map.txt index 669f7b4..4c50ced 100644 --- a/Test/DocTest/temp/_sha1_map.txt +++ b/Test/DocTest/temp/_sha1_map.txt @@ -1,7 +1,7 @@ 14a9b576ab5d21c9:main.vp 285b6aa29a34754d:includes/stdio.vp +4c39369ffedaddac:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp f26d7266c4f8762b:remote.vp f5522571bcce7bcb:includes/stdint.vp diff --git a/Test/DocTest/temp/_shared_sym.json b/Test/DocTest/temp/_shared_sym.json index e55f26d22ac0d89a7528e612b4a93688fa4b8fd8..a5b823fc7f804e45e9f176577cee756ba9833cd2 100644 GIT binary patch literal 446082 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 literal 365027 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 z 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 literal 689382 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 wEub)cb`HQqsILjQw)9&= CInt | CExport: pass diff --git a/Test/FakeDuckTest/temp/74cd54a2cba56957.stub.ll.dep b/Test/FakeDuckTest/temp/74cd54a2cba56957.stub.ll.dep index e900fe3..a519d2b 100644 --- a/Test/FakeDuckTest/temp/74cd54a2cba56957.stub.ll.dep +++ b/Test/FakeDuckTest/temp/74cd54a2cba56957.stub.ll.dep @@ -1 +1 @@ -067c78e9f121dce3|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file +067c78e9f121dce3|285b6aa29a34754d|4c39369ffedaddac|6c658cc728d0bbf4|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/FakeDuckTest/temp/7cadfe07e983fd90.stub.ll.dep b/Test/FakeDuckTest/temp/7cadfe07e983fd90.stub.ll.dep index 7df8e8d..d91b2c0 100644 --- a/Test/FakeDuckTest/temp/7cadfe07e983fd90.stub.ll.dep +++ b/Test/FakeDuckTest/temp/7cadfe07e983fd90.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/FakeDuckTest/temp/_phase1_manifest.json b/Test/FakeDuckTest/temp/_phase1_manifest.json index 6e31dd0..a38f45a 100644 --- a/Test/FakeDuckTest/temp/_phase1_manifest.json +++ b/Test/FakeDuckTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\FakeDuckTest\\App\\main.vp": {"sha1": "48352329f97d0858", "mtime": 1784566611.8459883, "size": 12227}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_fakeduck.vp": {"sha1": "b311b47f33281389", "mtime": 1785338645.5702267, "size": 9784}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_withcontent.vp": {"sha1": "74cd54a2cba56957", "mtime": 1785338441.9971497, "size": 2089}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.vp": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\FakeDuckTest\\App\\main.vp": {"sha1": "703f69a554ed2a4e", "mtime": 1786169711.9276044, "size": 12623}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_fakeduck.vp": {"sha1": "b311b47f33281389", "mtime": 1785338645.5702267, "size": 9784}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_withcontent.vp": {"sha1": "74cd54a2cba56957", "mtime": 1785338441.9971497, "size": 2089}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.vp": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}} \ No newline at end of file diff --git a/Test/FakeDuckTest/temp/_sha1_map.txt b/Test/FakeDuckTest/temp/_sha1_map.txt index 50cecd2..081e1e7 100644 --- a/Test/FakeDuckTest/temp/_sha1_map.txt +++ b/Test/FakeDuckTest/temp/_sha1_map.txt @@ -1,15 +1,15 @@ -04e5fe47ff2af528:includes/memhub.vp 067c78e9f121dce3:includes/w32\win32process.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp -48352329f97d0858:main.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp +703f69a554ed2a4e:main.vp 748d0424e8976fa0:includes/testcheck.vp 74cd54a2cba56957:includes/_withcontent.vp 7cadfe07e983fd90:includes/_list.vp -928c0ff6d8c69ec9:includes/string.vp aa246c6e6aa30484:includes/atom.vp b311b47f33281389:includes/_fakeduck.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/FakeDuckTest/temp/b311b47f33281389.stub.ll.dep b/Test/FakeDuckTest/temp/b311b47f33281389.stub.ll.dep index 7df8e8d..d91b2c0 100644 --- a/Test/FakeDuckTest/temp/b311b47f33281389.stub.ll.dep +++ b/Test/FakeDuckTest/temp/b311b47f33281389.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.vpi b/Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/FakeDuckTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/ForAndLoopTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/ForAndLoopTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/ForAndLoopTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/ForAndLoopTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/ForAndLoopTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/ForAndLoopTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/ForAndLoopTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/ForAndLoopTest/.tpv_build/temp/6d/6deb1a24b47f47fc.vpi b/Test/ForAndLoopTest/.tpv_build/temp/6d/6deb1a24b47f47fc.vpi deleted file mode 100644 index 3dc6a3d..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/6d/6deb1a24b47f47fc.vpi +++ /dev/null @@ -1,33 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t -import c -import stdio -import stdlib -import string -import memhub -import testcheck -import _fakeduck -def test_for_in_range(): pass - -def test_for_in_str(): pass - -def test_for_in_list(): pass - -def test_zip_list_list(): pass - -def test_zip_range_list(): pass - -def test_zip_str_str(): pass - -def test_zip_range_len_list(): pass - -def test_enumerate_list(): pass - -def test_enumerate_str(): pass - -def test_enumerate_range(): pass - -def main() -> t.CInt: pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/ForAndLoopTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/ForAndLoopTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/ForAndLoopTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/ForAndLoopTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/_sha1_map.txt b/Test/ForAndLoopTest/.tpv_build/temp/_sha1_map.txt index 03de403..afce4b9 100644 --- a/Test/ForAndLoopTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/ForAndLoopTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,13 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -b311b47f33281389:includes/_fakeduck.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp -6deb1a24b47f47fc:main.vp +918064226d2858b3:main.vp diff --git a/Test/ForAndLoopTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/ForAndLoopTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/ForAndLoopTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/ForAndLoopTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/ForAndLoopTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/b3/b311b47f33281389.vpi b/Test/ForAndLoopTest/.tpv_build/temp/b3/b311b47f33281389.vpi deleted file mode 100644 index bef64ec..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/b3/b311b47f33281389.vpi +++ /dev/null @@ -1,30 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -import memhub -import string -class _Type: - def type_id(self) -> int: pass - -class _str: - __requires__: list[str] - __data__: str - __mbuddy__: memhub.MemBuddy | t.CPtr - def upper(self) -> str: pass - def lower(self) -> str: pass - def capitalize(self) -> str: pass - def swapcase(self) -> str: pass - def title(self) -> str: pass - def casefold(self) -> str: pass - def isupper(self) -> bool: pass - def islower(self) -> bool: pass - def isalpha(self) -> bool: pass - def isdigit(self) -> bool: pass - def isalnum(self) -> bool: pass - def isspace(self) -> bool: pass - def isascii(self) -> bool: pass - def istitle(self) -> bool: pass - def split(self, delimiter: str) -> list[str]: pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/ForAndLoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/ForAndLoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/ForAndLoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/ForAndLoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/ForAndLoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/ForAndLoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/ForAndLoopTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/ForAndLoopTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/ForAndLoopTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/ForAndLoopTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/ForAndLoopTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/ForAndLoopTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/ForAndLoopTest/output/6deb1a24b47f47fc.deps.json b/Test/ForAndLoopTest/output/6deb1a24b47f47fc.deps.json index c99e875..723773e 100644 --- a/Test/ForAndLoopTest/output/6deb1a24b47f47fc.deps.json +++ b/Test/ForAndLoopTest/output/6deb1a24b47f47fc.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "_list": "7cadfe07e983fd90", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "_fakeduck": "b311b47f33281389", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "_list": "7cadfe07e983fd90", "atom": "aa246c6e6aa30484", "_fakeduck": "b311b47f33281389", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ForAndLoopTest/temp/7cadfe07e983fd90.stub.ll.dep b/Test/ForAndLoopTest/temp/7cadfe07e983fd90.stub.ll.dep index 7df8e8d..d91b2c0 100644 --- a/Test/ForAndLoopTest/temp/7cadfe07e983fd90.stub.ll.dep +++ b/Test/ForAndLoopTest/temp/7cadfe07e983fd90.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/ForAndLoopTest/temp/_phase1_manifest.json b/Test/ForAndLoopTest/temp/_phase1_manifest.json index 8327acb..b5ae37b 100644 --- a/Test/ForAndLoopTest/temp/_phase1_manifest.json +++ b/Test/ForAndLoopTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ForAndLoopTest\\App\\main.vp": {"sha1": "6deb1a24b47f47fc", "mtime": 1782827984.6760156, "size": 4951}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_fakeduck.vp": {"sha1": "b311b47f33281389", "mtime": 1785338645.5702267, "size": 9784}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ForAndLoopTest\\App\\main.vp": {"sha1": "6deb1a24b47f47fc", "mtime": 1782827984.6760156, "size": 4951}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_fakeduck.vp": {"sha1": "b311b47f33281389", "mtime": 1785338645.5702267, "size": 9784}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/ForAndLoopTest/temp/_sha1_map.txt b/Test/ForAndLoopTest/temp/_sha1_map.txt index 3bdbe84..213b9a0 100644 --- a/Test/ForAndLoopTest/temp/_sha1_map.txt +++ b/Test/ForAndLoopTest/temp/_sha1_map.txt @@ -1,13 +1,13 @@ -04e5fe47ff2af528:includes/memhub.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 6deb1a24b47f47fc:main.vp 748d0424e8976fa0:includes/testcheck.vp 7cadfe07e983fd90:includes/_list.vp -928c0ff6d8c69ec9:includes/string.vp aa246c6e6aa30484:includes/atom.vp b311b47f33281389:includes/_fakeduck.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/ForAndLoopTest/temp/b311b47f33281389.stub.ll.dep b/Test/ForAndLoopTest/temp/b311b47f33281389.stub.ll.dep index 7df8e8d..d91b2c0 100644 --- a/Test/ForAndLoopTest/temp/b311b47f33281389.stub.ll.dep +++ b/Test/ForAndLoopTest/temp/b311b47f33281389.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.vpi b/Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/ForAndLoopTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/FormatStringTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/FormatStringTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/FormatStringTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/FormatStringTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/FormatStringTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/FormatStringTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/FormatStringTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/FormatStringTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/FormatStringTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/FormatStringTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/FormatStringTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/FormatStringTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/FormatStringTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/FormatStringTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/FormatStringTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/FormatStringTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/FormatStringTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/FormatStringTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/FormatStringTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/FormatStringTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/FormatStringTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/FormatStringTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/FormatStringTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/FormatStringTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/FormatStringTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/FormatStringTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/FormatStringTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/FormatStringTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/FormatStringTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/FormatStringTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/FormatStringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/FormatStringTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/FormatStringTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/FormatStringTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/FormatStringTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/FormatStringTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/FormatStringTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/FormatStringTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/FormatStringTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/FormatStringTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/FormatStringTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/_sha1_map.txt b/Test/FormatStringTest/.tpv_build/temp/_sha1_map.txt index a91535e..dab4048 100644 --- a/Test/FormatStringTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/FormatStringTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp cdff0d7b58fc935b:main.vp diff --git a/Test/FormatStringTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/FormatStringTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/FormatStringTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/FormatStringTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/FormatStringTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/FormatStringTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/FormatStringTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/FormatStringTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/FormatStringTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/FormatStringTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/FormatStringTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/FormatStringTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/FormatStringTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/FormatStringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/FormatStringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/FormatStringTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/FormatStringTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/FormatStringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/FormatStringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/FormatStringTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/FormatStringTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/FormatStringTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/FormatStringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/FormatStringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/FormatStringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/FormatStringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/FormatStringTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/FormatStringTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/FormatStringTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/FormatStringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/FormatStringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/FormatStringTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/FormatStringTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/FormatStringTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/FormatStringTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/FormatStringTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/FormatStringTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/FormatStringTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/FormatStringTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/FormatStringTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/FuncTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/FuncTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/FuncTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/FuncTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FuncTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/06/067f811511854c88.deps.txt b/Test/FuncTest/.tpv_build/temp/06/067f811511854c88.deps.txt deleted file mode 100644 index 1412602..0000000 --- a/Test/FuncTest/.tpv_build/temp/06/067f811511854c88.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdio testcheck w32.win32memory w32 w32.win32memory w32 \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/06/067f811511854c88.vpi b/Test/FuncTest/.tpv_build/temp/06/067f811511854c88.vpi deleted file mode 100644 index f9e6b5a..0000000 --- a/Test/FuncTest/.tpv_build/temp/06/067f811511854c88.vpi +++ /dev/null @@ -1,42 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -import stdio -import testcheck -def add(a: t.CInt, b: t.CInt) -> t.CInt: pass - -def sub(a: t.CInt, b: t.CInt) -> t.CInt: pass - -def multi_args(a: t.CInt, b: t.CInt, c: t.CInt, d: t.CInt) -> t.CInt: pass - -def factorial(n: t.CInt) -> t.CInt: pass - -def fib(n: t.CInt) -> t.CInt: pass - -def add_via_ptr(p: t.CInt | t.CPtr, val: t.CInt): pass - -def make_u64() -> t.CUInt64T: pass - -def is_even(n: t.CInt) -> t.CBool: pass - -def test_basic_call(): pass - -def test_multi_args(): pass - -def test_recursion(): pass - -def test_fibonacci(): pass - -def test_ptr_param(): pass - -def test_u64_return(): pass - -def test_bool_return(): pass - -def test_nested_call(): pass - -import w32.win32memory -def main() -> t.CInt: pass - diff --git a/Test/FuncTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/FuncTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FuncTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/FuncTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/FuncTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/FuncTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/FuncTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/FuncTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/FuncTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/FuncTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/FuncTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/FuncTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/FuncTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/FuncTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/FuncTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/FuncTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/FuncTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/FuncTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/FuncTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/FuncTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/FuncTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/FuncTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/FuncTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/FuncTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/FuncTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/FuncTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/FuncTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/FuncTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FuncTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/FuncTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/FuncTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/FuncTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/FuncTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/FuncTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/FuncTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/FuncTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/FuncTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/FuncTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/FuncTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/FuncTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/FuncTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/FuncTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/FuncTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/FuncTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/FuncTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/FuncTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/FuncTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/FuncTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/FuncTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FuncTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/FuncTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/FuncTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/FuncTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/FuncTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FuncTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/FuncTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FuncTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi b/Test/FuncTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index 837f0e5..0000000 --- a/Test/FuncTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine = 4096 -MEM_RESERVE: t.CDefine = 8192 -MEM_DECOMMIT: t.CDefine = 16384 -MEM_RELEASE: t.CDefine = 32768 -MEM_FREE: t.CDefine = 65536 -MEM_RESET: t.CDefine = 524288 -MEM_TOP_DOWN: t.CDefine = 1048576 -MEM_WRITE_WATCH: t.CDefine = 2097152 -MEM_PHYSICAL: t.CDefine = 4194304 -MEM_LARGE_PAGES: t.CDefine = 536870912 -PAGE_NOACCESS: t.CDefine = 1 -PAGE_READONLY: t.CDefine = 2 -PAGE_READWRITE: t.CDefine = 4 -PAGE_WRITECOPY: t.CDefine = 8 -PAGE_EXECUTE: t.CDefine = 16 -PAGE_EXECUTE_READ: t.CDefine = 32 -PAGE_EXECUTE_READWRITE: t.CDefine = 64 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 128 -PAGE_GUARD: t.CDefine = 256 -PAGE_NOCACHE: t.CDefine = 512 -PAGE_WRITECOMBINE: t.CDefine = 1024 -HEAP_NO_SERIALIZE: t.CDefine = 1 -HEAP_GROWABLE: t.CDefine = 2 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 4 -HEAP_ZERO_MEMORY: t.CDefine = 8 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 16 -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/FuncTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/FuncTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/FuncTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/FuncTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/FuncTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/FuncTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/FuncTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/FuncTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/FuncTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/FuncTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/FuncTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/FuncTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/FuncTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/FuncTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/FuncTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/FuncTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/_sha1_map.txt b/Test/FuncTest/.tpv_build/temp/_sha1_map.txt index 940321a..e46c478 100644 --- a/Test/FuncTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/FuncTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,8 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -72e2d5ccb7cedcf1:includes/w32/win32memory.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp -067f811511854c88:main.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +fb67ebda973806ad:includes/w32/win32memory.vp +c32420eb87034454:main.vp diff --git a/Test/FuncTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/FuncTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/FuncTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/FuncTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/FuncTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/FuncTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/FuncTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/FuncTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/FuncTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/FuncTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/FuncTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/FuncTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/FuncTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/FuncTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/FuncTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/FuncTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/FuncTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/FuncTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/FuncTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/FuncTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/FuncTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FuncTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/FuncTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/FuncTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/FuncTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/FuncTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/FuncTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/FuncTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FuncTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/FuncTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/FuncTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/FuncTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/FuncTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/FuncTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/FuncTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/FuncTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/FuncTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/FuncTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/FuncTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/FuncTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/FuncTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/FuncTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/FuncTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/FuncTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/FuncTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/FuncTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/FuncTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/FuncTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/FuncTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/FuncTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/FuncTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/FuncTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/FuncTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/FuncTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/FuncTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/FuncTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/FuncTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/FuncTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/FuncTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/FuncTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/FuncTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/FuncTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/FuncTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/FuncTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/FuncTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/FuncTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/FuncTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/FuncTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/FuncTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/FuncTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/FuncTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/FuncTest/App/main.vp b/Test/FuncTest/App/main.vp index 77a7372..86f1011 100644 --- a/Test/FuncTest/App/main.vp +++ b/Test/FuncTest/App/main.vp @@ -93,7 +93,7 @@ def test_nested_call(): import w32.win32memory -def main() -> t.CInt: +export def main() -> t.CInt: testcheck.begin("FuncTest: 函数调用基准测试") test_basic_call() test_multi_args() diff --git a/Test/FuncTest/output/067f811511854c88.deps.json b/Test/FuncTest/output/067f811511854c88.deps.json deleted file mode 100644 index d28f8f4..0000000 --- a/Test/FuncTest/output/067f811511854c88.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"stdio": "285b6aa29a34754d", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/FuncTest/temp/067c78e9f121dce3.vpi b/Test/FuncTest/temp/067c78e9f121dce3.vpi deleted file mode 100644 index a606126..0000000 --- a/Test/FuncTest/temp/067c78e9f121dce3.vpi +++ /dev/null @@ -1,136 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32process.vp -Module: w32.win32process -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -PROCESS_TERMINATE: t.CDefine = 0x0001 -PROCESS_CREATE_THREAD: t.CDefine = 0x0002 -PROCESS_VM_OPERATION: t.CDefine = 0x0008 -PROCESS_VM_READ: t.CDefine = 0x0010 -PROCESS_VM_WRITE: t.CDefine = 0x0020 -PROCESS_QUERY_INFORMATION: t.CDefine = 0x0400 -PROCESS_ALL_ACCESS: t.CDefine = 0x001FFFFF -THREAD_TERMINATE: t.CDefine = 0x0001 -THREAD_SUSPEND_RESUME: t.CDefine = 0x0002 -THREAD_GET_CONTEXT: t.CDefine = 0x0008 -THREAD_SET_CONTEXT: t.CDefine = 0x0010 -THREAD_QUERY_INFORMATION: t.CDefine = 0x0040 -THREAD_ALL_ACCESS: t.CDefine = 0x001FFFFF -CREATE_SUSPENDED: t.CDefine = 0x00000004 -CREATE_NEW_CONSOLE: t.CDefine = 0x00000010 -CREATE_NEW_PROCESS_GROUP: t.CDefine = 0x00000200 -CREATE_NO_WINDOW: t.CDefine = 0x08000000 -DETACHED_PROCESS: t.CDefine = 0x00000008 -STARTF_USESHOWWINDOW: t.CDefine = 0x00000001 -STARTF_USESTDHANDLES: t.CDefine = 0x00000100 -SW_HIDE: t.CDefine = 0 -SW_SHOW: t.CDefine = 5 -SW_MINIMIZE: t.CDefine = 6 -NORMAL_PRIORITY_CLASS: t.CDefine = 0x00000020 -IDLE_PRIORITY_CLASS: t.CDefine = 0x00000040 -HIGH_PRIORITY_CLASS: t.CDefine = 0x00000080 -REALTIME_PRIORITY_CLASS: t.CDefine = 0x00000100 -BELOW_NORMAL_PRIORITY_CLASS: t.CDefine = 0x00004000 -ABOVE_NORMAL_PRIORITY_CLASS: t.CDefine = 0x00008000 -STILL_ACTIVE: t.CDefine = 259 - -class STARTUPINFOA: - cb: ULONG - lpReserved: CHARPTR - lpDesktop: CHARPTR - lpTitle: CHARPTR - dwX: ULONG - dwY: ULONG - dwXSize: ULONG - dwYSize: ULONG - dwXCountChars: ULONG - dwYCountChars: ULONG - dwFillAttribute: ULONG - dwFlags: ULONG - wShowWindow: WORD - cbReserved2: WORD - lpReserved2: VOIDPTR - hStdInput: HANDLE - hStdOutput: HANDLE - hStdError: HANDLE -class STARTUPINFOW: - cb: ULONG - lpReserved: WCHARPTR - lpDesktop: WCHARPTR - lpTitle: WCHARPTR - dwX: ULONG - dwY: ULONG - dwXSize: ULONG - dwYSize: ULONG - dwXCountChars: ULONG - dwYCountChars: ULONG - dwFillAttribute: ULONG - dwFlags: ULONG - wShowWindow: WORD - cbReserved2: WORD - lpReserved2: VOIDPTR - hStdInput: HANDLE - hStdOutput: HANDLE - hStdError: HANDLE -class PROCESS_INFORMATION: - hProcess: HANDLE - hThread: HANDLE - dwProcessId: ULONG - dwThreadId: ULONG - -def CreateProcessA(lpApplicationName: LPCSTR, lpCommandLine: CHARPTR, lpProcessAttributes: SECURITY_ATTRIBUTES | t.CPtr, lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInheritHandles: BOOL, dwCreationFlags: ULONG, lpEnvironment: VOIDPTR, lpCurrentDirectory: LPCSTR, lpStartupInfo: STARTUPINFOA | t.CPtr, lpProcessInformation: PROCESS_INFORMATION | t.CPtr) -> BOOL | t.State: pass - -def CreateProcessW(lpApplicationName: LPCWSTR, lpCommandLine: WCHARPTR, lpProcessAttributes: SECURITY_ATTRIBUTES | t.CPtr, lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInheritHandles: BOOL, dwCreationFlags: ULONG, lpEnvironment: VOIDPTR, lpCurrentDirectory: LPCWSTR, lpStartupInfo: STARTUPINFOW | t.CPtr, lpProcessInformation: PROCESS_INFORMATION | t.CPtr) -> BOOL | t.State: pass - -def TerminateProcess(hProcess: HANDLE, uExitCode: UINT) -> BOOL | t.State: pass - -def GetExitCodeProcess(hProcess: HANDLE, lpExitCode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetExitCodeThread(hThread: HANDLE, lpExitCode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def OpenProcess(dwDesiredAccess: ULONG, bInheritHandle: BOOL, dwProcessId: ULONG) -> HANDLE | t.State: pass - -def GetCurrentProcess() -> HANDLE | t.State: pass - -def GetCurrentProcessId() -> ULONG | t.State: pass - -def CreateThread(lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, dwStackSize: t.CSizeT, lpStartAddress: VOIDPTR, lpParameter: VOIDPTR, dwCreationFlags: ULONG, lpThreadId: ULONG | t.CPtr) -> HANDLE | t.State: pass - -def OpenThread(dwDesiredAccess: ULONG, bInheritHandle: BOOL, dwThreadId: ULONG) -> HANDLE | t.State: pass - -def SuspendThread(hThread: HANDLE) -> ULONG | t.State: pass - -def ResumeThread(hThread: HANDLE) -> ULONG | t.State: pass - -def TerminateThread(hThread: HANDLE, dwExitCode: ULONG) -> BOOL | t.State: pass - -def GetCurrentThread() -> HANDLE | t.State: pass - -def GetCurrentThreadId() -> ULONG | t.State: pass - -def GetThreadId(hThread: HANDLE) -> ULONG | t.State: pass - -def GetProcessId(hProcess: HANDLE) -> ULONG | t.State: pass - -def SetThreadPriority(hThread: HANDLE, nPriority: INT) -> BOOL | t.State: pass - -def GetThreadPriority(hThread: HANDLE) -> INT | t.State: pass - -def ExitProcess(uExitCode: UINT) -> VOID | t.State: pass - -def ExitThread(dwExitCode: ULONG) -> VOID | t.State: pass - -def TlsAlloc() -> ULONG | t.State: pass - -def TlsFree(dwTlsIndex: ULONG) -> BOOL | t.State: pass - -def TlsGetValue(dwTlsIndex: ULONG) -> VOIDPTR | t.State: pass - -def TlsSetValue(dwTlsIndex: ULONG, lpTlsValue: VOIDPTR) -> BOOL | t.State: pass diff --git a/Test/FuncTest/temp/067f811511854c88.doc.json b/Test/FuncTest/temp/067f811511854c88.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/FuncTest/temp/067f811511854c88.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/FuncTest/temp/067f811511854c88.vpi b/Test/FuncTest/temp/067f811511854c88.vpi deleted file mode 100644 index da02ba9..0000000 --- a/Test/FuncTest/temp/067f811511854c88.vpi +++ /dev/null @@ -1,48 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - -import c - - -import t -import stdio -import testcheck - -def add(a: t.CInt, b: t.CInt) -> t.CInt: pass - -def sub(a: t.CInt, b: t.CInt) -> t.CInt: pass - -def multi_args(a: t.CInt, b: t.CInt, c: t.CInt, d: t.CInt) -> t.CInt: pass - -def factorial(n: t.CInt) -> t.CInt: pass - -def fib(n: t.CInt) -> t.CInt: pass - -def add_via_ptr(p: t.CInt | t.CPtr, val: t.CInt) -> t.CInt: pass - -def make_u64() -> t.CUInt64T: pass - -def is_even(n: t.CInt) -> t.CBool: pass - -def test_basic_call() -> t.CInt: pass - -def test_multi_args() -> t.CInt: pass - -def test_recursion() -> t.CInt: pass - -def test_fibonacci() -> t.CInt: pass - -def test_ptr_param() -> t.CInt: pass - -def test_u64_return() -> t.CInt: pass - -def test_bool_return() -> t.CInt: pass - -def test_nested_call() -> t.CInt: pass - - -import w32.win32memory - -def main() -> t.CInt: pass diff --git a/Test/FuncTest/temp/06f53cc594b4ac6c.vpi b/Test/FuncTest/temp/06f53cc594b4ac6c.vpi deleted file mode 100644 index ac278f4..0000000 --- a/Test/FuncTest/temp/06f53cc594b4ac6c.vpi +++ /dev/null @@ -1,109 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32sync.vp -Module: w32.win32sync -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -class CRITICAL_SECTION: - DebugInfo: VOIDPTR - LockCount: LONG - RecursionCount: LONG - OwningThread: HANDLE - LockSemaphore: HANDLE - SpinCount: QWORD - -def InitializeCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def EnterCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def LeaveCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def DeleteCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def TryEnterCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> BOOL | t.State: pass - -def SetCriticalSectionSpinCount(lpCriticalSection: CRITICAL_SECTION | t.CPtr, dwSpinCount: ULONG) -> ULONG | t.State: pass - -def InitializeCriticalSectionAndSpinCount(lpCriticalSection: CRITICAL_SECTION | t.CPtr, dwSpinCount: ULONG) -> BOOL | t.State: pass - -def CreateMutexA(lpMutexAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInitialOwner: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateMutexW(lpMutexAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInitialOwner: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenMutexA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenMutexW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def ReleaseMutex(hMutex: HANDLE) -> BOOL | t.State: pass - -def CreateEventA(lpEventAttributes: SECURITY_ATTRIBUTES | t.CPtr, bManualReset: BOOL, bInitialState: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateEventW(lpEventAttributes: SECURITY_ATTRIBUTES | t.CPtr, bManualReset: BOOL, bInitialState: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenEventA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenEventW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def SetEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def ResetEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def PulseEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def CreateSemaphoreA(lpSemaphoreAttributes: SECURITY_ATTRIBUTES | t.CPtr, lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateSemaphoreW(lpSemaphoreAttributes: SECURITY_ATTRIBUTES | t.CPtr, lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenSemaphoreA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenSemaphoreW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def ReleaseSemaphore(hSemaphore: HANDLE, lReleaseCount: LONG, lpPreviousCount: LONG | t.CPtr) -> BOOL | t.State: pass - -def WaitForSingleObject(hHandle: HANDLE, dwMilliseconds: ULONG) -> ULONG | t.State: pass - -def WaitForSingleObjectEx(hHandle: HANDLE, dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def WaitForMultipleObjects(nCount: ULONG, lpHandles: VOIDPTR, bWaitAll: BOOL, dwMilliseconds: ULONG) -> ULONG | t.State: pass - -def WaitForMultipleObjectsEx(nCount: ULONG, lpHandles: VOIDPTR, bWaitAll: BOOL, dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def InitializeSRWLock(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def AcquireSRWLockExclusive(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def AcquireSRWLockShared(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def ReleaseSRWLockExclusive(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def ReleaseSRWLockShared(SRWLock: VOIDPTR) -> VOID | t.State: pass - - -CONDITION_VARIABLE_LOCKMODE_SHARED: t.CDefine = 0x1 - -def InitializeConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - -def SleepConditionVariableCS(ConditionVariable: VOIDPTR, CriticalSection: CRITICAL_SECTION | t.CPtr, dwMilliseconds: ULONG) -> BOOL | t.State: pass - -def SleepConditionVariableSRW(ConditionVariable: VOIDPTR, SRWLock: VOIDPTR, dwMilliseconds: ULONG, Flags: ULONG) -> BOOL | t.State: pass - -def WakeConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - -def WakeAllConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - - -INIT_ONCE_STATIC_INIT: t.CDefine = 0x00000001 -INIT_ONCE_CHECK_ONLY: t.CDefine = 0x00000002 -INIT_ONCE_ASYNC: t.CDefine = 0x00000004 -INIT_ONCE_INIT_FAILED: t.CDefine = 0x00000008 - -class INIT_ONCE: - Ptr: t.CPtr - -def InitOnceExecuteOnce(InitOnce: INIT_ONCE | t.CPtr, InitFn: VOIDPTR, Parameter: VOIDPTR, Context: VOIDPTR | t.CPtr) -> BOOL | t.State: pass diff --git a/Test/FuncTest/temp/285b6aa29a34754d.stub.ll.dep b/Test/FuncTest/temp/285b6aa29a34754d.stub.ll.dep deleted file mode 100644 index e69de29..0000000 diff --git a/Test/FuncTest/temp/285b6aa29a34754d.vpi b/Test/FuncTest/temp/285b6aa29a34754d.vpi deleted file mode 100644 index acc57c7..0000000 --- a/Test/FuncTest/temp/285b6aa29a34754d.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from stdio.vp -Module: stdio -""" - - -import t, c - -def printf(fmt: t.CConst | str, *args) -> int | t.State: pass - -def fprintf(stream: bytes, fmt: t.CConst | str, *args) -> int | t.State: pass - -def sprintf(buf: bytes, fmt: t.CConst | str, *args) -> int | t.State: pass - -def snprintf(buf: bytes, size: t.CSizeT, fmt: t.CConst | str, *args) -> int | t.State: pass - -def puts(s: t.CConst | str) -> int | t.State: pass - -def fputs(s: t.CConst | str, stream: bytes) -> int | t.State: pass - -def fgets(buf: bytes, size: int, stream: bytes) -> bytes | t.State: pass - -def fflush(stream: bytes) -> int | t.State: pass diff --git a/Test/FuncTest/temp/6446627d4f07a1b5.vpi b/Test/FuncTest/temp/6446627d4f07a1b5.vpi deleted file mode 100644 index 55f6a1f..0000000 --- a/Test/FuncTest/temp/6446627d4f07a1b5.vpi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from w32.winsock2.vp -Module: w32.winsock2 -""" - - -import t, c -from stdint import * -from w32.win32base import * - -WINSOCK_VERSION: t.CDefine = 0x0202 # 2.2 -AF_INET: t.CDefine = 2 -AF_INET6: t.CDefine = 23 -SOCK_STREAM: t.CDefine = 1 # TCP -SOCK_DGRAM: t.CDefine = 2 # UDP -SOCK_RAW: t.CDefine = 3 # 原始套接字 -IPPROTO_TCP: t.CDefine = 6 -IPPROTO_UDP: t.CDefine = 17 -SOL_SOCKET: t.CDefine = 0xFFFF # WinSock2 值 -SO_RCVTIMEO: t.CDefine = 0x1006 # WinSock2 值 -SO_SNDTIMEO: t.CDefine = 0x1005 # WinSock2 值 -SO_REUSEADDR: t.CDefine = 0x0004 # WinSock2 值 -INADDR_ANY: t.CDefine = 0 -SOCKET_ERROR: t.CDefine = -1 -INVALID_SOCKET: t.CDefine = 0xFFFFFFFF # WinSock2: ~0 -MSG_NOSIGNAL: t.CDefine = 0 # Windows 不支持,设为 0 -SD_SEND: t.CDefine = 1 -SD_RECV: t.CDefine = 0 -SD_BOTH: t.CDefine = 2 - -class WSASocketAddr: - family: u16 - port: u16 - addr: u32 - zero: u64 -class WSAData: - wVersion: WORD - wHighVersion: WORD - szDescription: BYTE - szSystemStatus: BYTE - iMaxSockets: u16 - iMaxUdpDg: u16 - lpVendorInfo: CHARPTR -class WSAHostEnt: - h_name: CHARPTR - h_aliases: CHARPTR - h_addrtype: SHORT - h_length: SHORT - h_addr_list: CHARPTR -class WinTimeVal: - tv_sec: LONG - tv_usec: LONG - -def WSAStartup(wVersionRequested: WORD, lpWSAData: WSAData | t.CPtr) -> INT | t.State: pass - -def WSACleanup() -> INT | t.State: pass - -def WSAGetLastError() -> INT | t.State: pass - -def socket(family: INT, type: INT, protocol: INT) -> u64 | t.State: pass - -def closesocket(s: u64) -> INT | t.State: pass - -def connect(s: u64, name: WSASocketAddr | t.CPtr, namelen: INT) -> INT | t.State: pass - -def send(s: u64, buf: t.CVoid | t.CPtr, len: INT, flags: INT) -> INT | t.State: pass - -def recv(s: u64, buf: t.CVoid | t.CPtr, len: INT, flags: INT) -> INT | t.State: pass - -def bind(s: u64, name: WSASocketAddr | t.CPtr, namelen: INT) -> INT | t.State: pass - -def listen(s: u64, backlog: INT) -> INT | t.State: pass - -def accept(s: u64, addr: WSASocketAddr | t.CPtr, addrlen: INT | t.CPtr) -> u64 | t.State: pass - -def setsockopt(s: u64, level: INT, optname: INT, optval: t.CVoid | t.CPtr, optlen: INT) -> INT | t.State: pass - -def shutdown(s: u64, how: INT) -> INT | t.State: pass - -def gethostbyname(name: t.CChar | t.CConst | t.CPtr) -> WSAHostEnt | t.CPtr | t.State: pass - -def ntohs(netshort: u16) -> u16 | t.State: pass - -def htons(hostshort: u16) -> u16 | t.State: pass - -def inet_addr(cp: t.CChar | t.CConst | t.CPtr) -> u32 | t.State: pass diff --git a/Test/FuncTest/temp/72e2d5ccb7cedcf1.stub.ll.dep b/Test/FuncTest/temp/72e2d5ccb7cedcf1.stub.ll.dep deleted file mode 100644 index d4b382c..0000000 --- a/Test/FuncTest/temp/72e2d5ccb7cedcf1.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/FuncTest/temp/72e2d5ccb7cedcf1.vpi b/Test/FuncTest/temp/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index f85ee45..0000000 --- a/Test/FuncTest/temp/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,91 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32memory.vp -Module: w32.win32memory -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -MEM_COMMIT: t.CDefine = 0x00001000 -MEM_RESERVE: t.CDefine = 0x00002000 -MEM_DECOMMIT: t.CDefine = 0x00004000 -MEM_RELEASE: t.CDefine = 0x00008000 -MEM_FREE: t.CDefine = 0x00010000 -MEM_RESET: t.CDefine = 0x00080000 -MEM_TOP_DOWN: t.CDefine = 0x00100000 -MEM_WRITE_WATCH: t.CDefine = 0x00200000 -MEM_PHYSICAL: t.CDefine = 0x00400000 -MEM_LARGE_PAGES: t.CDefine = 0x20000000 -PAGE_NOACCESS: t.CDefine = 0x01 -PAGE_READONLY: t.CDefine = 0x02 -PAGE_READWRITE: t.CDefine = 0x04 -PAGE_WRITECOPY: t.CDefine = 0x08 -PAGE_EXECUTE: t.CDefine = 0x10 -PAGE_EXECUTE_READ: t.CDefine = 0x20 -PAGE_EXECUTE_READWRITE: t.CDefine = 0x40 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 0x80 -PAGE_GUARD: t.CDefine = 0x100 -PAGE_NOCACHE: t.CDefine = 0x200 -PAGE_WRITECOMBINE: t.CDefine = 0x400 -HEAP_NO_SERIALIZE: t.CDefine = 0x00000001 -HEAP_GROWABLE: t.CDefine = 0x00000002 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 0x00000004 -HEAP_ZERO_MEMORY: t.CDefine = 0x00000008 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 0x00000010 - -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass diff --git a/Test/FuncTest/temp/748d0424e8976fa0.stub.ll.dep b/Test/FuncTest/temp/748d0424e8976fa0.stub.ll.dep deleted file mode 100644 index be4eebc..0000000 --- a/Test/FuncTest/temp/748d0424e8976fa0.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -285b6aa29a34754d|bbdf3bbd4c3bc28c|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/FuncTest/temp/748d0424e8976fa0.vpi b/Test/FuncTest/temp/748d0424e8976fa0.vpi deleted file mode 100644 index 5ff4850..0000000 --- a/Test/FuncTest/temp/748d0424e8976fa0.vpi +++ /dev/null @@ -1,31 +0,0 @@ -""" -Auto-generated Python stub file from testcheck.vp -Module: testcheck -""" - - -import t, c -import stdio -from w32.win32console import SetConsoleOutputCP, SetConsoleCP - -CP_UTF8: t.CDefine = 65001 -_pass_count: t.CExtern | t.CInt -_fail_count: t.CExtern | t.CInt -_total_pass: t.CExtern | t.CInt -_total_fail: t.CExtern | t.CInt - -def begin(name: str) -> t.CInt: pass - -def section(name: str) -> t.CInt: pass - -def ok(msg: str) -> t.CInt: pass - -def fail(msg: str) -> t.CInt: pass - -def check(cond: t.CInt, ok_msg: str, fail_msg: str) -> t.CInt: pass - -def info(msg: str) -> t.CInt: pass - -def end() -> t.CInt: pass - -def summary() -> t.CInt: pass diff --git a/Test/FuncTest/temp/_phase1_manifest.json b/Test/FuncTest/temp/_phase1_manifest.json deleted file mode 100644 index 112a092..0000000 --- a/Test/FuncTest/temp/_phase1_manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\FuncTest\\App\\main.vp": {"sha1": "067f811511854c88", "mtime": 1784566611.842932, "size": 3098}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/FuncTest/temp/_sha1_map.txt b/Test/FuncTest/temp/_sha1_map.txt deleted file mode 100644 index 1f6899f..0000000 --- a/Test/FuncTest/temp/_sha1_map.txt +++ /dev/null @@ -1,7 +0,0 @@ -067f811511854c88:main.vp -285b6aa29a34754d:includes/stdio.vp -72e2d5ccb7cedcf1:includes/w32\win32memory.vp -748d0424e8976fa0:includes/testcheck.vp -bbdf3bbd4c3bc28c:includes/w32\win32console.vp -f5522571bcce7bcb:includes/stdint.vp -fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/FuncTest/temp/bbdf3bbd4c3bc28c.stub.ll.dep b/Test/FuncTest/temp/bbdf3bbd4c3bc28c.stub.ll.dep deleted file mode 100644 index d4b382c..0000000 --- a/Test/FuncTest/temp/bbdf3bbd4c3bc28c.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/FuncTest/temp/bbdf3bbd4c3bc28c.vpi b/Test/FuncTest/temp/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4709b3e..0000000 --- a/Test/FuncTest/temp/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,138 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32console.vp -Module: w32.win32console -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -ENABLE_PROCESSED_INPUT: t.CDefine = 0x0001 -ENABLE_LINE_INPUT: t.CDefine = 0x0002 -ENABLE_ECHO_INPUT: t.CDefine = 0x0004 -ENABLE_WINDOW_INPUT: t.CDefine = 0x0008 -ENABLE_MOUSE_INPUT: t.CDefine = 0x0010 -ENABLE_INSERT_MODE: t.CDefine = 0x0020 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 0x0040 -ENABLE_EXTENDED_FLAGS: t.CDefine = 0x0080 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 0x0001 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 0x0002 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 0x0004 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 0x0008 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 0x0010 -FOREGROUND_BLUE: t.CDefine = 0x0001 -FOREGROUND_GREEN: t.CDefine = 0x0002 -FOREGROUND_RED: t.CDefine = 0x0004 -FOREGROUND_INTENSITY: t.CDefine = 0x0008 -BACKGROUND_BLUE: t.CDefine = 0x0010 -BACKGROUND_GREEN: t.CDefine = 0x0020 -BACKGROUND_RED: t.CDefine = 0x0040 -BACKGROUND_INTENSITY: t.CDefine = 0x0080 -KEY_EVENT: t.CDefine = 0x0001 -MOUSE_EVENT: t.CDefine = 0x0002 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 0x0004 -MENU_EVENT: t.CDefine = 0x0008 -FOCUS_EVENT: t.CDefine = 0x0010 - -class COORD: - X: SHORT - Y: SHORT -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass diff --git a/Test/FuncTest/temp/d137b1f3311f3a7f.vpi b/Test/FuncTest/temp/d137b1f3311f3a7f.vpi deleted file mode 100644 index a85310e..0000000 --- a/Test/FuncTest/temp/d137b1f3311f3a7f.vpi +++ /dev/null @@ -1,81 +0,0 @@ -""" -Auto-generated Python stub file from w32.fileio.vp -Module: w32.fileio -""" - - -import t, c -from stdint import * -import stdio -import w32.win32base -import w32.win32file - -class MODE(t.CEnum): - R = 0 - W = 1 - A = 2 - RP = 3 - WP = 4 - AP = 5 - X = 6 - XP = 7 -class FRESULT(t.CEnum): - OK = 0 - ERR = -1 - ERR_CLOSED = -2 - ERR_PERM = -3 - ERR_IO = -4 - ERR_NOTFOUND = -5 - -SEEK_SET: t.CDefine = 0 -SEEK_CUR: t.CDefine = 1 -SEEK_END: t.CDefine = 2 -INVALID_SET_FILE_POINTER: t.CDefine = -1 -SHARE_READ: t.CDefine = 0x00000001 -SHARE_WRITE: t.CDefine = 0x00000002 -SHARE_DELETE: t.CDefine = 0x00000004 - -class File: - handle: w32.win32base.HANDLE - closed: bool - can_read: bool - can_write: bool - is_append: bool - _share_mode: ULONG - def __init__(self: File, filename: str, mode: ULONG, share: ULONG = SHARE_READ) -> t.CInt: pass - def __enter__(self: File) -> 'File' | t.CPtr: pass - def __exit__(self: File) -> t.CInt: pass - def read(self: File, buf: bytes, count: ULONG) -> LONG: pass - def write(self: File, buf: bytes, count: ULONG) -> LONG: pass - def write_str(self: File, s: str) -> LONG: pass - def seek(self: File, offset: LONG, origin: ULONG) -> LONG: pass - def tell(self: File) -> LONG: pass - def close(self: File) -> LONG: pass - def flush(self: File) -> LONG: pass - def size(self: File) -> LONGLONG: pass - def readline(self: File, buf: bytes, max_count: ULONG) -> LONG: pass - def read_all(self: File, buf: bytes, max_count: ULONG) -> LONG: pass -class FileW: - handle: w32.win32base.HANDLE - closed: bool - can_read: bool - can_write: bool - is_append: bool - _share_mode: ULONG - def __init__(self: FileW, filename: w32.win32base.LPCWSTR, mode: ULONG, share: ULONG = SHARE_READ) -> t.CInt: pass - def __enter__(self: FileW) -> 'FileW' | t.CPtr: pass - def __exit__(self: FileW) -> t.CInt: pass - def read(self: FileW, buf: bytes, count: ULONG) -> LONG: pass - def write(self: FileW, buf: bytes, count: ULONG) -> LONG: pass - def write_str(self: FileW, s: str) -> LONG: pass - def seek(self: FileW, offset: LONG, origin: ULONG) -> LONG: pass - def tell(self: FileW) -> LONG: pass - def close(self: FileW) -> LONG: pass - def flush(self: FileW) -> LONG: pass - def size(self: FileW) -> LONGLONG: pass - def readline(self: FileW, buf: bytes, max_count: ULONG) -> LONG: pass - def read_all(self: FileW, buf: bytes, max_count: ULONG) -> LONG: pass - -def open(filename: str, mode: ULONG, share: ULONG = SHARE_READ) -> File | t.CPtr: pass - -def openw(filename: w32.win32base.LPCWSTR, mode: ULONG, share: ULONG = SHARE_READ) -> FileW | t.CPtr: pass diff --git a/Test/FuncTest/temp/f5522571bcce7bcb.stub.ll.dep b/Test/FuncTest/temp/f5522571bcce7bcb.stub.ll.dep deleted file mode 100644 index e69de29..0000000 diff --git a/Test/FuncTest/temp/f5522571bcce7bcb.vpi b/Test/FuncTest/temp/f5522571bcce7bcb.vpi deleted file mode 100644 index f0bc071..0000000 --- a/Test/FuncTest/temp/f5522571bcce7bcb.vpi +++ /dev/null @@ -1,100 +0,0 @@ -""" -Auto-generated Python stub file from stdint.vp -Module: stdint -""" - -import c - - -import t - -INT: t.CTypedef = t.CInt -INTPTR: t.CTypedef = t.CInt | t.CPtr -BOOL: t.CTypedef = t.CInt -UINT: t.CTypedef = t.CUnsignedInt -UINTPTR: t.CTypedef = UINT | t.CPtr -BYTE: t.CTypedef = t.CUnsignedChar -BYTEPTR: t.CTypedef = BYTE | t.CPtr -WORD: t.CTypedef = t.CUInt16T -DWORD: t.CTypedef = t.CUInt32T -QWORD: t.CTypedef = t.CUInt64T -TCHAR: t.CTypedef = t.CChar -CHARLIST: t.CTypedef = str | t.CPtr -VOID: t.CTypedef = t.CVoid -SHORT: t.CTypedef = t.CShort -SHORTPTR: t.CTypedef = t.CShort | t.CPtr -USHORT: t.CTypedef = t.CUnsignedShort -USHORTPTR: t.CTypedef = t.CUnsignedShort | t.CPtr -LONGLONG: t.CTypedef = t.CLongLong -ULONGLONG: t.CTypedef = t.CUnsignedLongLong -LONG: t.CTypedef = t.CLong -ULONG: t.CTypedef = t.CUnsignedLong -WCHAR: t.CTypedef = WORD -WCHARPTR: t.CTypedef = WORD | t.CPtr -CHARPTR: t.CTypedef = t.CChar | t.CPtr -FSIZE_t: t.CTypedef = DWORD -LBA_t: t.CTypedef = DWORD -VOIDPTR: t.CTypedef = t.CVoid | t.CPtr -FLOAT: t.CTypedef = t.CFloat -DOUBLE: t.CTypedef = t.CDouble -FLOAT8: t.CTypedef = t.CFloat8T -FLOAT16: t.CTypedef = t.CFloat16T -FLOAT32: t.CTypedef = t.CFloat32T -FLOAT64: t.CTypedef = t.CFloat64T -FLOAT128: t.CTypedef = t.CFloat128T -INT8: t.CTypedef = t.CInt8T -INT16: t.CTypedef = t.CInt16T -INT32: t.CTypedef = t.CInt32T -INT64: t.CTypedef = t.CInt64T -UINT8: t.CTypedef = t.CUInt8T -UINT16: t.CTypedef = t.CUInt16T -UINT32: t.CTypedef = t.CUInt32T -UINT64: t.CTypedef = t.CUInt64T -INT8PTR: t.CTypedef = t.CInt8T | t.CPtr -INT16PTR: t.CTypedef = t.CInt16T | t.CPtr -INT32PTR: t.CTypedef = t.CInt32T | t.CPtr -INT64PTR: t.CTypedef = t.CInt64T | t.CPtr -UINT8PTR: t.CTypedef = t.CUInt8T | t.CPtr -UINT16PTR: t.CTypedef = t.CUInt16T | t.CPtr -UINT32PTR: t.CTypedef = t.CUInt32T | t.CPtr -UINT64PTR: t.CTypedef = t.CUInt64T | t.CPtr -CHAR8: t.CTypedef = t.CChar8T -CHAR16: t.CTypedef = t.CChar16T -CHAR32: t.CTypedef = t.CChar32T -CHAR8PTR: t.CTypedef = t.CChar8T | t.CPtr -CHAR16PTR: t.CTypedef = t.CChar16T | t.CPtr -CHAR32PTR: t.CTypedef = t.CChar32T | t.CPtr -i8: t.CTypedef = t.CInt8T -i16: t.CTypedef = t.CInt16T -i32: t.CTypedef = t.CInt32T -i64: t.CTypedef = t.CInt64T -u8: t.CTypedef = t.CUInt8T -u16: t.CTypedef = t.CUInt16T -u32: t.CTypedef = t.CUInt32T -u64: t.CTypedef = t.CUInt64T -SIZE_T: t.CTypedef = t.CSizeT -SSIZE_T: t.CTypedef = t.CPtrDiffT -PTRDIFF_T: t.CTypedef = t.CPtrDiffT -int8_t: t.CTypedef = t.CInt8T -int16_t: t.CTypedef = t.CInt16T -int32_t: t.CTypedef = t.CInt32T -int64_t: t.CTypedef = t.CInt64T -uint8_t: t.CTypedef = t.CUInt8T -uint16_t: t.CTypedef = t.CUInt16T -uint32_t: t.CTypedef = t.CUInt32T -uint64_t: t.CTypedef = t.CUInt64T -size_t: t.CTypedef = t.CSizeT -ssize_t: t.CTypedef = t.CPtrDiffT -ptrdiff_t: t.CTypedef = t.CPtrDiffT -intptr_t: t.CTypedef = t.CIntPtrT -uintptr_t: t.CTypedef = t.CUIntPtrT -wchar_t: t.CTypedef = t.CWCharT -char8_t: t.CTypedef = t.CChar8T -char16_t: t.CTypedef = t.CChar16T -char32_t: t.CTypedef = t.CChar32T -float8_t: t.CTypedef = t.CFloat8T -float16_t: t.CTypedef = t.CFloat16T -float32_t: t.CTypedef = t.CFloat32T -float64_t: t.CTypedef = t.CFloat64T -float128_t: t.CTypedef = t.CFloat128T -_Bool: t.CTypedef = t.CBool \ No newline at end of file diff --git a/Test/FuncTest/temp/f6b51804a0ba8ff0.vpi b/Test/FuncTest/temp/f6b51804a0ba8ff0.vpi deleted file mode 100644 index 6ee80a6..0000000 --- a/Test/FuncTest/temp/f6b51804a0ba8ff0.vpi +++ /dev/null @@ -1,192 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32file.vp -Module: w32.win32file -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -GENERIC_READ: t.CDefine = 0x80000000 -GENERIC_WRITE: t.CDefine = 0x40000000 -GENERIC_EXECUTE: t.CDefine = 0x20000000 -GENERIC_ALL: t.CDefine = 0x10000000 -FILE_SHARE_READ: t.CDefine = 0x00000001 -FILE_SHARE_WRITE: t.CDefine = 0x00000002 -FILE_SHARE_DELETE: t.CDefine = 0x00000004 -CREATE_NEW: t.CDefine = 1 -CREATE_ALWAYS: t.CDefine = 2 -OPEN_EXISTING: t.CDefine = 3 -OPEN_ALWAYS: t.CDefine = 4 -TRUNCATE_EXISTING: t.CDefine = 5 -FILE_ATTRIBUTE_READONLY: t.CDefine = 0x00000001 -FILE_ATTRIBUTE_HIDDEN: t.CDefine = 0x00000002 -FILE_ATTRIBUTE_SYSTEM: t.CDefine = 0x00000004 -FILE_ATTRIBUTE_DIRECTORY: t.CDefine = 0x00000010 -FILE_ATTRIBUTE_ARCHIVE: t.CDefine = 0x00000020 -FILE_ATTRIBUTE_NORMAL: t.CDefine = 0x00000080 -FILE_ATTRIBUTE_TEMPORARY: t.CDefine = 0x00000100 -FILE_ATTRIBUTE_COMPRESSED: t.CDefine = 0x00000800 -FILE_ATTRIBUTE_OFFLINE: t.CDefine = 0x00001000 -FILE_ATTRIBUTE_ENCRYPTED: t.CDefine = 0x00004000 -FILE_FLAG_WRITE_THROUGH: t.CDefine = 0x80000000 -FILE_FLAG_OVERLAPPED: t.CDefine = 0x40000000 -FILE_FLAG_NO_BUFFERING: t.CDefine = 0x20000000 -FILE_FLAG_RANDOM_ACCESS: t.CDefine = 0x10000000 -FILE_FLAG_SEQUENTIAL_SCAN: t.CDefine = 0x08000000 -FILE_FLAG_DELETE_ON_CLOSE: t.CDefine = 0x04000000 -FILE_FLAG_BACKUP_SEMANTICS: t.CDefine = 0x02000000 -FILE_FLAG_POSIX_SEMANTICS: t.CDefine = 0x01000000 -FILE_BEGIN: t.CDefine = 0 -FILE_CURRENT: t.CDefine = 1 -FILE_END: t.CDefine = 2 -STD_INPUT_HANDLE: t.CDefine = t.CUnsignedLong(-10) -STD_OUTPUT_HANDLE: t.CDefine = t.CUnsignedLong(-11) -STD_ERROR_HANDLE: t.CDefine = t.CUnsignedLong(-12) -MOVEFILE_REPLACE_EXISTING: t.CDefine = 0x00000001 -MOVEFILE_COPY_ALLOWED: t.CDefine = 0x00000002 -MOVEFILE_WRITE_THROUGH: t.CDefine = 0x00000008 - -class BY_HANDLE_FILE_INFORMATION: - dwFileAttributes: ULONG - ftCreationTime: FILETIME - ftLastAccessTime: FILETIME - ftLastWriteTime: FILETIME - dwVolumeSerialNumber: ULONG - nFileSizeHigh: ULONG - nFileSizeLow: ULONG - nNumberOfLinks: ULONG - nFileIndexHigh: ULONG - nFileIndexLow: ULONG -class WIN32_FIND_DATAA: - dwFileAttributes: ULONG - ftCreationTime: FILETIME - ftLastAccessTime: FILETIME - ftLastWriteTime: FILETIME - nFileSizeHigh: ULONG - nFileSizeLow: ULONG - dwReserved0: ULONG - dwReserved1: ULONG - cFileName: t.CArray[t.CChar, 260] - cAlternateFileName: t.CArray[t.CChar, 14] -class WIN32_FIND_DATAW: - dwFileAttributes: ULONG - ftCreationTime: FILETIME - ftLastAccessTime: FILETIME - ftLastWriteTime: FILETIME - nFileSizeHigh: ULONG - nFileSizeLow: ULONG - dwReserved0: ULONG - dwReserved1: ULONG - cFileName: t.CArray[t.CUInt16T, 260] - cAlternateFileName: t.CArray[t.CUInt16T, 14] - -def CreateFileA(lpFileName: LPCSTR, dwDesiredAccess: ULONG, dwShareMode: ULONG, lpSecurityAttributes: SECURITY_ATTRIBUTES | t.CPtr, dwCreationDisposition: ULONG, dwFlagsAndAttributes: ULONG, hTemplateFile: HANDLE) -> HANDLE | t.State: pass - -def CreateFileW(lpFileName: LPCWSTR, dwDesiredAccess: ULONG, dwShareMode: ULONG, lpSecurityAttributes: SECURITY_ATTRIBUTES | t.CPtr, dwCreationDisposition: ULONG, dwFlagsAndAttributes: ULONG, hTemplateFile: HANDLE) -> HANDLE | t.State: pass - -def ReadFile(hFile: HANDLE, lpBuffer: VOIDPTR, nNumberOfBytesToRead: ULONG, lpNumberOfBytesRead: ULONG | t.CPtr, lpOverlapped: OVERLAPPED | t.CPtr) -> BOOL | t.State: pass - -def WriteFile(hFile: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfBytesToWrite: ULONG, lpNumberOfBytesWritten: ULONG | t.CPtr, lpOverlapped: OVERLAPPED | t.CPtr) -> BOOL | t.State: pass - -def SetFilePointer(hFile: HANDLE, lDistanceToMove: LONG, lpDistanceToMoveHigh: LONG | t.CPtr, dwMoveMethod: ULONG) -> LONG | t.State: pass - -def SetFilePointerEx(hFile: HANDLE, liDistanceToMove: LARGE_INTEGER | t.CPtr, lpNewFilePointer: LARGE_INTEGER | t.CPtr, dwMoveMethod: ULONG) -> BOOL | t.State: pass - -def GetFileSize(hFile: HANDLE, lpFileSizeHigh: ULONG | t.CPtr) -> ULONG | t.State: pass - -def GetFileSizeEx(hFile: HANDLE, lpFileSize: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def SetEndOfFile(hFile: HANDLE) -> BOOL | t.State: pass - -def FlushFileBuffers(hFile: HANDLE) -> BOOL | t.State: pass - -def GetFileType(hFile: HANDLE) -> ULONG | t.State: pass - -def GetFileAttributesA(lpFileName: LPCSTR) -> ULONG | t.State: pass - -def GetFileAttributesW(lpFileName: LPCWSTR) -> ULONG | t.State: pass - -def SetFileAttributesA(lpFileName: LPCSTR, dwFileAttributes: ULONG) -> BOOL | t.State: pass - -def SetFileAttributesW(lpFileName: LPCWSTR, dwFileAttributes: ULONG) -> BOOL | t.State: pass - -def DeleteFileA(lpFileName: LPCSTR) -> BOOL | t.State: pass - -def DeleteFileW(lpFileName: LPCWSTR) -> BOOL | t.State: pass - -def MoveFileA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR) -> BOOL | t.State: pass - -def MoveFileW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR) -> BOOL | t.State: pass - -def MoveFileExA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, dwFlags: ULONG) -> BOOL | t.State: pass - -def MoveFileExW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, dwFlags: ULONG) -> BOOL | t.State: pass - -def CopyFileA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, bFailIfExists: BOOL) -> BOOL | t.State: pass - -def CopyFileW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, bFailIfExists: BOOL) -> BOOL | t.State: pass - -def CreateDirectoryA(lpPathName: LPCSTR, lpSecurityAttributes: SECURITY_ATTRIBUTES | t.CPtr) -> BOOL | t.State: pass - -def CreateDirectoryW(lpPathName: LPCWSTR, lpSecurityAttributes: SECURITY_ATTRIBUTES | t.CPtr) -> BOOL | t.State: pass - -def RemoveDirectoryA(lpPathName: LPCSTR) -> BOOL | t.State: pass - -def RemoveDirectoryW(lpPathName: LPCWSTR) -> BOOL | t.State: pass - -def FindFirstFileA(lpFileName: LPCSTR, lpFindFileData: WIN32_FIND_DATAA | t.CPtr) -> HANDLE | t.State: pass - -def FindFirstFileW(lpFileName: LPCWSTR, lpFindFileData: WIN32_FIND_DATAW | t.CPtr) -> HANDLE | t.State: pass - -def FindNextFileA(hFindFile: HANDLE, lpFindFileData: WIN32_FIND_DATAA | t.CPtr) -> BOOL | t.State: pass - -def FindNextFileW(hFindFile: HANDLE, lpFindFileData: WIN32_FIND_DATAW | t.CPtr) -> BOOL | t.State: pass - -def FindClose(hFindFile: HANDLE) -> BOOL | t.State: pass - -def GetStdHandle(nStdHandle: ULONG) -> HANDLE | t.State: pass - -def SetStdHandle(nStdHandle: ULONG, hHandle: HANDLE) -> BOOL | t.State: pass - -def GetFileInformationByHandle(hFile: HANDLE, lpFileInformation: BY_HANDLE_FILE_INFORMATION | t.CPtr) -> BOOL | t.State: pass - -def LockFile(hFile: HANDLE, dwFileOffsetLow: ULONG, dwFileOffsetHigh: ULONG, nNumberOfBytesToLockLow: ULONG, nNumberOfBytesToLockHigh: ULONG) -> BOOL | t.State: pass - -def UnlockFile(hFile: HANDLE, dwFileOffsetLow: ULONG, dwFileOffsetHigh: ULONG, nNumberOfBytesToUnlockLow: ULONG, nNumberOfBytesToUnlockHigh: ULONG) -> BOOL | t.State: pass - -def GetTempPathA(nBufferLength: ULONG, lpBuffer: CHARPTR) -> ULONG | t.State: pass - -def GetTempPathW(nBufferLength: ULONG, lpBuffer: WCHARPTR) -> ULONG | t.State: pass - -def GetTempFileNameA(lpPathName: LPCSTR, lpPrefixString: LPCSTR, uUnique: UINT, lpTempFileName: CHARPTR) -> UINT | t.State: pass - -def GetTempFileNameW(lpPathName: LPCWSTR, lpPrefixString: LPCWSTR, uUnique: UINT, lpTempFileName: WCHARPTR) -> UINT | t.State: pass - -def GetCurrentDirectoryA(nBufferLength: ULONG, lpBuffer: CHARPTR) -> ULONG | t.State: pass - -def GetCurrentDirectoryW(nBufferLength: ULONG, lpBuffer: WCHARPTR) -> ULONG | t.State: pass - -def SetCurrentDirectoryA(lpPathName: LPCSTR) -> BOOL | t.State: pass - -def SetCurrentDirectoryW(lpPathName: LPCWSTR) -> BOOL | t.State: pass - -def GetModuleFileNameA(hModule: HANDLE, lpFilename: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetModuleFileNameW(hModule: HANDLE, lpFilename: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - - -HANDLE_FLAG_INHERIT: t.CDefine = 0x00000001 -HANDLE_FLAG_PROTECT_FROM_CLOSE: t.CDefine = 0x00000002 - -def CreatePipe(hReadPipe: HANDLE | t.CPtr, hWritePipe: HANDLE | t.CPtr, lpPipeAttributes: SECURITY_ATTRIBUTES | t.CPtr, nSize: ULONG) -> BOOL | t.State: pass - -def SetHandleInformation(hObject: HANDLE, dwMask: ULONG, dwFlags: ULONG) -> BOOL | t.State: pass - -def DuplicateHandle(hSourceProcessHandle: HANDLE, hSourceHandle: HANDLE, hTargetProcessHandle: HANDLE, lpTargetHandle: HANDLE | t.CPtr, dwDesiredAccess: ULONG, bInheritHandle: BOOL, dwOptions: ULONG) -> BOOL | t.State: pass - - -DUPLICATE_SAME_ACCESS: t.CDefine = 0x00000002 \ No newline at end of file diff --git a/Test/FuncTest/temp/fc980acec33d69a7.stub.ll.dep b/Test/FuncTest/temp/fc980acec33d69a7.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/FuncTest/temp/fc980acec33d69a7.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/FuncTest/temp/fc980acec33d69a7.vpi b/Test/FuncTest/temp/fc980acec33d69a7.vpi deleted file mode 100644 index 3f9feff..0000000 --- a/Test/FuncTest/temp/fc980acec33d69a7.vpi +++ /dev/null @@ -1,100 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32base.vp -Module: w32.win32base -""" - -import c - - -import t -from stdint import * - -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = -1 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 0xFFFFFFFF -WAIT_FAILED: t.CDefine = 0xFFFFFFFF -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 0x80 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 - -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR -class LARGE_INTEGER: - QuadPart: LONGLONG -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass diff --git a/Test/G3/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/G3/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/G3/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/G3/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/G3/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G3/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/G3/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G3/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/G3/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G3/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/G3/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G3/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/G3/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/G3/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/G3/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/G3/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/G3/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/G3/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/G3/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/G3/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/G3/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/G3/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/G3/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/G3/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/G3/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/G3/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/G3/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/G3/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/G3/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/G3/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/G3/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/G3/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/G3/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/G3/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G3/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/G3/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/G3/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/G3/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G3/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/G3/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/G3/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/G3/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G3/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/G3/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/G3/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/G3/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/G3/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/G3/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G3/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/G3/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/G3/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/G3/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/G3/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/G3/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/G3/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G3/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/G3/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/G3/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/G3/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/G3/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G3/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/G3/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G3/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/G3/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/G3/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/G3/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/G3/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/G3/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/G3/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/G3/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/G3/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/G3/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/G3/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/G3/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/G3/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/G3/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/G3/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/G3/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/G3/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/G3/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/G3/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/_sha1_map.txt b/Test/G3/.tpv_build/temp/_sha1_map.txt index 6520309..8052352 100644 --- a/Test/G3/.tpv_build/temp/_sha1_map.txt +++ b/Test/G3/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,8 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp +ac87eb59087b9c33:includes/builtins.vp a5e9a83e9db303ad:includes/linkedlist.vp -f9d023d1df2bc9c5:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 750067fc4b20699b:main.vp diff --git a/Test/G3/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/G3/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/G3/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/G3/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/G3/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/G3/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/G3/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/G3/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/G3/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/G3/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/G3/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/G3/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/G3/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/G3/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/G3/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/G3/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/G3/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/G3/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/G3/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/G3/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G3/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/G3/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/G3/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/G3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/G3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/G3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/G3/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/G3/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/G3/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/G3/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G3/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/G3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/G3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/G3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/G3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/G3/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/G3/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G3/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/G3/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/G3/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/G3/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/G3/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/G3/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/G3/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/G3/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/G3/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/G3/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/G3/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/G3/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/G3/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/G3/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/G3/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/G3/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G3/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/G3/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/G3/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/G3/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/G3/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/G3/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/G3/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/G3/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/G3/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/G3/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/G3/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/G3/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/G3/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/G3/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/G3/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/G3/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/G3/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/G3/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/G3/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/G3/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/G4/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/G4/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/G4/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/G4/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/G4/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G4/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/G4/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G4/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/G4/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G4/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/G4/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G4/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/G4/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/G4/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/G4/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/G4/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/G4/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/G4/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/G4/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/G4/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/G4/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/G4/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/G4/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/G4/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/G4/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/G4/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/G4/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/G4/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/G4/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/G4/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/G4/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/G4/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/G4/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/G4/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G4/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/G4/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/G4/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/G4/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G4/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/G4/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/G4/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/G4/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G4/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/G4/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/G4/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/G4/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/G4/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/G4/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G4/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/G4/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/G4/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/G4/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G4/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/G4/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/G4/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/G4/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/G4/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G4/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/G4/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G4/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/G4/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/G4/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/G4/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/G4/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/G4/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/G4/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/G4/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/G4/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/G4/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/G4/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/G4/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/G4/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/_sha1_map.txt b/Test/G4/.tpv_build/temp/_sha1_map.txt index 2c0c57f..413da05 100644 --- a/Test/G4/.tpv_build/temp/_sha1_map.txt +++ b/Test/G4/.tpv_build/temp/_sha1_map.txt @@ -1,18 +1,17 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +a5e9a83e9db303ad:includes/linkedlist.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp +dbd53aaa91309ba1:includes/g4node.vp a45655b992cc8767:caller1.vp 88875f3ba3ace594:caller2.vp ca0f8dd74e6cb63c:caller3.vp diff --git a/Test/G4/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/G4/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/G4/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/G4/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/G4/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/G4/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/G4/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/G4/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/G4/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/G4/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/G4/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/G4/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/G4/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/G4/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G4/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/G4/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/G4/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/G4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/G4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/G4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/G4/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/G4/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/G4/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/G4/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G4/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/G4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/G4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/G4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/G4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/G4/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/G4/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G4/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/G4/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/G4/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/G4/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/G4/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/G4/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/G4/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/G4/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/G4/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/G4/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/G4/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/G4/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/G4/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/G4/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/G4/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/G4/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G4/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/G4/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/G4/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/G4/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/G4/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/G4/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/G4/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/G4/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/G4/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/G4/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/G4/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/G4/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/G4/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/G4/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/G4/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/G4/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/G4/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/G4/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/G4/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/G4/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/G4/output/8569e2ead0d06bb4.deps.json b/Test/G4/output/8569e2ead0d06bb4.deps.json index 61598b6..75e21ae 100644 --- a/Test/G4/output/8569e2ead0d06bb4.deps.json +++ b/Test/G4/output/8569e2ead0d06bb4.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "caller2": "88875f3ba3ace594", "string": "928c0ff6d8c69ec9", "caller1": "a45655b992cc8767", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "caller3": "ca0f8dd74e6cb63c", "g4node": "dbd53aaa91309ba1", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "caller2": "88875f3ba3ace594", "caller1": "a45655b992cc8767", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "caller3": "ca0f8dd74e6cb63c", "g4node": "dbd53aaa91309ba1", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/G4/output/88875f3ba3ace594.deps.json b/Test/G4/output/88875f3ba3ace594.deps.json index 1cee888..e012957 100644 --- a/Test/G4/output/88875f3ba3ace594.deps.json +++ b/Test/G4/output/88875f3ba3ace594.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "main": "8569e2ead0d06bb4", "string": "928c0ff6d8c69ec9", "caller1": "a45655b992cc8767", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "caller3": "ca0f8dd74e6cb63c", "g4node": "dbd53aaa91309ba1", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "main": "8569e2ead0d06bb4", "caller1": "a45655b992cc8767", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "caller3": "ca0f8dd74e6cb63c", "g4node": "dbd53aaa91309ba1", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/G4/output/a45655b992cc8767.deps.json b/Test/G4/output/a45655b992cc8767.deps.json index fda2c9d..fe841e9 100644 --- a/Test/G4/output/a45655b992cc8767.deps.json +++ b/Test/G4/output/a45655b992cc8767.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "main": "8569e2ead0d06bb4", "caller2": "88875f3ba3ace594", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "caller3": "ca0f8dd74e6cb63c", "g4node": "dbd53aaa91309ba1", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "main": "8569e2ead0d06bb4", "caller2": "88875f3ba3ace594", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "caller3": "ca0f8dd74e6cb63c", "g4node": "dbd53aaa91309ba1", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/G4/output/ca0f8dd74e6cb63c.deps.json b/Test/G4/output/ca0f8dd74e6cb63c.deps.json index 899b44b..40859cd 100644 --- a/Test/G4/output/ca0f8dd74e6cb63c.deps.json +++ b/Test/G4/output/ca0f8dd74e6cb63c.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "main": "8569e2ead0d06bb4", "caller2": "88875f3ba3ace594", "string": "928c0ff6d8c69ec9", "caller1": "a45655b992cc8767", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "g4node": "dbd53aaa91309ba1", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "main": "8569e2ead0d06bb4", "caller2": "88875f3ba3ace594", "caller1": "a45655b992cc8767", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "g4node": "dbd53aaa91309ba1", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/G4/temp/_phase1_manifest.json b/Test/G4/temp/_phase1_manifest.json index 09c7ef1..06a1af8 100644 --- a/Test/G4/temp/_phase1_manifest.json +++ b/Test/G4/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\App\\caller1.vp": {"sha1": "a45655b992cc8767", "mtime": 1784741370.3700821, "size": 1316}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\App\\caller2.vp": {"sha1": "88875f3ba3ace594", "mtime": 1784741370.3625746, "size": 943}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\App\\caller3.vp": {"sha1": "ca0f8dd74e6cb63c", "mtime": 1784741370.3784814, "size": 862}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\App\\main.vp": {"sha1": "8569e2ead0d06bb4", "mtime": 1784741370.3731737, "size": 5581}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\includes\\g4node.vp": {"sha1": "dbd53aaa91309ba1", "mtime": 1784741370.3356705, "size": 1577}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\App\\caller1.vp": {"sha1": "a45655b992cc8767", "mtime": 1784741370.3700821, "size": 1316}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\App\\caller2.vp": {"sha1": "88875f3ba3ace594", "mtime": 1784741370.3625746, "size": 943}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\App\\caller3.vp": {"sha1": "ca0f8dd74e6cb63c", "mtime": 1784741370.3784814, "size": 862}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\App\\main.vp": {"sha1": "8569e2ead0d06bb4", "mtime": 1786161352.1535616, "size": 5581}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G4\\includes\\g4node.vp": {"sha1": "dbd53aaa91309ba1", "mtime": 1784741370.3356705, "size": 1577}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/G4/temp/_sha1_map.txt b/Test/G4/temp/_sha1_map.txt index aa96df3..87cd9f8 100644 --- a/Test/G4/temp/_sha1_map.txt +++ b/Test/G4/temp/_sha1_map.txt @@ -1,15 +1,15 @@ -04e5fe47ff2af528:includes/memhub.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 748d0424e8976fa0:includes/testcheck.vp 8569e2ead0d06bb4:main.vp 88875f3ba3ace594:caller2.vp -928c0ff6d8c69ec9:includes/string.vp a45655b992cc8767:caller1.vp a5e9a83e9db303ad:includes/linkedlist.vp aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp ca0f8dd74e6cb63c:caller3.vp dbd53aaa91309ba1:includes/g4node.vp f5522571bcce7bcb:includes/stdint.vp diff --git a/Test/G4/temp/_shared_sym.json b/Test/G4/temp/_shared_sym.json index f3aed4a4c3bb3c211140136f8f67997f6ee0d3ae..007cec8115f5b537c6c64e4f3be06646786d3712 100644 GIT binary patch literal 494184 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

-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

f8#>_YA2#M_ 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 DpVC{5 diff --git a/Test/G4/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/G4/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/G4/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/G4/temp/c9f4be41ca1cc2b4.vpi b/Test/G4/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/G4/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/G4/temp/dbd53aaa91309ba1.stub.ll.dep b/Test/G4/temp/dbd53aaa91309ba1.stub.ll.dep index 6b67815..54b5a8a 100644 --- a/Test/G4/temp/dbd53aaa91309ba1.stub.ll.dep +++ b/Test/G4/temp/dbd53aaa91309ba1.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|a5e9a83e9db303ad|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|a5e9a83e9db303ad|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/G5/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/G5/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/G5/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/G5/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G5/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/G5/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G5/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/G5/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G5/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/G5/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G5/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/G5/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/G5/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/G5/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/G5/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/G5/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/G5/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/G5/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/G5/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/G5/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/G5/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/G5/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/G5/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/G5/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/G5/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/G5/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/G5/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/G5/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/G5/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/G5/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/G5/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/G5/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/G5/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G5/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/G5/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/G5/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/G5/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G5/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/G5/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/G5/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/G5/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G5/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/G5/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/G5/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/G5/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/G5/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/G5/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G5/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/G5/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/G5/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/G5/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G5/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/G5/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/G5/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/G5/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/G5/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G5/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/G5/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G5/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/G5/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/G5/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/G5/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/G5/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/G5/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/G5/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/G5/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/G5/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/G5/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/G5/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/G5/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/G5/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/_sha1_map.txt b/Test/G5/.tpv_build/temp/_sha1_map.txt index b1163d5..103f300 100644 --- a/Test/G5/.tpv_build/temp/_sha1_map.txt +++ b/Test/G5/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,14 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp +ac87eb59087b9c33:includes/builtins.vp a5e9a83e9db303ad:includes/linkedlist.vp -f9d023d1df2bc9c5:includes/memhub.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp 5c5f2d19bc9e75ab:main.vp diff --git a/Test/G5/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/G5/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/G5/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/G5/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/G5/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/G5/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/G5/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/G5/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/G5/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/G5/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/G5/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/G5/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/G5/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/G5/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G5/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/G5/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/G5/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/G5/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G5/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/G5/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/G5/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/G5/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/G5/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/G5/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/G5/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G5/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/G5/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/G5/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/G5/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/G5/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/G5/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/G5/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G5/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/G5/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/G5/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/G5/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/G5/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/G5/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/G5/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/G5/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/G5/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/G5/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/G5/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/G5/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/G5/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/G5/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/G5/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/G5/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G5/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/G5/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/G5/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/G5/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/G5/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/G5/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/G5/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/G5/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/G5/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/G5/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/G5/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/G5/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/G5/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/G5/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/G5/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/G5/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/G5/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/G5/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/G5/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/G5/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/G5/output/5c5f2d19bc9e75ab.deps.json b/Test/G5/output/5c5f2d19bc9e75ab.deps.json index e345629..45bc9f4 100644 --- a/Test/G5/output/5c5f2d19bc9e75ab.deps.json +++ b/Test/G5/output/5c5f2d19bc9e75ab.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/G5/temp/_phase1_manifest.json b/Test/G5/temp/_phase1_manifest.json index fb9e628..36e717f 100644 --- a/Test/G5/temp/_phase1_manifest.json +++ b/Test/G5/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G5\\App\\main.vp": {"sha1": "5c5f2d19bc9e75ab", "mtime": 1784741370.3410766, "size": 5524}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G5\\App\\main.vp": {"sha1": "5c5f2d19bc9e75ab", "mtime": 1784741370.3410766, "size": 5524}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/G5/temp/_sha1_map.txt b/Test/G5/temp/_sha1_map.txt index 6e1cf1b..6e7b17d 100644 --- a/Test/G5/temp/_sha1_map.txt +++ b/Test/G5/temp/_sha1_map.txt @@ -1,12 +1,12 @@ -04e5fe47ff2af528:includes/memhub.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp 5c5f2d19bc9e75ab:main.vp 6c658cc728d0bbf4:includes/stdlib.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp a5e9a83e9db303ad:includes/linkedlist.vp aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/G5/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/G5/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/G5/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/G5/temp/c9f4be41ca1cc2b4.vpi b/Test/G5/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/G5/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/G6/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/G6/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/G6/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/G6/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G6/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/G6/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G6/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/G6/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G6/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/G6/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G6/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/G6/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/G6/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/G6/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/G6/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/G6/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/G6/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/G6/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/G6/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/G6/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/G6/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/G6/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/G6/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/G6/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/G6/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/G6/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/G6/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/G6/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/G6/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/G6/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/G6/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/G6/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/G6/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G6/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/G6/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/G6/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/G6/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G6/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/G6/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/G6/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/G6/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G6/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/G6/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/G6/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/G6/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/G6/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/G6/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G6/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/G6/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/G6/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/G6/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G6/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/G6/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/G6/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/G6/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/G6/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G6/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/G6/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G6/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/G6/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/G6/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/G6/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/G6/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/G6/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/G6/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/G6/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/G6/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/G6/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/G6/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/G6/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/G6/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/_sha1_map.txt b/Test/G6/.tpv_build/temp/_sha1_map.txt index 507ec7a..a16d482 100644 --- a/Test/G6/.tpv_build/temp/_sha1_map.txt +++ b/Test/G6/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,13 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp c3df2c1540dfb432:main.vp diff --git a/Test/G6/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/G6/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/G6/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/G6/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/G6/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/G6/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/G6/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/G6/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/G6/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/G6/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/G6/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/G6/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/G6/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/G6/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G6/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/G6/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/G6/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/G6/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G6/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/G6/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/G6/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/G6/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/G6/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/G6/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/G6/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G6/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/G6/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/G6/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/G6/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/G6/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/G6/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/G6/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G6/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/G6/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/G6/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/G6/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/G6/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/G6/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/G6/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/G6/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/G6/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/G6/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/G6/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/G6/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/G6/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/G6/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/G6/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/G6/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G6/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/G6/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/G6/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/G6/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/G6/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/G6/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/G6/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/G6/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/G6/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/G6/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/G6/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/G6/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/G6/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/G6/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/G6/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/G6/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/G6/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/G6/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/G6/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/G6/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/G7/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/G7/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/G7/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/G7/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/G7/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G7/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/G7/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G7/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/G7/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G7/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/G7/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/G7/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/G7/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/G7/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/G7/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/G7/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/G7/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/G7/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/G7/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/G7/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/G7/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/G7/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/G7/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/G7/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/G7/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/G7/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/G7/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/G7/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/G7/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/G7/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/G7/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/G7/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/G7/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/G7/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G7/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/G7/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/G7/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/G7/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G7/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/G7/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/G7/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/G7/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G7/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/G7/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/G7/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/G7/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/G7/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/G7/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G7/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/G7/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/G7/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/G7/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G7/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/G7/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/G7/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/G7/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/G7/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G7/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/G7/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G7/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/G7/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/G7/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/G7/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/G7/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/G7/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/G7/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/G7/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/G7/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/G7/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/G7/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/G7/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/G7/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/_sha1_map.txt b/Test/G7/.tpv_build/temp/_sha1_map.txt index 916b27b..7cf9c50 100644 --- a/Test/G7/.tpv_build/temp/_sha1_map.txt +++ b/Test/G7/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,15 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +a5e9a83e9db303ad:includes/linkedlist.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp +d76710b4e0707c91:includes/conflict_node.vp 12c1b8e59d117476:main.vp diff --git a/Test/G7/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/G7/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/G7/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/G7/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/G7/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/G7/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/G7/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/G7/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/G7/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/G7/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/G7/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/G7/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/G7/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/G7/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/G7/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/G7/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/G7/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/G7/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G7/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/G7/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/G7/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/G7/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/G7/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/G7/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/G7/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G7/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/G7/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/G7/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/G7/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/G7/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/G7/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/G7/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/G7/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/G7/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/G7/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/G7/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/G7/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/G7/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/G7/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/G7/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/G7/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/G7/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/G7/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/G7/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/G7/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/G7/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/G7/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/G7/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/G7/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/G7/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/G7/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/G7/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/G7/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/G7/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/G7/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/G7/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/G7/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/G7/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/G7/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/G7/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/G7/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/G7/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/G7/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/G7/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/G7/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/G7/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/G7/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/G7/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/G7/output/12c1b8e59d117476.deps.json b/Test/G7/output/12c1b8e59d117476.deps.json index f6c62af..61e5015 100644 --- a/Test/G7/output/12c1b8e59d117476.deps.json +++ b/Test/G7/output/12c1b8e59d117476.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "conflict_node": "d76710b4e0707c91", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "linkedlist": "a5e9a83e9db303ad", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "conflict_node": "d76710b4e0707c91", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/G7/temp/_phase1_manifest.json b/Test/G7/temp/_phase1_manifest.json index 55797b0..d362662 100644 --- a/Test/G7/temp/_phase1_manifest.json +++ b/Test/G7/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G7\\App\\main.vp": {"sha1": "12c1b8e59d117476", "mtime": 1784741370.3632765, "size": 1812}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G7\\includes\\conflict_node.vp": {"sha1": "d76710b4e0707c91", "mtime": 1784741370.365836, "size": 906}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G7\\App\\main.vp": {"sha1": "12c1b8e59d117476", "mtime": 1784741370.3632765, "size": 1812}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\G7\\includes\\conflict_node.vp": {"sha1": "d76710b4e0707c91", "mtime": 1784741370.365836, "size": 906}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/G7/temp/_sha1_map.txt b/Test/G7/temp/_sha1_map.txt index 90fb89b..43c831c 100644 --- a/Test/G7/temp/_sha1_map.txt +++ b/Test/G7/temp/_sha1_map.txt @@ -1,13 +1,13 @@ -04e5fe47ff2af528:includes/memhub.vp 12c1b8e59d117476:main.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp a5e9a83e9db303ad:includes/linkedlist.vp aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp d76710b4e0707c91:includes/conflict_node.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/G7/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/G7/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/G7/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/G7/temp/c9f4be41ca1cc2b4.vpi b/Test/G7/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/G7/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/GenericTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/GenericTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/GenericTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/GenericTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/GenericTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/GenericTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/16/16e1f65b154831e8.vpi b/Test/GenericTest/.tpv_build/temp/16/16e1f65b154831e8.vpi index 2266a4b..7fb29e4 100644 --- a/Test/GenericTest/.tpv_build/temp/16/16e1f65b154831e8.vpi +++ b/Test/GenericTest/.tpv_build/temp/16/16e1f65b154831e8.vpi @@ -5,22 +5,16 @@ import c import t import stdio import testcheck -def add(): pass +def add(a: T, b: T) -> T: pass -b: T -T: t.CInt def test_generic_add(): pass -def combine(): pass +def combine(a: T1, b: T2) -> T1: pass -b: T2 -T1: t.CInt def test_generic_combine(): pass -def max_val(): pass +def max_val(a: T, b: T) -> T: pass -b: T -T: t.CInt def test_generic_max(): pass class Box[T]: @@ -43,14 +37,12 @@ def test_fixed_array(): pass def test_char_array(): pass -def identity(): pass +def identity(x: T) -> T: pass -T: t.CInt def test_generic_identity(): pass -def double_val(): pass +def double_val(x: T) -> T: pass -T: t.CInt def test_generic_nested(): pass class Counter[T]: diff --git a/Test/GenericTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/GenericTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/GenericTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/GenericTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/GenericTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/GenericTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/GenericTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/GenericTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/GenericTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/GenericTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/GenericTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/GenericTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/GenericTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/GenericTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/GenericTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/GenericTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/GenericTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/GenericTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/GenericTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/GenericTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/GenericTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/GenericTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/GenericTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/GenericTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/GenericTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/GenericTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/GenericTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/GenericTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/GenericTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/GenericTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/GenericTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/GenericTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/GenericTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/GenericTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/GenericTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/GenericTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/GenericTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/GenericTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/GenericTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/GenericTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/GenericTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/GenericTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/GenericTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/GenericTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/GenericTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/GenericTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/GenericTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/GenericTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/GenericTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/GenericTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/GenericTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/GenericTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/GenericTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/GenericTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/GenericTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/GenericTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/GenericTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/GenericTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/GenericTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/GenericTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/_sha1_map.txt b/Test/GenericTest/.tpv_build/temp/_sha1_map.txt index 7c86b4e..37325b5 100644 --- a/Test/GenericTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/GenericTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 16e1f65b154831e8:main.vp diff --git a/Test/GenericTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/GenericTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/GenericTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/GenericTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/GenericTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/GenericTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/GenericTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/GenericTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/GenericTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/GenericTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/GenericTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/GenericTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/GenericTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/GenericTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/GenericTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/GenericTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/GenericTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/GenericTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/GenericTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/GenericTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/GenericTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/GenericTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/GenericTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/GenericTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/GenericTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/GenericTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/GenericTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/GenericTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/GenericTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/GenericTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/GenericTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/GenericTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/GenericTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/GenericTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/GenericTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/GenericTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/GenericTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/GenericTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/GenericTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/GenericTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/GenericTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/GenericTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/GenericTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/GenericTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/GenericTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/GenericTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/GenericTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/GenericTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/GenericTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/GenericTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/GenericTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/GenericTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/GenericTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/GenericTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/GenericTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/GenericTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/GenericTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/GenericTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/GenericTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/GenericTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/GenericTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/GenericTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/GenericTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/GenericTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/GenericTest2/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/GenericTest2/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/GenericTest2/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/GenericTest2/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest2/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/GenericTest2/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest2/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/GenericTest2/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/GenericTest2/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/GenericTest2/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/GenericTest2/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/GenericTest2/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/GenericTest2/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/GenericTest2/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/GenericTest2/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/GenericTest2/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/GenericTest2/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/GenericTest2/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/GenericTest2/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/GenericTest2/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/GenericTest2/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/GenericTest2/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/GenericTest2/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/GenericTest2/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/GenericTest2/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/GenericTest2/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/GenericTest2/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/GenericTest2/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest2/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/GenericTest2/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/GenericTest2/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/GenericTest2/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest2/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/GenericTest2/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/GenericTest2/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/GenericTest2/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest2/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/GenericTest2/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/GenericTest2/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/GenericTest2/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest2/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/GenericTest2/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/GenericTest2/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/GenericTest2/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/GenericTest2/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/GenericTest2/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest2/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/GenericTest2/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/GenericTest2/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/GenericTest2/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/GenericTest2/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/GenericTest2/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/GenericTest2/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest2/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/GenericTest2/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/GenericTest2/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/GenericTest2/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/GenericTest2/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest2/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/GenericTest2/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest2/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/GenericTest2/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/GenericTest2/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/GenericTest2/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/GenericTest2/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/GenericTest2/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/GenericTest2/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/GenericTest2/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/GenericTest2/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/GenericTest2/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/GenericTest2/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/GenericTest2/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/GenericTest2/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/GenericTest2/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/GenericTest2/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/GenericTest2/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/_sha1_map.txt b/Test/GenericTest2/.tpv_build/temp/_sha1_map.txt index d39e860..f79bea3 100644 --- a/Test/GenericTest2/.tpv_build/temp/_sha1_map.txt +++ b/Test/GenericTest2/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp bdfc8bd243b7e5b7:main.vp diff --git a/Test/GenericTest2/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/GenericTest2/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest2/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/GenericTest2/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/GenericTest2/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/GenericTest2/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest2/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/GenericTest2/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/GenericTest2/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/GenericTest2/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/GenericTest2/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/GenericTest2/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/GenericTest2/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/GenericTest2/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/GenericTest2/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/GenericTest2/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/GenericTest2/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest2/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/GenericTest2/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/GenericTest2/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/GenericTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/GenericTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/GenericTest2/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/GenericTest2/.tpv_build/temp/bd/bdfc8bd243b7e5b7.vpi b/Test/GenericTest2/.tpv_build/temp/bd/bdfc8bd243b7e5b7.vpi index 15d63ba..932bfcf 100644 --- a/Test/GenericTest2/.tpv_build/temp/bd/bdfc8bd243b7e5b7.vpi +++ b/Test/GenericTest2/.tpv_build/temp/bd/bdfc8bd243b7e5b7.vpi @@ -5,20 +5,16 @@ import t import stdio import c import testcheck -def square(): pass +def square(x: T) -> T: pass -T: t.CInt def test_generic_square_types(): pass -def clamp(): pass +def clamp(val: T, lo: T, hi: T) -> T: pass -lo: T -hi: T -T: t.CInt def test_generic_clamp(): pass class Stack[T]: - data: t.CArray[t.CInt, t.CInt] + data: t.CArray[t.CInt, 16] top: t.CInt def __init__(self): pass def push(self, val: T): pass @@ -33,9 +29,8 @@ class IntPair: a: t.CInt b: t.CInt -def generic_swap(): pass +def generic_swap(p: IntPair | t.CPtr): pass -tmp: t.CInt def test_generic_swap(): pass class Range[T]: @@ -47,20 +42,16 @@ class Range[T]: def test_generic_range(): pass -def array_sum(arr: t.CArray[t.CInt, t.CInt], n: t.CInt) -> t.CInt: pass +def array_sum(arr: t.CArray[t.CInt, 8], n: t.CInt) -> t.CInt: pass def test_generic_array_sum(): pass -def max_of_three(): pass +def max_of_three(a: T, b: T, c_val: T) -> T: pass -b: T -c_val: T -T: t.CInt -m: T = a def test_generic_max_three(): pass class Container[T]: - values: t.CArray[t.CInt, t.CInt] + values: t.CArray[t.CInt, 8] size: t.CInt def __init__(self): pass def add(self, v: T): pass @@ -70,11 +61,8 @@ class Container[T]: def test_generic_container(): pass -def factorial(): pass +def factorial(n: T) -> T: pass -T: t.CInt -result: T = 1 -i: T = 2 def test_generic_factorial(): pass class Accumulator[T]: diff --git a/Test/GenericTest2/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/GenericTest2/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/GenericTest2/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/GenericTest2/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest2/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/GenericTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/GenericTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/GenericTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/GenericTest2/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/GenericTest2/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/GenericTest2/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest2/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/GenericTest2/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/GenericTest2/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/GenericTest2/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/GenericTest2/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/GenericTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/GenericTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/GenericTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/GenericTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/GenericTest2/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/GenericTest2/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/GenericTest2/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/GenericTest2/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/GenericTest2/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/GenericTest2/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/GenericTest2/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest2/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/GenericTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/GenericTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/GenericTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/GenericTest2/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/GenericTest2/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/GenericTest2/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/GenericTest2/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/GenericTest2/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/GenericTest2/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/GenericTest2/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/GenericTest2/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/GenericTest2/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/GenericTest2/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/GenericTest2/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/GenericTest2/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/GenericTest2/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/GenericTest2/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/GenericTest2/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/GenericTest2/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/GenericTest2/temp/_phase1_manifest.json b/Test/GenericTest2/temp/_phase1_manifest.json index d1a1a7b..c57625d 100644 --- a/Test/GenericTest2/temp/_phase1_manifest.json +++ b/Test/GenericTest2/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\GenericTest2\\App\\main.vp": {"sha1": "bdfc8bd243b7e5b7", "mtime": 1782479447.3739374, "size": 8453}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\GenericTest2\\App\\main.vp": {"sha1": "bdfc8bd243b7e5b7", "mtime": 1786166209.980222, "size": 8453}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/01/01d9e58c9dd31a4d.vpi b/Test/GenericTest3/.tpv_build/temp/01/01d9e58c9dd31a4d.vpi index 954ac77..67fd509 100644 --- a/Test/GenericTest3/.tpv_build/temp/01/01d9e58c9dd31a4d.vpi +++ b/Test/GenericTest3/.tpv_build/temp/01/01d9e58c9dd31a4d.vpi @@ -5,19 +5,16 @@ import c import t import stdio import testcheck -def double(): pass +def double(x: int) -> int: pass -int: t.CInt def test_explicit_type_arg(): pass -def identity(): pass +def identity(x: int) -> int: pass -int: t.CInt def test_identity_explicit(): pass -def add_one(): pass +def add_one(x: T) -> T: pass -T: t.CInt def test_add_one_explicit(): pass def test_mixed_inference_explicit(): pass diff --git a/Test/GenericTest3/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/GenericTest3/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/GenericTest3/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/GenericTest3/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest3/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/GenericTest3/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest3/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/GenericTest3/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/GenericTest3/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/GenericTest3/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/GenericTest3/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/GenericTest3/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/GenericTest3/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/GenericTest3/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/GenericTest3/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/GenericTest3/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/GenericTest3/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/GenericTest3/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/GenericTest3/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/GenericTest3/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/GenericTest3/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/GenericTest3/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/GenericTest3/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/GenericTest3/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/GenericTest3/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/GenericTest3/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/GenericTest3/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/GenericTest3/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest3/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/GenericTest3/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/GenericTest3/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/GenericTest3/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest3/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/GenericTest3/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/GenericTest3/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/GenericTest3/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest3/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/GenericTest3/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/GenericTest3/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/GenericTest3/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest3/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/GenericTest3/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/GenericTest3/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/GenericTest3/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/GenericTest3/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/GenericTest3/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest3/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/GenericTest3/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/GenericTest3/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/GenericTest3/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/GenericTest3/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/GenericTest3/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/GenericTest3/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest3/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/GenericTest3/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/GenericTest3/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/GenericTest3/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/GenericTest3/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest3/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/GenericTest3/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest3/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/GenericTest3/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/GenericTest3/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/GenericTest3/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/GenericTest3/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/GenericTest3/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/GenericTest3/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/GenericTest3/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/GenericTest3/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/GenericTest3/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/GenericTest3/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/GenericTest3/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/GenericTest3/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/GenericTest3/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/GenericTest3/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/GenericTest3/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/_sha1_map.txt b/Test/GenericTest3/.tpv_build/temp/_sha1_map.txt index 63427c7..ec01721 100644 --- a/Test/GenericTest3/.tpv_build/temp/_sha1_map.txt +++ b/Test/GenericTest3/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 01d9e58c9dd31a4d:main.vp diff --git a/Test/GenericTest3/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/GenericTest3/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest3/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/GenericTest3/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/GenericTest3/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/GenericTest3/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest3/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/GenericTest3/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/GenericTest3/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/GenericTest3/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/GenericTest3/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/GenericTest3/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/GenericTest3/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/GenericTest3/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/GenericTest3/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/GenericTest3/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/GenericTest3/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest3/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/GenericTest3/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/GenericTest3/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/GenericTest3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/GenericTest3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/GenericTest3/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/GenericTest3/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/GenericTest3/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/GenericTest3/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/GenericTest3/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest3/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/GenericTest3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/GenericTest3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/GenericTest3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/GenericTest3/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/GenericTest3/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/GenericTest3/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest3/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/GenericTest3/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/GenericTest3/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/GenericTest3/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/GenericTest3/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/GenericTest3/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/GenericTest3/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/GenericTest3/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/GenericTest3/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/GenericTest3/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/GenericTest3/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/GenericTest3/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/GenericTest3/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/GenericTest3/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/GenericTest3/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/GenericTest3/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest3/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/GenericTest3/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/GenericTest3/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/GenericTest3/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/GenericTest3/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/GenericTest3/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/GenericTest3/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/GenericTest3/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/GenericTest3/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/GenericTest3/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/GenericTest3/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/GenericTest3/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/GenericTest3/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/GenericTest3/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/GenericTest3/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/GenericTest3/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/GenericTest3/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/GenericTest3/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/GenericTest3/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/GenericTest3/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/GenericTest4/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/GenericTest4/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/GenericTest4/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/GenericTest4/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest4/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/GenericTest4/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest4/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/GenericTest4/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/GenericTest4/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/GenericTest4/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/GenericTest4/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/GenericTest4/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/GenericTest4/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/GenericTest4/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/GenericTest4/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/GenericTest4/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/GenericTest4/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/GenericTest4/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/GenericTest4/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/GenericTest4/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/GenericTest4/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/GenericTest4/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/GenericTest4/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/GenericTest4/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/GenericTest4/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/GenericTest4/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/GenericTest4/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/GenericTest4/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest4/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/GenericTest4/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/GenericTest4/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/GenericTest4/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest4/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/GenericTest4/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/GenericTest4/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/GenericTest4/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest4/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/GenericTest4/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/GenericTest4/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/GenericTest4/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest4/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/GenericTest4/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/GenericTest4/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/GenericTest4/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/GenericTest4/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/GenericTest4/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest4/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/GenericTest4/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/GenericTest4/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/GenericTest4/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/GenericTest4/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/GenericTest4/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/GenericTest4/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest4/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/GenericTest4/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/GenericTest4/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/GenericTest4/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/GenericTest4/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest4/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/GenericTest4/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest4/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/GenericTest4/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/GenericTest4/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/GenericTest4/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/GenericTest4/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/GenericTest4/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/GenericTest4/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/GenericTest4/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/GenericTest4/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/GenericTest4/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/GenericTest4/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/GenericTest4/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/GenericTest4/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/GenericTest4/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/GenericTest4/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/GenericTest4/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/_sha1_map.txt b/Test/GenericTest4/.tpv_build/temp/_sha1_map.txt index 9429fe7..464821d 100644 --- a/Test/GenericTest4/.tpv_build/temp/_sha1_map.txt +++ b/Test/GenericTest4/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 42e09c6149524d9d:main.vp diff --git a/Test/GenericTest4/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/GenericTest4/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest4/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/GenericTest4/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/GenericTest4/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/GenericTest4/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/GenericTest4/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/GenericTest4/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/GenericTest4/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/GenericTest4/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/GenericTest4/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/GenericTest4/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/GenericTest4/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/GenericTest4/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/GenericTest4/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/GenericTest4/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/GenericTest4/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/GenericTest4/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/GenericTest4/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/GenericTest4/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/GenericTest4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/GenericTest4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/GenericTest4/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/GenericTest4/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/GenericTest4/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/GenericTest4/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/GenericTest4/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest4/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/GenericTest4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/GenericTest4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/GenericTest4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/GenericTest4/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/GenericTest4/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/GenericTest4/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/GenericTest4/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/GenericTest4/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/GenericTest4/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/GenericTest4/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/GenericTest4/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/GenericTest4/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/GenericTest4/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/GenericTest4/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/GenericTest4/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/GenericTest4/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/GenericTest4/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/GenericTest4/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/GenericTest4/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/GenericTest4/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/GenericTest4/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/GenericTest4/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/GenericTest4/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/GenericTest4/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/GenericTest4/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/GenericTest4/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/GenericTest4/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/GenericTest4/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/GenericTest4/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/GenericTest4/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/GenericTest4/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/GenericTest4/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/GenericTest4/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/GenericTest4/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/GenericTest4/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/GenericTest4/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/GenericTest4/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/GenericTest4/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/GenericTest4/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/GenericTest4/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/GenericTest4/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/GenericTest4/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/HashTableTest/.tpv_build/temp/02/02d833b3cf571c5b.vpi b/Test/HashTableTest/.tpv_build/temp/02/02d833b3cf571c5b.vpi deleted file mode 100644 index bc27076..0000000 --- a/Test/HashTableTest/.tpv_build/temp/02/02d833b3cf571c5b.vpi +++ /dev/null @@ -1,15 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import w32.win32console -import t, c -from t import CInt, CExport -import stdio -import stdlib -import string -import memhub -import hashtable -import testcheck -def main() -> CInt | CExport: pass - diff --git a/Test/HashTableTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/HashTableTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/HashTableTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/HashTableTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/HashTableTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/HashTableTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/HashTableTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/HashTableTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/HashTableTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/HashTableTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/HashTableTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/HashTableTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/HashTableTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/HashTableTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/HashTableTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/HashTableTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/HashTableTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/HashTableTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/HashTableTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/HashTableTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/HashTableTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/HashTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/HashTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/HashTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.vpi b/Test/HashTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.vpi deleted file mode 100644 index 4a3ca03..0000000 --- a/Test/HashTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.vpi +++ /dev/null @@ -1,41 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import string -import memhub -from stdint import * -_HT_EMPTY: t.CDefine = 0 -_HT_TOMBSTONE: t.CDefine = 1 -_HT_INIT_CAP: t.CDefine = 16 -_HT_SLOT_SIZE: t.CDefine = 24 -_FNV_OFFSET: t.CUInt64T = 2216829733 -_FNV_PRIME: t.CUInt64T = 435 -def _fnv1a_hash(key: str) -> t.CUInt64T: pass - -class HashTable: - __slots__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __tombstones__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def _slot_hash(self, idx: t.CSizeT) -> t.CUInt64T: pass - def _slot_key(self, idx: t.CSizeT) -> str: pass - def _slot_value(self, idx: t.CSizeT) -> t.CPtr: pass - def _set_slot(self, idx: t.CSizeT, h: t.CUInt64T, key: str, val: t.CPtr): pass - def _find_slot(self, key: str, h: t.CUInt64T) -> t.CSizeT: pass - def _resize(self, new_cap: t.CSizeT): pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __contains__(self, key: str) -> t.CInt: pass - def __delitem__(self, key: str) -> t.CInt: pass - def __len__(self) -> t.CSizeT: pass - def __iter__(self) -> HashTable | t.CPtr: pass - def __next__(self) -> str: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - diff --git a/Test/HashTableTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/HashTableTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/HashTableTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/HashTableTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/HashTableTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/HashTableTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/HashTableTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/HashTableTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/HashTableTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/HashTableTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/HashTableTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/HashTableTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/HashTableTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/HashTableTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/HashTableTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/HashTableTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/HashTableTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/HashTableTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/HashTableTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/HashTableTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/HashTableTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/HashTableTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/HashTableTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/HashTableTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/HashTableTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/HashTableTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/HashTableTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/HashTableTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/HashTableTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/HashTableTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/HashTableTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/HashTableTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/HashTableTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/HashTableTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/HashTableTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/HashTableTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/HashTableTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/HashTableTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/HashTableTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/HashTableTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/HashTableTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/HashTableTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/HashTableTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/HashTableTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/HashTableTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/HashTableTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/HashTableTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/HashTableTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/HashTableTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/_sha1_map.txt b/Test/HashTableTest/.tpv_build/temp/_sha1_map.txt index 6877332..74a38f0 100644 --- a/Test/HashTableTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/HashTableTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,14 @@ aa246c6e6aa30484:includes/atom.vp -2b77d783c41d21d1:includes/hashtable.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +4c1f8f779b98eab9:includes/hashtable.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp -02d833b3cf571c5b:main.vp +63404c61b2f64786:main.vp diff --git a/Test/HashTableTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/HashTableTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/HashTableTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/HashTableTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/HashTableTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/HashTableTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/HashTableTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/HashTableTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/HashTableTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/HashTableTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/HashTableTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/HashTableTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/HashTableTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/HashTableTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/HashTableTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/HashTableTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/HashTableTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/HashTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/HashTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/HashTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/HashTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/HashTableTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/HashTableTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/HashTableTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/HashTableTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/HashTableTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/HashTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/HashTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/HashTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/HashTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/HashTableTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/HashTableTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/HashTableTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/HashTableTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/HashTableTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/HashTableTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/HashTableTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/HashTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/HashTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/HashTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/HashTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/HashTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/HashTableTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/HashTableTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/HashTableTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/HashTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/HashTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/HashTableTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/HashTableTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/HashTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/HashTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/HashTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/HashTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/HashTableTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/HashTableTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/HashTableTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/HashTableTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/HashTableTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/HashTableTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/HashTableTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/HashTableTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/HashTableTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/HashTableTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/HashTableTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/HashTableTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/HashTableTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/HashTableTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/HashTableTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/HashTableTest/output/02d833b3cf571c5b.deps.json b/Test/HashTableTest/output/02d833b3cf571c5b.deps.json deleted file mode 100644 index c1bbc88..0000000 --- a/Test/HashTableTest/output/02d833b3cf571c5b.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "hashtable": "4c1f8f779b98eab9", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/HashTableTest/temp/02d833b3cf571c5b.doc.json b/Test/HashTableTest/temp/02d833b3cf571c5b.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/HashTableTest/temp/02d833b3cf571c5b.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/HashTableTest/temp/02d833b3cf571c5b.vpi b/Test/HashTableTest/temp/02d833b3cf571c5b.vpi deleted file mode 100644 index 41a8aa5..0000000 --- a/Test/HashTableTest/temp/02d833b3cf571c5b.vpi +++ /dev/null @@ -1,18 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -from stdint import * -import w32.win32console -import t, c -from t import CInt, CExport -import stdio -import stdlib -import string -import memhub -import hashtable -import testcheck - -def main() -> CInt | CExport: pass diff --git a/Test/HashTableTest/temp/_phase1_manifest.json b/Test/HashTableTest/temp/_phase1_manifest.json index 4fc78ed..3b30196 100644 --- a/Test/HashTableTest/temp/_phase1_manifest.json +++ b/Test/HashTableTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\HashTableTest\\App\\main.vp": {"sha1": "02d833b3cf571c5b", "mtime": 1782828002.1143503, "size": 7795}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashtable.vp": {"sha1": "4c1f8f779b98eab9", "mtime": 1786093272.094484, "size": 9754}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\HashTableTest\\App\\main.vp": {"sha1": "63404c61b2f64786", "mtime": 1786169639.790436, "size": 7934}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashtable.vp": {"sha1": "4c1f8f779b98eab9", "mtime": 1786093272.094484, "size": 9754}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/HashTableTest/temp/_sha1_map.txt b/Test/HashTableTest/temp/_sha1_map.txt index 3a19644..9ed30f2 100644 --- a/Test/HashTableTest/temp/_sha1_map.txt +++ b/Test/HashTableTest/temp/_sha1_map.txt @@ -1,12 +1,12 @@ -02d833b3cf571c5b:main.vp -04e5fe47ff2af528:includes/memhub.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp 4c1f8f779b98eab9:includes/hashtable.vp +4c39369ffedaddac:includes/string.vp +63404c61b2f64786:main.vp 6c658cc728d0bbf4:includes/stdlib.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/HashTableTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/HashTableTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/HashTableTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/HashTableTest/temp/c9f4be41ca1cc2b4.vpi b/Test/HashTableTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/HashTableTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/IterTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/IterTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/IterTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/IterTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/IterTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/IterTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/IterTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/IterTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/IterTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/IterTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/IterTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/IterTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/IterTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/IterTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/IterTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/IterTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/IterTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/IterTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/IterTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/IterTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/IterTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/IterTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/IterTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/IterTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/IterTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/IterTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/IterTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/IterTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/IterTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/IterTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/IterTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/IterTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/IterTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/IterTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/IterTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/IterTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/IterTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/IterTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/IterTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/IterTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/IterTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/IterTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/IterTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/IterTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/IterTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/IterTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/IterTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/IterTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/IterTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/IterTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/6b/6b8853854d6ef556.deps.txt b/Test/IterTest/.tpv_build/temp/6b/6b8853854d6ef556.deps.txt deleted file mode 100644 index 0277e0d..0000000 --- a/Test/IterTest/.tpv_build/temp/6b/6b8853854d6ef556.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdio string testcheck w32.win32memory w32 w32.win32memory w32 \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/6b/6b8853854d6ef556.vpi b/Test/IterTest/.tpv_build/temp/6b/6b8853854d6ef556.vpi deleted file mode 100644 index 3f87f40..0000000 --- a/Test/IterTest/.tpv_build/temp/6b/6b8853854d6ef556.vpi +++ /dev/null @@ -1,17 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -import stdio -import string -import testcheck -def test_for_in_string(): pass - -def test_for_in_char_ptr(): pass - -def test_strcpy_for_in(): pass - -import w32.win32memory -def main() -> t.CInt: pass - diff --git a/Test/IterTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/IterTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/IterTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/IterTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/IterTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/IterTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/IterTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/IterTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/IterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/IterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi b/Test/IterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index 837f0e5..0000000 --- a/Test/IterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine = 4096 -MEM_RESERVE: t.CDefine = 8192 -MEM_DECOMMIT: t.CDefine = 16384 -MEM_RELEASE: t.CDefine = 32768 -MEM_FREE: t.CDefine = 65536 -MEM_RESET: t.CDefine = 524288 -MEM_TOP_DOWN: t.CDefine = 1048576 -MEM_WRITE_WATCH: t.CDefine = 2097152 -MEM_PHYSICAL: t.CDefine = 4194304 -MEM_LARGE_PAGES: t.CDefine = 536870912 -PAGE_NOACCESS: t.CDefine = 1 -PAGE_READONLY: t.CDefine = 2 -PAGE_READWRITE: t.CDefine = 4 -PAGE_WRITECOPY: t.CDefine = 8 -PAGE_EXECUTE: t.CDefine = 16 -PAGE_EXECUTE_READ: t.CDefine = 32 -PAGE_EXECUTE_READWRITE: t.CDefine = 64 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 128 -PAGE_GUARD: t.CDefine = 256 -PAGE_NOCACHE: t.CDefine = 512 -PAGE_WRITECOMBINE: t.CDefine = 1024 -HEAP_NO_SERIALIZE: t.CDefine = 1 -HEAP_GROWABLE: t.CDefine = 2 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 4 -HEAP_ZERO_MEMORY: t.CDefine = 8 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 16 -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/IterTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/IterTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/IterTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/IterTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/IterTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/IterTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/IterTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/IterTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/IterTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/IterTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/IterTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/IterTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/IterTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/_sha1_map.txt b/Test/IterTest/.tpv_build/temp/_sha1_map.txt index 4f9a21d..3540dce 100644 --- a/Test/IterTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/IterTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,14 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -72e2d5ccb7cedcf1:includes/w32/win32memory.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +fb67ebda973806ad:includes/w32/win32memory.vp 7cadfe07e983fd90:includes/_list.vp -6b8853854d6ef556:main.vp +7ddf5cf22d6bfeb4:main.vp diff --git a/Test/IterTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/IterTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/IterTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/IterTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/IterTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/IterTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/IterTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/IterTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/IterTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/IterTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/IterTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/IterTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/IterTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/IterTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/IterTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/IterTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/IterTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/IterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/IterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/IterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/IterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/IterTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/IterTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/IterTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/IterTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/IterTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/IterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/IterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/IterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/IterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/IterTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/IterTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/IterTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/IterTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/IterTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/IterTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/IterTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/IterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/IterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/IterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/IterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/IterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/IterTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/IterTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/IterTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/IterTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/IterTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/IterTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/IterTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/IterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/IterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/IterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/IterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/IterTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/IterTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/IterTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/IterTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/IterTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/IterTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/IterTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/IterTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/IterTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/IterTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/IterTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/IterTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/IterTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/IterTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/IterTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/IterTest/output/6b8853854d6ef556.deps.json b/Test/IterTest/output/6b8853854d6ef556.deps.json deleted file mode 100644 index a783ef5..0000000 --- a/Test/IterTest/output/6b8853854d6ef556.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"stdio": "285b6aa29a34754d", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/IterTest/temp/6b8853854d6ef556.doc.json b/Test/IterTest/temp/6b8853854d6ef556.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/IterTest/temp/6b8853854d6ef556.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/IterTest/temp/6b8853854d6ef556.vpi b/Test/IterTest/temp/6b8853854d6ef556.vpi deleted file mode 100644 index 163012d..0000000 --- a/Test/IterTest/temp/6b8853854d6ef556.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - -import c - - -import t -import stdio -import string -import testcheck - -def test_for_in_string() -> t.CInt: pass - -def test_for_in_char_ptr() -> t.CInt: pass - -def test_strcpy_for_in() -> t.CInt: pass - - -import w32.win32memory - -def main() -> t.CInt: pass diff --git a/Test/IterTest/temp/_phase1_manifest.json b/Test/IterTest/temp/_phase1_manifest.json index 9468b8a..912a716 100644 --- a/Test/IterTest/temp/_phase1_manifest.json +++ b/Test/IterTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\IterTest\\App\\main.vp": {"sha1": "6b8853854d6ef556", "mtime": 1782474645.4172094, "size": 1600}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\IterTest\\App\\main.vp": {"sha1": "7ddf5cf22d6bfeb4", "mtime": 1786169525.0067694, "size": 1712}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/IterTest/temp/_sha1_map.txt b/Test/IterTest/temp/_sha1_map.txt index cc7f199..507e5be 100644 --- a/Test/IterTest/temp/_sha1_map.txt +++ b/Test/IterTest/temp/_sha1_map.txt @@ -1,8 +1,8 @@ 285b6aa29a34754d:includes/stdio.vp -6b8853854d6ef556:main.vp +40b053f21c0df07c:includes/string.vp 72e2d5ccb7cedcf1:includes/w32\win32memory.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp +7ddf5cf22d6bfeb4:main.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/JsonTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/JsonTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/JsonTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/JsonTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/JsonTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/JsonTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/JsonTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/JsonTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/JsonTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/JsonTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/JsonTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/JsonTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/JsonTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/JsonTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/JsonTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/JsonTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/JsonTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/JsonTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/JsonTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/JsonTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/JsonTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/JsonTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/JsonTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/JsonTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/JsonTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/JsonTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/JsonTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/JsonTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/JsonTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/JsonTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/JsonTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/JsonTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/JsonTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi b/Test/JsonTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index 837f0e5..0000000 --- a/Test/JsonTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine = 4096 -MEM_RESERVE: t.CDefine = 8192 -MEM_DECOMMIT: t.CDefine = 16384 -MEM_RELEASE: t.CDefine = 32768 -MEM_FREE: t.CDefine = 65536 -MEM_RESET: t.CDefine = 524288 -MEM_TOP_DOWN: t.CDefine = 1048576 -MEM_WRITE_WATCH: t.CDefine = 2097152 -MEM_PHYSICAL: t.CDefine = 4194304 -MEM_LARGE_PAGES: t.CDefine = 536870912 -PAGE_NOACCESS: t.CDefine = 1 -PAGE_READONLY: t.CDefine = 2 -PAGE_READWRITE: t.CDefine = 4 -PAGE_WRITECOPY: t.CDefine = 8 -PAGE_EXECUTE: t.CDefine = 16 -PAGE_EXECUTE_READ: t.CDefine = 32 -PAGE_EXECUTE_READWRITE: t.CDefine = 64 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 128 -PAGE_GUARD: t.CDefine = 256 -PAGE_NOCACHE: t.CDefine = 512 -PAGE_WRITECOMBINE: t.CDefine = 1024 -HEAP_NO_SERIALIZE: t.CDefine = 1 -HEAP_GROWABLE: t.CDefine = 2 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 4 -HEAP_ZERO_MEMORY: t.CDefine = 8 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 16 -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/JsonTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/JsonTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/JsonTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/JsonTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/JsonTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/8a/8a97754e9e3c2b9a.vpi b/Test/JsonTest/.tpv_build/temp/8a/8a97754e9e3c2b9a.vpi deleted file mode 100644 index c1a8104..0000000 --- a/Test/JsonTest/.tpv_build/temp/8a/8a97754e9e3c2b9a.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -from stdio import printf -import memhub -import json -import string -import w32.win32memory as win32mem -import testcheck -def test_construct(pool: memhub.MemPool | t.CPtr): pass - -def test_build_structures(pool: memhub.MemPool | t.CPtr): pass - -def test_parse(pool: memhub.MemPool | t.CPtr): pass - -def test_write(pool: memhub.MemPool | t.CPtr): pass - -def test_nested(pool: memhub.MemPool | t.CPtr): pass - -def test_mpool_reuse(): pass - -def test_escape(pool: memhub.MemPool | t.CPtr): pass - -def main() -> t.CInt | t.CExport: pass - diff --git a/Test/JsonTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/JsonTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/JsonTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/JsonTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/JsonTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/JsonTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/JsonTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/JsonTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/JsonTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/_sha1_map.txt b/Test/JsonTest/.tpv_build/temp/_sha1_map.txt index ef39fe5..c41d23a 100644 --- a/Test/JsonTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/JsonTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,17 @@ aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp 6ddf430432a0e373:includes/json/__init__.vp 240a9a4157959a9f:includes/json/__parser.vp 20cd49775c100a38:includes/json/__writer.vp -04e5fe47ff2af528:includes/memhub.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -928c0ff6d8c69ec9:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -72e2d5ccb7cedcf1:includes/w32/win32memory.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +fb67ebda973806ad:includes/w32/win32memory.vp 7cadfe07e983fd90:includes/_list.vp -8a97754e9e3c2b9a:main.vp +411bad63302b77f7:main.vp diff --git a/Test/JsonTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/JsonTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/JsonTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/JsonTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/JsonTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/JsonTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/JsonTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/JsonTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/JsonTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/JsonTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/JsonTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/JsonTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/JsonTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/JsonTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/JsonTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/JsonTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/JsonTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/JsonTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/JsonTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/JsonTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/JsonTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/JsonTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/JsonTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/JsonTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/JsonTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/JsonTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/JsonTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/JsonTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/JsonTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/JsonTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/JsonTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/JsonTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/JsonTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/JsonTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/JsonTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/JsonTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/JsonTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/JsonTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/JsonTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/JsonTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/JsonTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/JsonTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/JsonTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/JsonTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/JsonTest/output/8a97754e9e3c2b9a.deps.json b/Test/JsonTest/output/8a97754e9e3c2b9a.deps.json deleted file mode 100644 index 8d25974..0000000 --- a/Test/JsonTest/output/8a97754e9e3c2b9a.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/JsonTest/temp/20cd49775c100a38.stub.ll.dep b/Test/JsonTest/temp/20cd49775c100a38.stub.ll.dep index 7df8e8d..d91b2c0 100644 --- a/Test/JsonTest/temp/20cd49775c100a38.stub.ll.dep +++ b/Test/JsonTest/temp/20cd49775c100a38.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/JsonTest/temp/240a9a4157959a9f.stub.ll.dep b/Test/JsonTest/temp/240a9a4157959a9f.stub.ll.dep index 7df8e8d..d91b2c0 100644 --- a/Test/JsonTest/temp/240a9a4157959a9f.stub.ll.dep +++ b/Test/JsonTest/temp/240a9a4157959a9f.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/JsonTest/temp/8a97754e9e3c2b9a.doc.json b/Test/JsonTest/temp/8a97754e9e3c2b9a.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/JsonTest/temp/8a97754e9e3c2b9a.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/JsonTest/temp/8a97754e9e3c2b9a.vpi b/Test/JsonTest/temp/8a97754e9e3c2b9a.vpi deleted file mode 100644 index 7127ac6..0000000 --- a/Test/JsonTest/temp/8a97754e9e3c2b9a.vpi +++ /dev/null @@ -1,30 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -import t, c -from stdint import * -from stdio import printf -import memhub -import json -import string -import w32.win32memory as win32mem -import testcheck - -def test_construct(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_build_structures(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_parse(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_write(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_nested(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_mpool_reuse() -> t.CInt: pass - -def test_escape(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def main() -> t.CInt | t.CExport: pass diff --git a/Test/JsonTest/temp/_phase1_manifest.json b/Test/JsonTest/temp/_phase1_manifest.json index 764b017..20aafd7 100644 --- a/Test/JsonTest/temp/_phase1_manifest.json +++ b/Test/JsonTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\JsonTest\\App\\main.vp": {"sha1": "8a97754e9e3c2b9a", "mtime": 1782828053.1672907, "size": 14025}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.vp": {"sha1": "6ddf430432a0e373", "mtime": 1785424554.7204792, "size": 7707}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.vp": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.vp": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\JsonTest\\App\\main.vp": {"sha1": "64ac5229d683ca24", "mtime": 1786169732.7234497, "size": 14259}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.vp": {"sha1": "6ddf430432a0e373", "mtime": 1785424554.7204792, "size": 7707}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.vp": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.vp": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/JsonTest/temp/_sha1_map.txt b/Test/JsonTest/temp/_sha1_map.txt index ddc13dc..01bc27e 100644 --- a/Test/JsonTest/temp/_sha1_map.txt +++ b/Test/JsonTest/temp/_sha1_map.txt @@ -1,15 +1,15 @@ -04e5fe47ff2af528:includes/memhub.vp 20cd49775c100a38:includes/json\__writer.vp +2408ce147bac090b:includes/memhub.vp 240a9a4157959a9f:includes/json\__parser.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp +64ac5229d683ca24:main.vp 6c658cc728d0bbf4:includes/stdlib.vp 6ddf430432a0e373:includes/json\__init__.vp 72e2d5ccb7cedcf1:includes/w32\win32memory.vp 748d0424e8976fa0:includes/testcheck.vp -8a97754e9e3c2b9a:main.vp -928c0ff6d8c69ec9:includes/string.vp aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/JsonTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/JsonTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/JsonTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/JsonTest/temp/c9f4be41ca1cc2b4.vpi b/Test/JsonTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/JsonTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/LLvmLiteTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/LLvmLiteTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/LLvmLiteTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/LLvmLiteTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/33/33d64eeb99369a85.vpi b/Test/LLvmLiteTest/.tpv_build/temp/33/33d64eeb99369a85.vpi deleted file mode 100644 index 8645fa7..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/33/33d64eeb99369a85.vpi +++ /dev/null @@ -1,66 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperlib -from .__types import LLVMType, ParamNode, LLVMTypeCore, Int1, Int8, Int16, Int32, Int64, Ptr, Func, Void, Array, Struct, Half, Float, Double, FP128, Label, new_param_node, param_list_append, paramnode_get_ty, paramnode_get_next, paramnode_set_ty, paramnode_set_next, TypePrint, PrintStructDefinition, get_struct_name -from .__values import Value, new_value, ConstInt, ConstNull, ConstZero, ConstFloat, SSAValue, ValuePrint, value_get_ty, value_get_next, value_set_ty, value_set_next, value_set_name, value_set_isconst -from .__function import Line, BasicBlock, Param, Function, new_line, new_basic_block, new_param, new_function, function_add_param, function_add_block, block_append_line, block_append_text, function_set_attrs, param_set_attrs, function_get_name, function_get_ret_ty, function_get_params, function_get_param_head, function_get_next, function_is_declared, param_get_name, param_get_ty, param_get_next, FunctionPrint -from .__module import LLVMModule, GlobalVariable, NamedTypeNode, new_module, new_global_variable, module_add_function, module_add_global, module_add_named_type, module_set_target, module_set_datalayout, global_set_constant, global_set_linkage, global_set_unnamed_addr, global_set_section, LLVMModulePrint, OUTPUT_FULL, OUTPUT_STUB, OUTPUT_TEXT, module_ensure_opaque_for_type -from .__builder import IRBuilder, new_builder, position_at_end, builder_cur_block_is_terminated, build_alloca, build_alloca_at_entry, build_load, build_store, build_add, build_sub, build_mul, build_sdiv, build_udiv, build_srem, build_urem, build_and, build_or, build_xor, build_shl, build_lshr, build_ashr, build_fadd, build_fsub, build_fmul, build_fdiv, build_frem, build_fneg, build_icmp, build_fcmp, build_br, build_cond_br, build_ret, build_ret_void, build_call, build_call_indirect, build_bitcast, build_sext, build_trunc, build_zext, build_ptrtoint, build_inttoptr, build_fpext, build_fptrunc, build_fp2si, build_si2fp, build_fp2ui, build_ui2fp, build_gep, build_gep_array, build_gep_struct, build_phi, build_switch, build_select, build_unreachable, build_atomicrmw, build_cmpxchg, build_inline_asm, build_va_arg, PhiIncoming, new_phi_incoming, SwitchCase, new_switch_case, ICMP_EQ, ICMP_NE, ICMP_SGT, ICMP_SGE, ICMP_SLT, ICMP_SLE, ICMP_UGT, ICMP_UGE, ICMP_ULT, ICMP_ULE, FCMP_FALSE, FCMP_OEQ, FCMP_OGT, FCMP_OGE, FCMP_OLT, FCMP_OLE, FCMP_ONE, FCMP_ORD, FCMP_UNO, FCMP_UEQ, FCMP_UGT, FCMP_UGE, FCMP_ULT, FCMP_ULE, FCMP_UNE, FCMP_TRUE, ATOMIC_XCHG, ATOMIC_ADD, ATOMIC_SUB, ATOMIC_AND, ATOMIC_NAND, ATOMIC_OR, ATOMIC_XOR, ATOMIC_MAX, ATOMIC_MIN, ATOMIC_UMAX, ATOMIC_UMIN, ATOMIC_ORDER_NOTATOMIC, ATOMIC_ORDER_UNORDERED, ATOMIC_ORDER_MONOTONIC, ATOMIC_ORDER_ACQUIRE, ATOMIC_ORDER_RELEASE, ATOMIC_ORDER_ACQ_REL, ATOMIC_ORDER_SEQ_CST -from .__verify import VerifyResult, NameEntry, verify_function, verify_module, VERIFY_OK, VERIFY_ERR_NO_TERMINATOR, VERIFY_ERR_DUPLICATE_DEF, VERIFY_ERR_UNDEFINED_USE, VERIFY_ERR_PHI_NOT_FIRST, _new_verify_result -def _str_dup(pool: memhub.MemBuddy | t.CPtr, src: t.CChar | t.CPtr) -> t.CChar | t.CPtr: pass - -def create_block(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass - -def const_int(pool: memhub.MemBuddy | t.CPtr, bits: t.CInt, val: t.CInt64T) -> Value | t.CPtr: pass - -def const_int32(pool: memhub.MemBuddy | t.CPtr, val: t.CInt64T) -> Value | t.CPtr: pass - -def const_int64(pool: memhub.MemBuddy | t.CPtr, val: t.CInt64T) -> Value | t.CPtr: pass - -def create_function(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - -def add_param(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass - -def create_declare(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - -def create_global_string(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, text: t.CChar | t.CPtr) -> GlobalVariable | t.CPtr: pass - -def create_global_int(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, bits: t.CInt, val: t.CInt64T) -> GlobalVariable | t.CPtr: pass - -@t.NoVTable -class LLVMModuleCore: - Pool: memhub.MemBuddy | t.CPtr - def __init__(self, pool: memhub.MemBuddy | t.CPtr): pass - def NewModule(self, name: t.CChar | t.CPtr) -> LLVMModule | t.CPtr: pass - def CreateFunction(self, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - def CreateDeclare(self, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - def AddParam(self, func: Function | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass - def FunctionSetAttrs(self, func: Function | t.CPtr, attrs: t.CChar | t.CPtr): pass - def ParamSetAttrs(self, param: Param | t.CPtr, attrs: t.CChar | t.CPtr): pass - def CreateBlock(self, func: Function | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass - def NewBuilder(self, func: Function | t.CPtr) -> IRBuilder | t.CPtr: pass - def NewGlobal(self, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ty: LLVMType | t.CPtr) -> GlobalVariable | t.CPtr: pass - def CreateGlobalString(self, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, text: t.CChar | t.CPtr) -> GlobalVariable | t.CPtr: pass - def CreateGlobalInt(self, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, bits: t.CInt, val: t.CInt64T) -> GlobalVariable | t.CPtr: pass - def GlobalSetConstant(self, gv: GlobalVariable | t.CPtr, is_const: t.CInt): pass - def GlobalSetLinkage(self, gv: GlobalVariable | t.CPtr, linkage: t.CChar | t.CPtr): pass - def GlobalSetUnnamedAddr(self, gv: GlobalVariable | t.CPtr, level: t.CInt): pass - def GlobalSetSection(self, gv: GlobalVariable | t.CPtr, section: t.CChar | t.CPtr): pass - def ConstInt(self, bits: t.CInt, val: t.CInt64T) -> Value | t.CPtr: pass - def ConstInt32(self, val: t.CInt64T) -> Value | t.CPtr: pass - def ConstInt64(self, val: t.CInt64T) -> Value | t.CPtr: pass - def ConstFloat(self, ty: LLVMType | t.CPtr, val: t.CDouble) -> Value | t.CPtr: pass - def SSAValue(self, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - def ConstNull(self, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - def PrintValue(self, buf: t.CChar | t.CPtr, size: t.CSizeT, val: Value | t.CPtr): pass - def PrintFunction(self, buf: t.CChar | t.CPtr, size: t.CSizeT, func: Function | t.CPtr): pass - def PrintModule(self, buf: t.CChar | t.CPtr, size: t.CSizeT, mod: LLVMModule | t.CPtr): pass - def NewVerifyResult(self, buf_size: t.CSizeT) -> VerifyResult | t.CPtr: pass - def VerifyFunction(self, func: Function | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass - def VerifyModule(self, mod: LLVMModule | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/LLvmLiteTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/LLvmLiteTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/40/40c03bc03431ef81.vpi b/Test/LLvmLiteTest/.tpv_build/temp/40/40c03bc03431ef81.vpi deleted file mode 100644 index 0cafb19..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/40/40c03bc03431ef81.vpi +++ /dev/null @@ -1,84 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import stdio -import viperlib -import memhub -from linkedlist import GSList, GSListNode -from .__types import LLVMType, TypePrint, Array, PrintStructDefinition, get_struct_name, Struct, ParamNode -from .__function import Function, FunctionPrint, _ll_name_needs_quote, Param -@t.NoVTable -class GlobalVariable(GSListNode[GlobalVariable]): - Name: t.CChar | t.CPtr - Ty: LLVMType | t.CPtr - Initializer: t.CVoid | t.CPtr - IsConstant: t.CInt - Linkage: t.CChar | t.CPtr - Section: t.CChar | t.CPtr - UnnamedAddr: t.CInt - -@t.NoVTable -class NamedTypeNode(GSListNode[NamedTypeNode]): - Ty: LLVMType | t.CPtr - -@t.NoVTable -class LLVMModule: - Name: t.CChar | t.CPtr - FuncHead: Function | t.CPtr - FuncTail: Function | t.CPtr - FuncCount: t.CSizeT - GlobalHead: GlobalVariable | t.CPtr - GlobalTail: GlobalVariable | t.CPtr - GlobalCount: t.CSizeT - TargetTriple: t.CChar | t.CPtr - DataLayout: t.CChar | t.CPtr - NamedTypeHead: NamedTypeNode | t.CPtr - NamedTypeTail: NamedTypeNode | t.CPtr - NamedTypeCount: t.CSizeT - -def new_module(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> LLVMModule | t.CPtr: pass - -GV_SIZE: t.CDefine = 64 -NAMED_TYPE_NODE_SIZE: t.CDefine = 16 -def new_global_variable(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr, ty: LLVMType | t.CPtr) -> GlobalVariable | t.CPtr: pass - -def module_add_function(mod: LLVMModule | t.CPtr, func: Function | t.CPtr): pass - -def module_add_global(mod: LLVMModule | t.CPtr, gv: GlobalVariable | t.CPtr): pass - -def module_set_target(mod: LLVMModule | t.CPtr, triple: t.CChar | t.CPtr): pass - -def module_set_datalayout(mod: LLVMModule | t.CPtr, layout: t.CChar | t.CPtr): pass - -def _is_opaque_struct(ty: LLVMType | t.CPtr) -> int: pass - -def module_add_named_type(mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr): pass - -def _is_type_defined_in_module(mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr) -> int: pass - -def _scan_type_for_cross_module_refs(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, ty: LLVMType | t.CPtr): pass - -def module_ensure_opaque_for_type(mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr): pass - -def global_set_constant(gv: GlobalVariable | t.CPtr, is_const: t.CInt): pass - -def global_set_linkage(gv: GlobalVariable | t.CPtr, linkage: t.CChar | t.CPtr): pass - -def global_set_unnamed_addr(gv: GlobalVariable | t.CPtr, level: t.CInt): pass - -def global_set_section(gv: GlobalVariable | t.CPtr, section: t.CChar | t.CPtr): pass - -OUTPUT_FULL: t.CDefine = 0 -OUTPUT_STUB: t.CDefine = 1 -OUTPUT_TEXT: t.CDefine = 2 -def LLVMModulePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, mode: t.CInt): pass - -def _print_global(buf: t.CChar | t.CPtr, size: t.CSizeT, gv: GlobalVariable | t.CPtr, pool: memhub.MemBuddy | t.CPtr): pass - -def _print_global_stub(buf: t.CChar | t.CPtr, size: t.CSizeT, gv: GlobalVariable | t.CPtr, pool: memhub.MemBuddy | t.CPtr): pass - -def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr): pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/5b/5b8cf12a5862b640.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/5b/5b8cf12a5862b640.deps.txt deleted file mode 100644 index 03d7da5..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/5b/5b8cf12a5862b640.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint stdio string stdlib memhub testcheck llvmlite \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/5b/5b8cf12a5862b640.vpi b/Test/LLvmLiteTest/.tpv_build/temp/5b/5b8cf12a5862b640.vpi deleted file mode 100644 index 27b0e70..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/5b/5b8cf12a5862b640.vpi +++ /dev/null @@ -1,68 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import stdio -import string -import stdlib -import memhub -import testcheck -import llvmlite -POOL_SIZE: t.CDefine = 524288 -def test_type_print(pool: memhub.MemPool | t.CPtr): pass - -def test_value_print(pool: memhub.MemPool | t.CPtr): pass - -def test_build_add(pool: memhub.MemPool | t.CPtr): pass - -def test_build_if_else(pool: memhub.MemPool | t.CPtr): pass - -def test_module_print(pool: memhub.MemPool | t.CPtr): pass - -def test_array_type(pool: memhub.MemPool | t.CPtr): pass - -def test_struct_type(pool: memhub.MemPool | t.CPtr): pass - -def test_func_type(pool: memhub.MemPool | t.CPtr): pass - -def test_declare(pool: memhub.MemPool | t.CPtr): pass - -def test_float_types(pool: memhub.MemPool | t.CPtr): pass - -def test_float_binops(pool: memhub.MemPool | t.CPtr): pass - -def test_bitwise_ops(pool: memhub.MemPool | t.CPtr): pass - -def test_fcmp(pool: memhub.MemPool | t.CPtr): pass - -def test_casts(pool: memhub.MemPool | t.CPtr): pass - -def test_fp_conversions(pool: memhub.MemPool | t.CPtr): pass - -def test_phi(pool: memhub.MemPool | t.CPtr): pass - -def test_switch(pool: memhub.MemPool | t.CPtr): pass - -def test_select(pool: memhub.MemPool | t.CPtr): pass - -def test_globals(pool: memhub.MemPool | t.CPtr): pass - -def test_attributes(pool: memhub.MemPool | t.CPtr): pass - -def test_atomic(pool: memhub.MemPool | t.CPtr): pass - -def test_inline_asm_unreachable(pool: memhub.MemPool | t.CPtr): pass - -def test_verify_valid(pool: memhub.MemPool | t.CPtr): pass - -def test_verify_no_terminator(pool: memhub.MemPool | t.CPtr): pass - -def test_verify_duplicate_def(pool: memhub.MemPool | t.CPtr): pass - -def test_verify_undef_use(pool: memhub.MemPool | t.CPtr): pass - -def test_verify_module(pool: memhub.MemPool | t.CPtr): pass - -def main() -> int: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/63/63d0e4548b4c4672.vpi b/Test/LLvmLiteTest/.tpv_build/temp/63/63d0e4548b4c4672.vpi deleted file mode 100644 index 569a606..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/63/63d0e4548b4c4672.vpi +++ /dev/null @@ -1,143 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import viperlib -import string -import memhub -import stdio -import stdlib -from linkedlist import GSListNode -@t.NoVTable -class ParamNode(GSListNode[ParamNode]): - Ty: t.CVoid | t.CPtr - -class LLVMType(t.REnum): - class Int: - Bits: t.CInt - - class Ptr: - Pointee: LLVMType | t.CPtr - - class Func: - Ret: LLVMType | t.CPtr - Params: ParamNode | t.CPtr - PCount: t.CInt - - class Array: - ElemTy: LLVMType | t.CPtr - Count: t.CInt - - class Struct: - Fields: ParamNode | t.CPtr - FCount: t.CInt - Name: t.CChar | t.CPtr - - class Float: - Bits: t.CInt - - class Void: - pass - - class Label: - pass - - class Metadata: - pass - - -def _new_type(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int1(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int8(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int16(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int32(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int64(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Ptr(pool: memhub.MemBuddy | t.CPtr, pointee: LLVMType | t.CPtr) -> LLVMType | t.CPtr: pass - -def Func(pool: memhub.MemBuddy | t.CPtr, ret: LLVMType | t.CPtr, params: ParamNode | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass - -def Void(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Array(pool: memhub.MemBuddy | t.CPtr, elem_ty: LLVMType | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass - -def Struct(pool: memhub.MemBuddy | t.CPtr, fields: ParamNode | t.CPtr, fcount: t.CInt, name: t.CChar | t.CPtr) -> LLVMType | t.CPtr: pass - -def Half(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Float(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Double(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def FP128(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Label(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -PNODE_SIZE: t.CDefine = 16 -def new_param_node(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> ParamNode | t.CPtr: pass - -def param_list_append(head: ParamNode | t.CPtr, tail: ParamNode | t.CPtr, node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass - -def paramnode_get_ty(node: ParamNode | t.CPtr) -> LLVMType | t.CPtr: pass - -def paramnode_get_next(node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass - -def paramnode_set_ty(node: ParamNode | t.CPtr, ty: LLVMType | t.CPtr): pass - -def paramnode_set_next(node: ParamNode | t.CPtr, nxt: ParamNode | t.CPtr): pass - -@t.NoVTable -class LLVMTypeCore: - Pool: memhub.MemBuddy | t.CPtr - def __init__(self, pool: memhub.MemBuddy | t.CPtr): pass - def Int1(self) -> LLVMType | t.CPtr: pass - def Int8(self) -> LLVMType | t.CPtr: pass - def Int16(self) -> LLVMType | t.CPtr: pass - def Int32(self) -> LLVMType | t.CPtr: pass - def Int64(self) -> LLVMType | t.CPtr: pass - def Ptr(self, pointee: LLVMType | t.CPtr) -> LLVMType | t.CPtr: pass - def Func(self, ret: LLVMType | t.CPtr, params: ParamNode | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass - def Array(self, elem_ty: LLVMType | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass - def Struct(self, fields: ParamNode | t.CPtr, fcount: t.CInt, name: t.CChar | t.CPtr) -> LLVMType | t.CPtr: pass - def Void(self) -> LLVMType | t.CPtr: pass - def Half(self) -> LLVMType | t.CPtr: pass - def Float(self) -> LLVMType | t.CPtr: pass - def Double(self) -> LLVMType | t.CPtr: pass - def FP128(self) -> LLVMType | t.CPtr: pass - def Label(self) -> LLVMType | t.CPtr: pass - def NewParamNode(self, ty: LLVMType | t.CPtr) -> ParamNode | t.CPtr: pass - def ParamListAppend(self, head: ParamNode | t.CPtr, tail: ParamNode | t.CPtr, node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass - def PrintType(self, buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr): pass - -def TypePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr, pool: memhub.MemBuddy | t.CPtr): pass - -TYPEPRINT_MAX_DEPTH: t.CDefine = 100 -def _TypePrintDepth(buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr, pool: memhub.MemBuddy | t.CPtr, depth: t.CInt): pass - -def _strappend(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr): pass - -def _print_struct_body(buf: t.CChar | t.CPtr, size: t.CSizeT, fields: ParamNode | t.CPtr, pool: memhub.MemBuddy | t.CPtr, depth: t.CInt): pass - -def PrintStructDefinition(buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr, pool: memhub.MemBuddy | t.CPtr): pass - -def get_struct_name(ty: LLVMType | t.CPtr) -> t.CChar | t.CPtr: pass - -def get_struct_fields(ty: LLVMType | t.CPtr) -> ParamNode | t.CPtr: pass - -def get_struct_fcount(ty: LLVMType | t.CPtr) -> t.CInt: pass - -DEEPCOPY_MAX_DEPTH: t.CDefine = 64 -def DeepCopyType(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> LLVMType | t.CPtr: pass - -def _DeepCopyDepth(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, depth: t.CInt) -> LLVMType | t.CPtr: pass - -def _DeepCopyParamChain(pool: memhub.MemBuddy | t.CPtr, head: ParamNode | t.CPtr, depth: t.CInt) -> ParamNode | t.CPtr: pass - -def _DeepCopyStr(pool: memhub.MemBuddy | t.CPtr, s: t.CChar | t.CPtr) -> t.CChar | t.CPtr: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/6b/6b3bc463fd044545.vpi b/Test/LLvmLiteTest/.tpv_build/temp/6b/6b3bc463fd044545.vpi deleted file mode 100644 index 549ca8c..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/6b/6b3bc463fd044545.vpi +++ /dev/null @@ -1,58 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -from linkedlist import GSListNode, GSList -from .__function import Function, BasicBlock, Line, Param -from .__module import LLVMModule -VERIFY_OK: t.CDefine = 0 -VERIFY_ERR_NO_TERMINATOR: t.CDefine = 1 -VERIFY_ERR_DUPLICATE_DEF: t.CDefine = 2 -VERIFY_ERR_UNDEFINED_USE: t.CDefine = 3 -VERIFY_ERR_PHI_NOT_FIRST: t.CDefine = 4 -@t.NoVTable -class NameEntry(GSListNode[NameEntry]): - Name: t.CChar | t.CPtr - -class VerifyResult: - ErrorCount: t.CInt - WarningCount: t.CInt - ErrorCode: t.CInt - ErrorBuf: t.CChar | t.CPtr - ErrorBufSize: t.CSizeT - -def _new_verify_result(pool: memhub.MemBuddy | t.CPtr, buf_size: t.CSizeT) -> VerifyResult | t.CPtr: pass - -def _report_error(result: VerifyResult | t.CPtr, code: t.CInt, msg: t.CChar | t.CPtr): pass - -def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr): pass - -def _new_name_table(pool: memhub.MemBuddy | t.CPtr) -> GSList[NameEntry] | t.CPtr: pass - -NENTRY_SIZE: t.CDefine = 16 -def _name_table_add(table: GSList[NameEntry] | t.CPtr, pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass - -def _name_table_contains(table: GSList[NameEntry] | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass - -def _is_char_name(ch: t.CChar) -> t.CInt: pass - -def _extract_def_name(pool: memhub.MemBuddy | t.CPtr, text: t.CChar | t.CPtr) -> t.CChar | t.CPtr: pass - -def _is_terminator(text: t.CChar | t.CPtr) -> t.CInt: pass - -def _is_phi(text: t.CChar | t.CPtr) -> t.CInt: pass - -def _check_uses_in_line(table: GSList[NameEntry] | t.CPtr, text: t.CChar | t.CPtr, def_name: t.CChar | t.CPtr) -> t.CInt: pass - -def _name_matches_at(text: t.CChar | t.CPtr, start: t.CInt, length: t.CInt, table: GSList[NameEntry] | t.CPtr) -> t.CInt: pass - -def _str_matches_at(text: t.CChar | t.CPtr, start: t.CInt, length: t.CInt, target: t.CChar | t.CPtr) -> t.CInt: pass - -def verify_function(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass - -def verify_module(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/LLvmLiteTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/LLvmLiteTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/87/874bac141c97bae9.vpi b/Test/LLvmLiteTest/.tpv_build/temp/87/874bac141c97bae9.vpi deleted file mode 100644 index 01c2a82..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/87/874bac141c97bae9.vpi +++ /dev/null @@ -1,112 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -import stdio -from linkedlist import GSListNode, GSList -from .__types import LLVMType, ParamNode, TypePrint -@t.NoVTable -class Line(GSListNode[Line]): - Buf: t.CChar | t.CPtr - Len: t.CSizeT - -@t.NoVTable -class BasicBlock(GSListNode[BasicBlock]): - Name: t.CChar | t.CPtr - Lines: GSList[Line] | t.CPtr - IsTerminated: t.CInt - -@t.NoVTable -class Param(GSListNode[Param]): - Ty: LLVMType | t.CPtr - Name: t.CChar | t.CPtr - Attrs: t.CChar | t.CPtr - -@t.NoVTable -class Function(GSListNode[Function]): - Name: t.CChar | t.CPtr - RetTy: LLVMType | t.CPtr - Params: GSList[Param] | t.CPtr - Blocks: GSList[BasicBlock] | t.CPtr - IsDeclared: t.CInt - IsVarArg: t.CInt - Attrs: t.CChar | t.CPtr - -LINE_SIZE: t.CDefine = 24 -def new_line(pool: memhub.MemBuddy | t.CPtr, text: t.CChar | t.CPtr) -> Line | t.CPtr: pass - -def _new_gslist(pool: memhub.MemBuddy | t.CPtr, list_size: t.CSizeT) -> t.CPtr: pass - -BLOCK_SIZE: t.CDefine = 32 -def new_basic_block(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass - -PARAM_SIZE: t.CDefine = 32 -def new_param(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass - -FUNC_SIZE: t.CDefine = 56 -def new_function(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - -def function_add_param(func: Function | t.CPtr, param: Param | t.CPtr): pass - -def function_add_block(func: Function | t.CPtr, block: BasicBlock | t.CPtr): pass - -def function_move_block_to_end(func: Function | t.CPtr, block: BasicBlock | t.CPtr): pass - -def block_append_line(block: BasicBlock | t.CPtr, line: Line | t.CPtr): pass - -def block_set_terminated(block: BasicBlock | t.CPtr, val: t.CInt): pass - -def block_get_terminated(block: BasicBlock | t.CPtr) -> t.CInt: pass - -def block_append_text(pool: memhub.MemBuddy | t.CPtr, block: BasicBlock | t.CPtr, text: t.CChar | t.CPtr): pass - -def block_insert_text_before_terminator(pool: memhub.MemBuddy | t.CPtr, block: BasicBlock | t.CPtr, text: t.CChar | t.CPtr): pass - -def function_set_attrs(func: Function | t.CPtr, attrs: t.CChar | t.CPtr): pass - -def param_set_attrs(param: Param | t.CPtr, attrs: t.CChar | t.CPtr): pass - -def _ll_name_needs_quote(name: str) -> t.CInt: pass - -def _is_digit_ch(ch: t.CChar) -> t.CInt: pass - -def _map_get_i32(map_arr: t.CChar | t.CPtr, idx: t.CInt) -> t.CInt: pass - -def _map_set_i32(map_arr: t.CChar | t.CPtr, idx: t.CInt, val: t.CInt): pass - -def _scan_max_ssa_in_text(text: t.CChar | t.CPtr, cur_max: t.CInt) -> t.CInt: pass - -def _find_max_ssa_number(func: Function | t.CPtr) -> t.CInt: pass - -def _assign_new_numbers(text: t.CChar | t.CPtr, map_arr: t.CChar | t.CPtr, max_n: t.CInt, next_new: t.CInt) -> t.CInt: pass - -def _replace_ssa_numbers(text: t.CChar | t.CPtr, pool: memhub.MemBuddy | t.CPtr, map_arr: t.CChar | t.CPtr, max_n: t.CInt) -> t.CChar | t.CPtr: pass - -def RenumberSSA(func: Function | t.CPtr, pool: memhub.MemBuddy | t.CPtr): pass - -def FunctionPrint(buf: t.CChar | t.CPtr, size: t.CSizeT, func: Function | t.CPtr, pool: memhub.MemBuddy | t.CPtr): pass - -def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr): pass - -def function_get_name(func: Function | t.CPtr) -> t.CChar | t.CPtr: pass - -def function_get_ret_ty(func: Function | t.CPtr) -> LLVMType | t.CPtr: pass - -def function_get_params(func: Function | t.CPtr) -> GSList[Param] | t.CPtr: pass - -def function_get_param_head(func: Function | t.CPtr) -> Param | t.CPtr: pass - -def function_get_next(func: Function | t.CPtr) -> Function | t.CPtr: pass - -def function_is_declared(func: Function | t.CPtr) -> t.CInt: pass - -def param_get_name(param: Param | t.CPtr) -> t.CChar | t.CPtr: pass - -def param_get_ty(param: Param | t.CPtr) -> LLVMType | t.CPtr: pass - -def param_get_next(param: Param | t.CPtr) -> Param | t.CPtr: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/LLvmLiteTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/LLvmLiteTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/LLvmLiteTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/LLvmLiteTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/_sha1_map.txt b/Test/LLvmLiteTest/.tpv_build/temp/_sha1_map.txt index f318665..2799376 100644 --- a/Test/LLvmLiteTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/LLvmLiteTest/.tpv_build/temp/_sha1_map.txt @@ -1,26 +1,23 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp +ac87eb59087b9c33:includes/builtins.vp a5e9a83e9db303ad:includes/linkedlist.vp -a7748ef067f79205:includes/llvmlite/__builder.vp -874bac141c97bae9:includes/llvmlite/__function.vp -33d64eeb99369a85:includes/llvmlite/__init__.vp -40c03bc03431ef81:includes/llvmlite/__module.vp -63d0e4548b4c4672:includes/llvmlite/__types.vp -f9e36e2cd6fa659f:includes/llvmlite/__values.vp -6b3bc463fd044545:includes/llvmlite/__verify.vp -f9d023d1df2bc9c5:includes/memhub.vp +d9b3d06934cd1898:includes/llvmlite/__builder.vp +0a2b5f027d5caad6:includes/llvmlite/__function.vp +f91be6b12d30b5c5:includes/llvmlite/__init__.vp +a338710abd2664f4:includes/llvmlite/__module.vp +0eb95094e8f14be7:includes/llvmlite/__types.vp +bef89476dfde96fe:includes/llvmlite/__values.vp +1ab30dd423d0e622:includes/llvmlite/__verify.vp +2a61eed4abe49e06:includes/memhub.vp 71e0a3ffcb3ebfad:includes/stdarg.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f6ab8989f3545e83:includes/viperlib.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp -5b8cf12a5862b640:main.vp +01edd522de5aabb2:main.vp diff --git a/Test/LLvmLiteTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/LLvmLiteTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/LLvmLiteTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/a7/a7748ef067f79205.vpi b/Test/LLvmLiteTest/.tpv_build/temp/a7/a7748ef067f79205.vpi deleted file mode 100644 index 6e3350c..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/a7/a7748ef067f79205.vpi +++ /dev/null @@ -1,217 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -import stdio -from linkedlist import GSListNode, GSList -from .__types import LLVMType, TypePrint -from .__values import Value, new_value, SSAValue -from .__function import Function, BasicBlock, block_append_text, block_set_terminated, block_get_terminated, function_move_block_to_end, _ll_name_needs_quote, block_insert_text_before_terminator -@t.NoVTable -class IRBuilder: - Pool: memhub.MemBuddy | t.CPtr - Func: Function | t.CPtr - CurBlock: BasicBlock | t.CPtr - Counter: t.CInt - -BUILDER_SIZE: t.CDefine = 32 -def new_builder(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr) -> IRBuilder | t.CPtr: pass - -def position_at_end(builder: IRBuilder | t.CPtr, block: BasicBlock | t.CPtr): pass - -def _alloc_ssa_name(builder: IRBuilder | t.CPtr) -> t.CChar | t.CPtr: pass - -def _type_str(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr) -> t.CChar | t.CPtr: pass - -def _emit(builder: IRBuilder | t.CPtr, text: t.CChar | t.CPtr): pass - -def _mark_terminated(builder: IRBuilder | t.CPtr): pass - -def builder_cur_block_is_terminated(builder: IRBuilder | t.CPtr) -> t.CInt: pass - -def build_alloca(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_alloca_at_entry(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_load(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr, ptr: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_store(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, ptr: Value | t.CPtr): pass - -def build_add(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_sub(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_mul(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_sdiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_udiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_srem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_urem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_and(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_or(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_xor(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_shl(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_lshr(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_ashr(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fadd(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fsub(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fmul(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fdiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_frem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fneg(builder: IRBuilder | t.CPtr, val: Value | t.CPtr) -> Value | t.CPtr: pass - -def _build_binop(builder: IRBuilder | t.CPtr, op: t.CChar | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -ICMP_EQ: t.CDefine = 0 -ICMP_NE: t.CDefine = 1 -ICMP_SGT: t.CDefine = 2 -ICMP_SGE: t.CDefine = 3 -ICMP_SLT: t.CDefine = 4 -ICMP_SLE: t.CDefine = 5 -ICMP_UGT: t.CDefine = 6 -ICMP_UGE: t.CDefine = 7 -ICMP_ULT: t.CDefine = 8 -ICMP_ULE: t.CDefine = 9 -FCMP_FALSE: t.CDefine = 0 -FCMP_OEQ: t.CDefine = 1 -FCMP_OGT: t.CDefine = 2 -FCMP_OGE: t.CDefine = 3 -FCMP_OLT: t.CDefine = 4 -FCMP_OLE: t.CDefine = 5 -FCMP_ONE: t.CDefine = 6 -FCMP_ORD: t.CDefine = 7 -FCMP_UNO: t.CDefine = 8 -FCMP_UEQ: t.CDefine = 9 -FCMP_UGT: t.CDefine = 10 -FCMP_UGE: t.CDefine = 11 -FCMP_ULT: t.CDefine = 12 -FCMP_ULE: t.CDefine = 13 -FCMP_UNE: t.CDefine = 14 -FCMP_TRUE: t.CDefine = 15 -def _icmp_pred_str(pred: t.CInt) -> t.CChar | t.CPtr: pass - -def _fcmp_pred_str(pred: t.CInt) -> t.CChar | t.CPtr: pass - -def build_icmp(builder: IRBuilder | t.CPtr, pred: t.CInt, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fcmp(builder: IRBuilder | t.CPtr, pred: t.CInt, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_br(builder: IRBuilder | t.CPtr, target: BasicBlock | t.CPtr): pass - -def build_cond_br(builder: IRBuilder | t.CPtr, cond: Value | t.CPtr, then_blk: BasicBlock | t.CPtr, else_blk: BasicBlock | t.CPtr): pass - -def build_ret(builder: IRBuilder | t.CPtr, val: Value | t.CPtr): pass - -def build_ret_void(builder: IRBuilder | t.CPtr): pass - -def build_call(builder: IRBuilder | t.CPtr, callee: t.CChar | t.CPtr, args: Value | t.CPtr, arg_count: t.CInt, ret_ty: LLVMType | t.CPtr, is_variadic: t.CInt) -> Value | t.CPtr: pass - -def build_call_indirect(builder: IRBuilder | t.CPtr, callee_val: Value | t.CPtr, args: Value | t.CPtr, arg_count: t.CInt, ret_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_bitcast(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_sext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_trunc(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_zext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_ptrtoint(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_inttoptr(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_fpext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_fptrunc(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_fp2si(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_si2fp(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_fp2ui(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_ui2fp(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def _is_ptr_type(ty: LLVMType | t.CPtr) -> int: pass - -def build_gep(builder: IRBuilder | t.CPtr, elem_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, idx: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_gep_array(builder: IRBuilder | t.CPtr, array_ty: LLVMType | t.CPtr, elem_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, idx: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_gep_struct(builder: IRBuilder | t.CPtr, struct_ty: LLVMType | t.CPtr, field_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, field_idx: t.CInt) -> Value | t.CPtr: pass - -@t.NoVTable -class PhiIncoming(GSListNode[PhiIncoming]): - Val: Value | t.CPtr - Block: BasicBlock | t.CPtr - -PHIINC_SIZE: t.CDefine = 24 -def new_phi_incoming(pool: memhub.MemBuddy | t.CPtr, val: Value | t.CPtr, block: BasicBlock | t.CPtr) -> PhiIncoming | t.CPtr: pass - -def build_phi(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr, incoming_head: PhiIncoming | t.CPtr, count: t.CInt) -> Value | t.CPtr: pass - -@t.NoVTable -class SwitchCase(GSListNode[SwitchCase]): - CaseVal: Value | t.CPtr - Block: BasicBlock | t.CPtr - -SWCASE_SIZE: t.CDefine = 24 -def new_switch_case(pool: memhub.MemBuddy | t.CPtr, case_val: Value | t.CPtr, block: BasicBlock | t.CPtr) -> SwitchCase | t.CPtr: pass - -def build_switch(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, default_blk: BasicBlock | t.CPtr, cases_head: SwitchCase | t.CPtr, case_count: t.CInt): pass - -def build_select(builder: IRBuilder | t.CPtr, cond: Value | t.CPtr, true_val: Value | t.CPtr, false_val: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_unreachable(builder: IRBuilder | t.CPtr): pass - -ATOMIC_XCHG: t.CDefine = 0 -ATOMIC_ADD: t.CDefine = 1 -ATOMIC_SUB: t.CDefine = 2 -ATOMIC_AND: t.CDefine = 3 -ATOMIC_NAND: t.CDefine = 4 -ATOMIC_OR: t.CDefine = 5 -ATOMIC_XOR: t.CDefine = 6 -ATOMIC_MAX: t.CDefine = 7 -ATOMIC_MIN: t.CDefine = 8 -ATOMIC_UMAX: t.CDefine = 9 -ATOMIC_UMIN: t.CDefine = 10 -ATOMIC_ORDER_NOTATOMIC: t.CDefine = 0 -ATOMIC_ORDER_UNORDERED: t.CDefine = 1 -ATOMIC_ORDER_MONOTONIC: t.CDefine = 2 -ATOMIC_ORDER_ACQUIRE: t.CDefine = 3 -ATOMIC_ORDER_RELEASE: t.CDefine = 4 -ATOMIC_ORDER_ACQ_REL: t.CDefine = 5 -ATOMIC_ORDER_SEQ_CST: t.CDefine = 6 -def _atomic_op_str(op: t.CInt) -> t.CChar | t.CPtr: pass - -def _atomic_order_str(ord: t.CInt) -> t.CChar | t.CPtr: pass - -def build_atomicrmw(builder: IRBuilder | t.CPtr, op: t.CInt, ptr: Value | t.CPtr, val: Value | t.CPtr, order: t.CInt) -> Value | t.CPtr: pass - -def build_cmpxchg(builder: IRBuilder | t.CPtr, ptr: Value | t.CPtr, cmp_val: Value | t.CPtr, new_val: Value | t.CPtr, succ_order: t.CInt, fail_order: t.CInt) -> Value | t.CPtr: pass - -def build_va_arg(builder: IRBuilder | t.CPtr, va_list_ptr: Value | t.CPtr, arg_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_inline_asm(builder: IRBuilder | t.CPtr, ret_ty: LLVMType | t.CPtr, asm_text: t.CChar | t.CPtr, constraints: t.CChar | t.CPtr, has_side_effects: t.CInt) -> Value | t.CPtr: pass - -def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr): pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/LLvmLiteTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/LLvmLiteTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/LLvmLiteTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/LLvmLiteTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/LLvmLiteTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/LLvmLiteTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/LLvmLiteTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi b/Test/LLvmLiteTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi deleted file mode 100644 index c09feb3..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import viperio -from stdarg import arg, va_arg -TEMP_BUF_SIZE: t.CDefine = 68 -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/LLvmLiteTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.vpi b/Test/LLvmLiteTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.vpi deleted file mode 100644 index be33b93..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.vpi +++ /dev/null @@ -1,47 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -from linkedlist import GSListNode -from .__types import LLVMType, TypePrint -@t.NoVTable -class Value(GSListNode[Value]): - Ty: LLVMType | t.CPtr - Name: t.CChar | t.CPtr - IsConst: t.CInt - IntVal: t.CInt64T - FloatVal: t.CDouble - -VALUE_SIZE: t.CDefine = 48 -def new_value(pool: memhub.MemBuddy | t.CPtr) -> Value | t.CPtr: pass - -def ConstInt(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, val: t.CInt64T, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - -def ConstNull(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - -def ConstZero(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def ConstFloat(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, val: t.CDouble) -> Value | t.CPtr: pass - -def SSAValue(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - -def ValuePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, val: Value | t.CPtr, pool: memhub.MemBuddy | t.CPtr): pass - -def value_get_ty(val: Value | t.CPtr) -> LLVMType | t.CPtr: pass - -def value_get_next(val: Value | t.CPtr) -> Value | t.CPtr: pass - -def value_set_ty(val: Value | t.CPtr, ty: LLVMType | t.CPtr): pass - -def value_set_next(val: Value | t.CPtr, nxt: Value | t.CPtr): pass - -def value_set_name(val: Value | t.CPtr, name: t.CChar | t.CPtr): pass - -def value_set_isconst(val: Value | t.CPtr, is_const: t.CInt): pass - -def _append_str(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr): pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/LLvmLiteTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/LLvmLiteTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/LLvmLiteTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/LLvmLiteTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/LLvmLiteTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/LLvmLiteTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/LLvmLiteTest/output/33d64eeb99369a85.deps.json b/Test/LLvmLiteTest/output/33d64eeb99369a85.deps.json deleted file mode 100644 index c602097..0000000 --- a/Test/LLvmLiteTest/output/33d64eeb99369a85.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "llvmlite.__init__": "33d64eeb99369a85", "__init__": "33d64eeb99369a85", "llvmlite": "33d64eeb99369a85", "llvmlite.__module": "40c03bc03431ef81", "__module": "40c03bc03431ef81", "main": "5b8cf12a5862b640", "llvmlite.__types": "63d0e4548b4c4672", "__types": "63d0e4548b4c4672", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "llvmlite.__function": "874bac141c97bae9", "__function": "874bac141c97bae9", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "llvmlite.__builder": "a7748ef067f79205", "__builder": "a7748ef067f79205", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "__values.__types": "63d0e4548b4c4672", "__function.__types": "63d0e4548b4c4672", "__module.__types": "63d0e4548b4c4672", "__module.__function": "874bac141c97bae9", "__builder.__types": "63d0e4548b4c4672", "__builder.__values": "f9e36e2cd6fa659f", "__builder.__function": "874bac141c97bae9", "__verify.__function": "874bac141c97bae9", "__verify.__module": "40c03bc03431ef81"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/40c03bc03431ef81.deps.json b/Test/LLvmLiteTest/output/40c03bc03431ef81.deps.json deleted file mode 100644 index 6d5f6b5..0000000 --- a/Test/LLvmLiteTest/output/40c03bc03431ef81.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "llvmlite.__init__": "33d64eeb99369a85", "__init__": "33d64eeb99369a85", "llvmlite": "33d64eeb99369a85", "llvmlite.__module": "40c03bc03431ef81", "__module": "40c03bc03431ef81", "main": "5b8cf12a5862b640", "llvmlite.__types": "63d0e4548b4c4672", "__types": "63d0e4548b4c4672", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "llvmlite.__function": "874bac141c97bae9", "__function": "874bac141c97bae9", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "llvmlite.__builder": "a7748ef067f79205", "__builder": "a7748ef067f79205", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "__function.__types": "63d0e4548b4c4672"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/5b8cf12a5862b640.deps.json b/Test/LLvmLiteTest/output/5b8cf12a5862b640.deps.json deleted file mode 100644 index 19e3aab..0000000 --- a/Test/LLvmLiteTest/output/5b8cf12a5862b640.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "llvmlite.__init__": "33d64eeb99369a85", "__init__": "33d64eeb99369a85", "llvmlite": "33d64eeb99369a85", "llvmlite.__module": "40c03bc03431ef81", "__module": "40c03bc03431ef81", "llvmlite.__types": "63d0e4548b4c4672", "__types": "63d0e4548b4c4672", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "llvmlite.__function": "874bac141c97bae9", "__function": "874bac141c97bae9", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "llvmlite.__builder": "a7748ef067f79205", "__builder": "a7748ef067f79205", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/63d0e4548b4c4672.deps.json b/Test/LLvmLiteTest/output/63d0e4548b4c4672.deps.json deleted file mode 100644 index 1d85b90..0000000 --- a/Test/LLvmLiteTest/output/63d0e4548b4c4672.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "llvmlite.__init__": "33d64eeb99369a85", "__init__": "33d64eeb99369a85", "llvmlite": "33d64eeb99369a85", "llvmlite.__module": "40c03bc03431ef81", "__module": "40c03bc03431ef81", "main": "5b8cf12a5862b640", "llvmlite.__types": "63d0e4548b4c4672", "__types": "63d0e4548b4c4672", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "llvmlite.__function": "874bac141c97bae9", "__function": "874bac141c97bae9", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "llvmlite.__builder": "a7748ef067f79205", "__builder": "a7748ef067f79205", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/6b3bc463fd044545.deps.json b/Test/LLvmLiteTest/output/6b3bc463fd044545.deps.json deleted file mode 100644 index 262ff8f..0000000 --- a/Test/LLvmLiteTest/output/6b3bc463fd044545.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "llvmlite.__init__": "33d64eeb99369a85", "__init__": "33d64eeb99369a85", "llvmlite": "33d64eeb99369a85", "llvmlite.__module": "40c03bc03431ef81", "__module": "40c03bc03431ef81", "main": "5b8cf12a5862b640", "llvmlite.__types": "63d0e4548b4c4672", "__types": "63d0e4548b4c4672", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "llvmlite.__function": "874bac141c97bae9", "__function": "874bac141c97bae9", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "llvmlite.__builder": "a7748ef067f79205", "__builder": "a7748ef067f79205", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "__function.__types": "63d0e4548b4c4672", "__module.__types": "63d0e4548b4c4672", "__module.__function": "874bac141c97bae9"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/874bac141c97bae9.deps.json b/Test/LLvmLiteTest/output/874bac141c97bae9.deps.json deleted file mode 100644 index 1d85b90..0000000 --- a/Test/LLvmLiteTest/output/874bac141c97bae9.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "llvmlite.__init__": "33d64eeb99369a85", "__init__": "33d64eeb99369a85", "llvmlite": "33d64eeb99369a85", "llvmlite.__module": "40c03bc03431ef81", "__module": "40c03bc03431ef81", "main": "5b8cf12a5862b640", "llvmlite.__types": "63d0e4548b4c4672", "__types": "63d0e4548b4c4672", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "llvmlite.__function": "874bac141c97bae9", "__function": "874bac141c97bae9", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "llvmlite.__builder": "a7748ef067f79205", "__builder": "a7748ef067f79205", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/_shared_sym_includes.pickle b/Test/LLvmLiteTest/output/_shared_sym_includes.pickle index ff278cc5be78ef41822939464d61b5389cea9bbe..5580298888c2911b1886fba5376faed073954a79 100644 GIT binary patch literal 990182 zcmeFa33yxAbuLO-;!Mr6WZ81;*pi*d5=l)SMS`G29T21mP=ihT^Z+>I#uf;`7&Ihx zlQfOXlfth}1GleJ(k4xsHodn^(=_et?U(j7P17N_?QMIL-g|S?De3r{*V`{mhnttT z_nB}&oDBjSXD?91@%PCBNQwvlT5GSp*4k_R`|Vp^-`2IMi~jdY`B-Tve`h(CNy!Bz zmQu^5J*i~uL_CvIPek;uM~yEJI^VsweEc0{`fvMW;~(esciqW+wva2A?zMl#B_*9m zsreJ;-{VT2JfS}jy^~d^(u=; zr`(Yf$>n_c#d4`PU&!Q?CHjoPWL{n@rsFaNsFk)`ujQ%GTiQk?kxa)^#RL&wp`SS77mN0onxztrI4Nm2Wq?2(fIr3rqr}DFzWV)czPu@3` zk0h7UYJ$Ap5=p*AElYjH7}_Uwq5T>PfKKa_@#QtJ*%M$VKkFhh&s*Z89vn2D}?JW(~{wV&>M*J zF_tWPgilte2!OcPMC|SX*T8DJBo268D8vhI#Z93aL!o~mB@r!{m& zLuVWI{Po1F(M4Ik;@(7792N73hgQT8bG=W-@C7@FFPLq}7etBT7DAz$%b{dJ)!!7< z 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%0A&|8g?zu zYikI@S;JNmOGfVG$)!T<2F*1R4Kt8j>oSW*f=IstQMorq=kJ?^vjn{ynTabY-w@Uz zo8KIqA?%qlzJy{Z zt~GIMAxFA#162NTqe?BaN*aq$>cGISzLoNi-W7p zg5)7D7u9r}(GKoS)ae@rpJ6-?XBgd)l&WT1@eck0=%R*}G=#iPL>J(!pjWqo;B78D zumTCo5GsdVYqLjlkKA^4!1)rKY0%6xnvCDj;|MPMFvt!3Mi~}o2}k7cEpYm$r{T8# z$!(dgdR!x1sAmD(9hsf&0b+0#u$@>yAhS%e338~FR{2h}>X`ud<=~xd0tq-1*fSL- zrC@4xPmZ;&)d#`d-Kks?ww}j_IAz+9*7!V12R)myAqhU0!p(|l@ zHH@xl=sKxhygcBCVBb`Dawf$`nlbRh}=I(T(#Dk@Ko5n2`KIm$iIShwm}XT~oF15x=Tu>0A|Kr6!i4Cz2A zNyyB66d30|2F~ew1o)wCI?%CkLUA+`1~=gS45-rEz4y3%(_`1<*|F#)V0F^lXWWKm zrnd-C=hood+{~ODnGXbl5oiX{gAAl17U&)W=>N~&nZQR;o_{<*!XY4M!X+RG2v#HH z0=z>KBqmux4nzgV+1&}V!)ABgBY>^79w4z%t6j8eE3Fl++SY2ps?}PpSZ!;qRHVn+Z_m0!`RtvjIwRMhq_QX2HOm0#3UB31YS zwD^G5mRsfHQ}wapq8Sz@NPiE#&%io+zc|$&ayge@ zyVmSQm_0;81LK7L$*FIG#w@ZiyxtrRil=ra3+IwJ}sA&Ek`sWXK zrM!plT6+(SQ}oixk(^A}(|&F3H89RiOKV(GcA1!YV5x)O7)-AH%i3FDoR^iBC{U}+ z@+>WFYRFQ_$v7uzW@^dVJL@FJGnBMiYcGazGEUlyNhFY*PR-HQS$i>zvruNIdQAG{ zgY3>p(Y|EueK1bHIJ)omk?qMC+D>b4gmK=%xYRe&?^y`iZ%A^Yx%yjcFMu)RKCROv z8v*#*|HM0p#oucK!pRM^Li%K(fyNkVZY*o#amSV_9D2y9cCCVO0XzXGnc zGptExj4hs;nhj9>Doc^ZTBkMbj6t<&wTDA5#5Qfb?jR4iO;dZ2hu@}^?+1G@Zd#DR zp%R*#)>m=}1?r}Cj~pstyJ>Z_LnVket%i2Ug!HCmYllLBZ(71WRKk7JDx-&3@NZgR z=%Ez~oYpyYCuGkMu(~~@1VgLalwhaFp=^kRR@W+_bzy&Cbz4yOg_<|k(08Hm z>c+;d&PIA%@qv~}46K$roK=dvxV)pP%-ON9YEfxdz!TlyRYm7&<5~*}wDG{Q;|aw$ zDgh<{6M;#Ug73Ur5er!b2eE@7klEdwgdWz$A?oCiN{vfxh*QA@e zihMhxskPq>jBhVOPi03 z+q~WvHrY~h9~r1|EPOxAHJI|GgVbCW1|~|=oZd>fdD$qQgdc;>|32&Y0Y7#o|48b z4zuQS^?v8-ReTm75zp0|!`9Zr?Oo~c(=4f-Qsd57;i8TUqjS|WsJYS5u!zt0i7MRE zh|gsydp9w@$OEXr*uFU`4$HC2+rAgR%)3RVId#GzN& zOp66fC1rAqL~UW2?Cr4R7WrbK-^BtZ%`zE0Q7kO=`ekbwLEhs1wm4=3Gg&;5_t*L( zPOr5go4m>UZE{R{W-@tFB5z($mhZ>!dl})J_3>e9H@n3fWvAlJ7v%Qz<6{y#lf@^* ztMoo)y%a#~h2*mud|^_x-~S5yn=Sbf+eCNYay~bh9CriV1-zb6Sds$)#b>RP$HWsv z`LFl=<(S8rTvigv~N-#^jQe}k)rM9T^vPuXo$JnqAqMWlJ<}+p_RNRbgL7))k)pz{v7lKPR_|8Vb!XUC#6pMfnS5T5DHDJf zSk46UevmysIE&8@64BWRfo~3aeAdc<4Cbfd9||UkjRmI+3-7bG$(97&Hn$qwW94X)qmCzeYe(5 z%S~%->Ilx(n)ZaL{tNriPcy_CvZ3Et+-R2#=hPpu(h%Oifw80+pcskhvRr0Z>Sl~$ z0-&Ln;h>n=XQ77y+lU?iIeH`6>;5pCDwddFUE}wK!ZblJTWyATfN>cDj1z6lauIsm zXU|hgP+8tJlDiv4yD=Lg!xnMtd_X0Ge!vjo#DVJ4qLB&rUrt<~2182WaH zeDM%lp~XTqau%O2Br*r#2>B6;1A7Q_4xeWv7Mu}HN{#@Q{TrA1f87K4={IEibe4()C7*@^MLfkpAT12TMh^x!1_~6 zJx3XR!0LFjN&BGB9)ta>0sKE746=|9U`Z+_A4o*B>y-fH1D=ozoy^(lINGn7>v>nm z93z3Xs+e3MF*~`@RKgga)?I8DY8=|f;ResR5- z_{D?Fhoif*G#uM)@N8`n{VZSba4v^q6Fn+RAK_hGk7{t$Rl{#Yqgup zN?&(Mc{K&aT0V|Cwq7#^K9gHGR-)(ArsSB#Q77iu!2z7;vXPvY`)vB{2U0$sK55?X65}M z;SVSB`9oqkk6vGpWVc&i^(~vZM1E}C!r1u9w)+8ZeIY+EZWulkt9P8r=Ld-x31Rx! zf`7cthrAnPc7qz*-5_jrrMG_874jaD*(2)tJR(Cy0r69EI2;V+D++B6wY^(i>F9es z=(L8r*;*Q(K9atP&kqv43i`6Jc_;Xk-FG>20;~ zUkhem$7l8oL6VE>lzp1;7oNSR+z-mzf*`~?*Y<&Em6&w1>OTakdbIYJ_YGRYD2Y$ERlHoL(od~Pr;9%PZ^2ADeIrb!e5Yt_Vl z78Hj>mES@sv6Rm%44DHa)`jID#aiYw2b(j8)A-!LkU78&+;Uj<${YQWyep_SyTTGa zS4cD`VoeFSg4nG>&fb>D`3);Bw7#36gU=Zf)9;gw0wru zivAYW+pTt{?oire(A(P9zJyutDl@$U81%N)t!iV|dzP8rf!WtPC+^R&J~hP`iUbwO zACS+FC{l+%nD1M=Fq(z2uk5W^)o9`#{n(k*Y+x?20&;!Jl8DFaR;*Q%t><;)`a5x{ z%3WUJDpM+y#TDg>ELWyZT+*trxc0t-*q$glXorTiW&8IE4(1t5tM=~|9K&s@4bFb#qb8$OeKs*uLR{v-%J~qNScnTMTD6<$jl`n4vrx>Nm86MQ zX22ivVCOJe0aQ|a)|P;=;s=LBGPcmwfW{+}6U>cQwqu!qVB!q1utzOCvY=pdbpLA$dDlo@P6o?`GPy<~m?70QP-6%OH|8^n{qE-6zaVrA z)ds90%H$1+2zlKbync%dhxVO4sN3^-!{(?n;JA^7Toz#*x_>u-K?g&Jc~rewaFVId2gT&paaSqHrnS6 zp`g;4&l?UXZ}_Zz-aw&1d2cwd@`elfyur}C%e_Bq?N&YAs+PUDz>E2OAw6T*kavaytOj|hea;Y4^IZ)GR+V8BpEIO)HF!g6 zzMMF)yy0^Dyg|-;!-3Y-&~2YLbkMZhd{@H()z$Dt8@(YvUUi`54OiOe4fz491I-(* zw$U5%Llg&^H(X<*H{?5|4>WK1vW?#0Q`Tm)7MTx^wiW`p)jk*SxH<#ba)I83IFbe@ z#9?_fA0KOd!LJAGbB>O@b5OK=11%2HNdNX@ren?`p?=8c9O;8t&a8G$_E~h~!=*Dv z$Ue+x{lxwfdbl*L3F(%y>jD;vjl5%Ic8o{(93y=^GnijH*!ntB-5J)AvJfo&D4+Qg zo6G6>0-0ax@_VdxPKz91zNjtA`norn*O$pB`^?GyCwz8KAFOoIJnU?>BhXqf76vJ; ziwfZ+;-t#`TL3UW(Z+P5%`QH-Nvtm&t45I9NFJZt6QtEc+5M-_N@w0-OdaN@d=8Ud z?{s>?E;*DdSIIkswGOPO_#7g=;0Y-k^4@S@Male}&l}QbbccfxpDRb@NIrA0mN`7l z=ML$a!v*=w;XoVidWO#%(%Ytia4_umWN#mnw0259f3TK6JZqmvkTZn+VZ~wc#Y2;(nBNGD!D2u z#6W01%+lYFjnMwU=NE|$4fH`!@(W202IZ_SPHY@Nk5@1B!Sj4~m9_4wJ$#NbDQ(>l zI7)~bq`4j{Px6%BsEfR}So4-Y@_9>oaT8E;RTYgDH+kRaR{K-r{DaRo(s#`Wt*1B& zHAnpzNwpDinBStcUvBb=jc%fNa~_w4!X{t3SSnqb1`Ocyjmc@1k%%v-$SzfOdaW&? zFS3SwurDHct?Zl7G>Fmm=`9vH?CrW?`F6 zQyD!beISiy5^iv*S)FaXU%nzv%7=)nzJ66zo2E0mPI{}?u;yk%jarW znr;$(sMJ`rukYV0IEc3j&*fIxiDDC5WmD%L&8zB%?`Lzd>5KFGq|z|x+}PIH@1^Ap zR$^(oQ&++^+d4ZD58o;}{A%QowZ^*jobaD%YUgS{-oI?%Al^YWpA$NBnG+^@E07cF zUELDR8nov6*~|!cMtRaUP;plkhWqnOkvsAajQpc6`T<}H{skF3E>wa&@ zo0jR*_6J)stQXOfrqxl$to0@{tpl>JHL)m>uxsn-ZOmf7Y9@9dgII3Me$7nmpxldX zEW@2+%htkEe=f~eN6PwdIR7@;>+L&8%SOQ+&!tBq(P37jGv1{<>RqT34nCi_zd)J`1sd^Q&eMg$= z%|VmbsJGt1toLwJy*X(08uF`legls(6`X^XZwA5a79MRXI0voY>G5!rcm`ct*CIKV zx9Ojmy?czQ_8g3zm}sYttQL9)b=)zta| z=c{X0wAZ&Vw;!9vn<~#i{nJEwOI>4KHTN)SQ?aS?98^S2l#|URQqSz|C8o-AP$xA} z-deXps%d2oRce}Gsyqj^)5LtMl}galv9U!7MZ95NTQ^Kn8+)4FC#-G{DZ$X{HYM2U zaVQ%iq1ClYXdNx-yt*wY`$EkdYv{XBcy(iAS7)OqtcVX`r8BU4f$S`w?{-&|mAmIF zRb^$RT>)AxCAP)mT-7Cxzy2bw#(@ z;;=r(W;PKqu^dRuA3FW+h{c72^4_4X?N-%p)zhtJZ_S2=Q~A6hQ3|ZAYpGv)mbARV zQodll6c}wHHW$OKGvXa1F|~Cq=n9nD>ROuW9n>MnJb2SE#!P$;dc-n{uWfH`tgoqV ztCMQ$mNHv@teN;6bctmY-|isM^^Uq)shzuXs9~I$_#E_#Wfb4MtRB7K($e}C?p~6H z@n+(4&@nb8p5`UYL5>xALF-*5845jGGp(v3`e_zVyaWv!L#xf9E_58gjkf)(aasrr zJkrD;a!~yl6{cP&DZDYDNP(c$9q7a|Rrv)ItuC0@KskT^`V1FWEtD&&l*P^}m&@JZ zR#N&5tu&_6+T&)G=h4D@x@2!8?>_2EhkB+%UDd6gMFGL*P&;Nd{d=zJR9)Sw+o39H z@02FVXX@jzkX@koa7L3l4szF8I$RiB-yA@8yDim_^0`I7Ry=Gd;WPKxBy)Q@B*klS zrINhK`)Bfrd?p_wOs;o=<>{08EUs4p#WpXZBACzAZ79Q!;Ip@0Y14OW$s63R zO4~F(gX@(xjC178ZI`*xq-Uz5j}RreTXA{ippwtbZOF`L@)=vt%sae(S?|ROo3lWi`a!H0;BogjNR7O_aDvMx_`E=;Ip;fmA2OFcgo&;X>CVoUBzeY z*f>}?9P~INl%eMvUp6$p7V+6zFSPXyWAnDQ!PY16*?Nkope6R}l=6E-JJj}W`(oBk z;A)i0ZCd<1c0k6j; zhZV`KbmT2>gXNd-S-vaVe6IR<$J_y_V1FdVq2)r|-wi-F%-+|N3N>@|nD_ zQ}$S!tZ#i%F0Jp;kLax}pJMt)&#>m@%NwQE`m>oACZqYqjWlPackPMT6p}Lv3Wnxj zCBE^nVX4Tmvp)4qb6_gWiQVc+-RjAt>J(CSYPWitL#^&smpIfKN9HvLF#VP(La#U> zKl^j1w4gQpjI)TwCG=-|Dv`F;ntH}bH51a+XLn|ecE7bZz&OXGB=H7vFwsQ&t+f}x zIOQTK|I7Nk3+;c_$p0Aw@{{tvY)9p5wbs-##;1=-r2gy% zscUPkX=e=APV)Th$82j?SkuoKy_}Tu=OBbx`;N62z!=P%*0yS zpTz)I?H|^JGlqJON(j$pyr))jou$%_G4gR@LU~6n!XLH8)?NW)AmGTvE683nptjnY zZpOH{(FxsI4UW?;vL>A|Oe|S?He_kg%rSvPY>iN#akgfKLwKu>x zcsWeC0bnT}MIXV;yevG&TH+={XBmeM`>|MM_Ljz5#y6;^_iWfTdW&VFGmT#6XaKj+ z<+r%Dh^0Yz?YJAM`qz+ojM}QBZOO1k`P`nO`cQK?7~Mikat=8u6n1-jr$i(A%AP%g zoDpkrWY$EV$|YJmiGGO`YbVpcy8udXtsy1)9n_^nN1yUtJtAoRq;tq?>a{Fo@%dR ztZ~n*c)6{L2X|pfD$a_AWUJnxBIMHQ<`otjzP2hJEGiod7}M}Yw(1=kt8H*9zS>sB zg;d?(RJ+Y?wN6g8ciXDAs7ne(IvEr1Beu#NCbDPdj>%_im8|E_oLyJ1*{ZiUf96#D zuC0pE^-L3e7!&a)w(2dy*wG?Jxud>nX9IXBIK-@BM$dl4R>^vIrPT$@taVpDW2<5sPTIg| z-q&mui;PQ^y_{i%@7gLDWs{it&1m9JY*ma3h}$1=daZ57XDtbj`kLJh;*P+AGR`i5 z>9#5!jNqhzhta8zw^c9oO3SQ+hNs#pmj+lYE*@(w`7XCrEg5$Mt6a%$xgnLaM(MX# zE|o_f&Yqo%?3LRkDI3C!8S~Y)%B64)U&PDl&D(6%OLhdd6xj0RGs_kkyZM)o7wMDcDpE94ZRUp|fm(!R1w#pq&<0W#$8)gpV zzsOe6R1k4G^wqYC9q8iJy3J;-oGJHiTeTwES>f!xc*It@0|T6H{EW?7Io@TS1Q_d6pV%sPXgDYbm}?iKw%OUt9UN3bRHI_F@N`@C4pV|bniv`J zaY{a(RdRRQicdpnZARKFlXbAt1B5+@T$1689=9SKF&N;P-o_PK9$a=r&sw7eX;(mE&$()sAaYI-6vlyjBU8N;IL& z6P6@K@sH#{e7CA?QP*{=-fp$CTlFPvGTJjbNv-Vl`Z-rsd4^Z&s3fT!L4|W{>@{Ac z$ws9HgTh&PewSD3m?WdRxE=TtUae!3v<4M!v7^48{f2KJ8PoVAu@b5nN{}@lp3W;b zwbW5IFqb;V^QuiYuJB`tc}-_txyX;3sSagFePTJU)RDbXxw9vUSLcXcoy;`}Kd;QV zIk~G57xC&u3T^euPCHWQ)x1(+QX!Q)g>K{3i4-byGN;hHd1c1U$(=$U;nj(X{*s8> zz0r;&`V6mD*i_frDF-=M{d|pAXTqk!d8M$Qv7_Z(Uae@n={D81Qtrzr_7h&Q3B%GX zV<`{`sf=1jeS@{3imF2_V}e#c=kWVR_)aSt zIBh$_F13-6;+DA8F0f0jJJK1TRatq{ZM9u$X+~3r!&Y<=4#{UDs4Ql?07;kj!J+Dz(imY zFqxpJ=cwiC>NQdIT-DiIJa17uwj>qL@x9u&q=xs6=zSwnJ?j(-=%by&r>l+h=uPy$ zJ~#JV?t^(>;BQO zB1t`JA5sToQR>LJRhRN^*9m7Otw--e>%c5(Jv^?pIvA8W*V0C!B(cZsL+qd|iX9af z+Zql=T%2*6$bCp{#Xi&)W>Iazv`f8ynNuusSrU7~KExJfQEVd3uH@bB9fb*LJ!KzS z2WL@h!my39Gwbunw+<;7P=Nm&YIV1|#G%$WBAcU5wN5>K-o;TWXy&SCh|-f(FWHCc zAz4&CCZ2ekl(6iU!<>81qM|^0m+nLF&}{1Mt##2JH0wnLjIr7^=9@xqfr(zKakM!s zXf>NAF``#1RiilPvdyqhCg-Zr3wULYOtxkfqt{m3r?Z@MPT~stbXHX`+EeD$IlR|z zd0RN=^Qw&Jwaks1i*1t0TpzrKS7tn~y5aT&}y%@tCKtem0P*{=!0flwDoHAa`6H_$9zS3HS!dW?c&6n^>o}5{-k9Ym77GBXA z>`aS1@Y>nQD>;LmA(`3EL0-|ty+vG&Kd9I-@9h#^y;FM=v)#I{<<%V@IS_Vc?qa@$ zS8KdnPO&kw=6iWH8|=&3xBeKfR#W?OYJQGa^H_r~a}FxJ!7Dai65A^JeO}Q93$qTV z4BXDzvNp9atLU-3q74>i9Y~tVE7sJ)tfI?!MUPI&uy}{imheiAHxO-<+`=n4wT{I+ zbm-*Onz@d}tU1W5IW>Rg9!$K1S8V3|nOpR=yrSbB`l1!gK8$(`ui7aY`#RWF-^;5y zHJ4_Ne0YpkYvx>SNjnu_7=u&q?o2^?vSQicxBJZXmb1H-^(k% zB-QFck1x!;zQJR>f~RG+w++Id;}t%pS2*n348458tlAsATH|?HY1>)NbO zdX-dL*W9*@Pc~wBo4NC3@#uCo(O)1G`qC#i2c6kKf0anzb@s z-SM=H5bKzweR3yfNc|FC#qkc$B*h&b#p~u=TB_v$(9FFdwUbx#l-^2bX>DCybItPR zvurD!zckRSbUrQnrStgSvZ_{50yX}?M&_#aCA?;iPYIHG^>WumuH_XR@9d2W7VXFy zRrYX}Q@8M{j(c@nHI>nf#qzzpa!0R}y%D8!Wp!h_Epq~A(44>}mgfZ0;`9+($1u~R z!1>wF@ThVg`$5bK6o-tC@oQekpaynKY>nR+3e$`OMy-F~)tWG@(CUb=ZZ`A}Tg9HO z1Ua{n8uTsJ_Vl<^FXkSM9>=RTk!D+4t5+g#WK6S1@oG(2RtV+p0xaiMTO9Xekty@f zQ?B9FOT7iL(kG#pdGcy2ui|tIv(Hd=@#;;tunp6bLkECj-X5?^c@XVEG)0cTgQv)(4I<|lYdOI2Aev?=3;f)@jQrcMWu%-FfO3lYw%gx6QS`Hk&?im}9 z6SLodq&iFdC((rT(yL?ijK_IBgF4LOYQ>tjYeQI8hEeeIyn;uGq_CuMc};^I%PVzK z-|vs0IDKUH$n1MELND)$SC-_I_ZrZ3VAwX~4Z#WNGh#B)e%(Q)Zv8 zJwSAe?Tr}i-NvhXb|!mc$8EiM!fwU9tJ=AF^&gR>UzobL8NyuK4D-sKZjdc{P_W3P zPYx??Mu)%5ZslSXLpzj5d6k>GdYE@T!&`Y})6#am1zD+{!aY7(Qk7OTB-xTvp)KeY zI@Uek&)N5|gZD*bEZULm<#0I28D;f2ukPg5m#D=^c8GqSS9Ed)FL}KZf(NNvL2-wq z^CSK+XGhALyvmd7?9_iMxjkz=VcMFLu}J&CM#Y_SK#X^JSl81kypy#Bnqp%p7JcQc zipTRRJ~F8klR_@pCw0mjq)1rS#ILElDokVb9BW6(=`6d#x>MDa>r79lXM4Cgo-+7S|h|sv>iCtv${w-aM7_b}&89D?7Qe61O=To{GyW2U+`4 z-{e(JbM|@#m+B6VzEtKs{R3Xj$%S`9GizpEco%D9+r-MeX?i@b<_Vak*yMLdyhfH!yk~(k0=rac5vqaZ}MtCCX*A`{t`ameFP29u=*mFj)fM!I zLb0q~3Mw6(aTB|F-@%;tJBVd;wzp#U@V>f}DEs&#wz^eq%#zU73Q=YmmJ%OfxqR=D>#v5rwFEnx*|?K-_|zqs-9HevLxd1x|Lw5BzwJn zmp=c5cLlnwyqc*U=8S1R5Y%tyRX;9CvuK0yPRZEGtCnViXRx&mx_9yF9+hNerPIS1 z5VV_DDaGw(urRacJ-nJHCt0^s4z7zY?7$j^zn51uZDW|h(DunM`Yvm0x+KZw;yp-C zkIx@qteO<_3a0LZ4EDB1`fOh5NwuEurjaiI$qrdD|bdXC(O6=s_nzdyt)-$ z-G(|?$nEK3ESe*{a{H)*F$>?sE8Jk`2(O*D^2+VQ&dkEM^9ncEITTbl_o>;*E4L3j zGYj9vE8Jjbnib7y=iR(=`>->!@IAc34Ye@Y$JwIV%d57JS{SeHqVKV`o5!a2kg#r2 zQOqlr=0TWskFd&~%`4lGk~grbt>jhPM@r_^UB|22VC9g?+G^%i+lQ5Tbt}BO4Yew+}lr3*XKw++gPpnxeUb%hPnOXQI zUf~8icktSIE3e!>?942DJFjrV_=S_RH*6=b*gnQDSY_|xl|3PSjEa`7a!ag=ck?Qq zVLnjBuYC`%cEdOZ?PthX5!=hFwvTZPUfo6avbLWmrl)D_TG{3IaQ1x`^Gc>IHOxkz zZ4f`3SG=J<=Awy}jLEu^S8gBmF=pX)yuzoZr)$WiJyYDCAg#m4Xz+Gk-A9`zZoA%q z!utjcwKS(E?2<#AHjnTs?xU8*uYD7*c0+z1;@z@yE3e!>@^fb4+j)f>W>AKM5ub}O zAK%HVw~rZ=+{$4q-bX0dw7K#T3&&0Fzom6E(FdixsR5Y4dRQw zZ*NPROda-g}V%=2l+EtK87y>Y!B3TRUs# zRoq95i(k9Kt35-yE(>`WGw}$o-agYcukua2$_g~hQ+{(AJD&IPy zU_b%>>oJ(TBTyFMOx!zJh4=Jfa&G0jc$FJ09brz~yLt8YVQFsVdw7)_2C~;GoSFDu zUbTG;Wb^7S+QHhqPFgftUx16$N^&qLb1orS%&R%$qS5xLpUta2X&ZoqX7=qvD|tm{ z+y=l#`E|VV4S9J$<*c2x^Q!G5FXz>*@ai@!{vBFRW7sNZ8=F^fAB%spOW(vR-DqpY z%NwDxl~-_Iw&s?;omcvl^q{1OFQ~{aRd#wg7X#kOt9rJ1NRmDJck${s)Xe3uztiIi zcCKg4(0B7{?xSXIhx$Fd>J0-TH0Ni7OXZx$x0hFO9|I!%+KYCww!94`co%Km5#%&> zF|Xi0N^o}Rvw5W(+T0!=ZRD;(8#^ zE4;gCTqd=O~Z9&-=YTj70+T(M1BW@+M z+UxD=^m@X|>O>8!i@JWB=!T99qiS=vx}sZcX*e?bTV@w0e$l6_@11YL_sX;mULQ%? zhSa`I>$+^yY~SY5n|U>lOZc^9!#2X#@v0q_q?UP0-P?GTPEJy4-=4Df@rq8`flKtD zE5QR`*U2Y%-$6;j@cJkM`#y^=@Cr_fH%}I9!)AkT@d{5007wYR9HmsaSWixQ$n=!L+>lSKMc_THbve zp5Rq$C~}#%GkC#fxy-Bjzh$#r=Edzlv|BE3<6!U)SR1;AwA;bkIw-MQF7JxpbL^JO zyYO|D-Ew)?e_qNfH>uxQA03sP9-p6cUd~Eh!DAA!kM%W8%~IV8zR_SYfPPky+Nhm} zp4as8?}F@)f2XT;aEA+=ZK`%a_SGgWek^R;dU_kPanCW8JCH*zw{=&W${oZYw~^br zYfR-9a>(Vj?zyINi*hfwojvVJrg8^!$mO=~d8TrQFvw+3yRxa=p&W9#t?M+EJ1qNh zla|U`iaOQO>c&=X!HTKi98{~4DjGuYa`swehpF7$)~j^6?0NHAQ@OdVSH@k&_+j><@F1K|xQ@OdVSLt%un}F*~<>t0trOR!pWo`m`P37jcUM1wV zJC-xc?KG8}+j^BQm%ZHenaa&Uy(+z$!QUqGo60>b`_)LJT<)AXU@CVwgIxA<_k2^i zBRJ%8TQ_JbcO-*c_Hs95D);d0%S~DkM&!(GE$!Uq4V&s6m3_Sv6M;7pc8-(+LB%c6 zsz-dquQvDr)?wac$=F2E4#_3Fk_{u<%$tPHu~{zjUYS+Aat*XZBp*6+t-FY^tyN@8**pnt>iZI%1v5@E|!9A+Dh&^UfqVA zi+?k*+jtcl9GiJht^0W88Yaqd@7nMLuU>LO8gtHl<+FfU}4^EN9Ne9mwWS#Dx39k?>w>8X1(0|FRbL%n;h!x z2}x86i=~4YJ1jeR1sgg5csE|?;#Hfp^q1Z|v}5Ci&AghEmP<-#X5V_?I$qI9JLWVm ztFL#|*s%=Yy1{0%7$#r2HCAt?w@&x#W<-SR%j0YvrUWh@M}w@2c>j-GaHd78v|P)@JdP z^kF7@mew!fRh^W3Rktl~s;`k&)hs)mFCB}Cg%6tMUO9+>PYU^uDXy;NjU@uQ}Ka}W`qL2$i;S@2_~f^!fPZ_KvZ z`Az&2Q^h$5i_fH(-NuibD$YS<{E>-8E8-b7_J43JZ___BJNQpc#pj@^X(pcLy0p+s zsN=4bJZUOE2h~n9@lDIg_RAghHO!WO%2a#~s-V+M+`hVIMSFbBrADUC-r;leZY2X#Mr^B*$^zmzZqc{uVO<_ zKl_e+n|TE%jZx}uZOfK)*YS!jS*Zj)9UEJeP{bQ9U0K&szw|6=c>`||-B3b1(k-#P zBVCt}P?~8&x*RlSW@mb1buDPhNo{p4P4y0H&@p$yHB6wf{CnUz=_?ZEph08$0&3fv z8|!PT+v=p+x~0q>G|}t@v6p)t}}rXykGUq6ZV3buWkyUcByhuLaJsId?v48YSi=!RyKr#vMVgP zl@4yvYk5UeW4%{2Sviaiu6@);!MU=>dS1n&Qxx;YnO@E-^@xO2m#VndNs*8eqG)2t z>+x|WR<6Pm6j;ryM5vA?kKy%)D;r)tpo?Q-`W#i{u~JC0Vz&)DiKy!XCem z(aJyNm7FM(W0E`l?g(og`$b;C6B-*=HZ=*6HU6MdDpBs`2}=^AiT}u}cw(Ajhq7MR z&nWqyyppG;Nv;Vha#&f)pPGmKh_%gpL`L1UipwhpIg95Byt32NbhX>vEC=OIMh8Ed zSMl^TL-)FNs}imbhl8Ar$c4Ph(_LH`+6LLD^U9u_W^g@6TjKS*)-ihdnY^MWrHQ7J zYe~f8r7?a+&1-ozXDF>t_xhc(mr?S1Udc1k%&hyiuDUfG*TeZ6}2DmDnH81=HC3M_60j8ST8( z>u2p5p1`X)JvFzsR)Dz6D`w_AcVJyrR<^Uevd+GASCD(c0^Ig{Sw8>#A+=^2>R3Pf2Tg z=(^e6{CZZ^k)Giq+$0o`T}mi=VRWu~B`{1KseV@dTtwSBu%G~c_?mjNx=VdR{hRuZ zHfBIUfi@PX1gd~@fYrdoz$L&nz_q|PfLnljfO~;QfyaPnf#-nNfj5A?z=yyvdIIe* zUr-03ARC=mItYn}Mysb-;GuHbO+ZsZhw&cHvJ?01bl(jermE z178BJ0bT%J1e)neZ3Q3!=K(&z4_pX*9_RtCBt*0ehw49e7yk5Z;P1eDz^o#|Y~Tst zr$F~$!WF=sz+J$zz;nP};6q^25W-|&9&ik>7&rl_2hIS_0?r0JfCg*?E&#fLD}b*6 zHvqQ--vaIfegNzOo&a_OF93fA{sR0L_y`zDYPG|GslYVgIG_|b88`)K0vx~^;9Q^+ z@DU=~b;IH4NwcT0quYrP=GKH0WJeJ0a0Kpa4WDK*a7SW9tU;-&jY)G zH-SCCUf@HZ=y1Ydpcp6tW&?A8N}vj;1C|2qz)C;?I)Dh!1#AK~16zUXfbGC-z)s*k z;0fTTz>C0dfIk6$2L1*78yGr@FbtRoOakTt^MFObVqh6i53B;t0#v{QYydU_-M|&V zjlfO7UBI`2hk%EHr-5GruL7?D?*e}Z3PuwK0Aql$z)avMpd6?GYJobS9asr;0BeEu zzy@Fo&<)%G+z8wW+y(p)cnJ6f@HFrW@G9^Q@GkHPP%wrt8W;o20A>PZKsitY)Bm^Ko_tcxE$C5d)J_h~=96pXP z3YZQY3Csr;0M)<}pap0JT!0%00})^ouo<`xxE{D2_!e+K@Br`>@H60L;J3irz+Zun zfRBNZ;|YfY(}3x~@xXlGG@u$-0ki;4zy*YWFmM^L3D^o;2iykS4*USPA9xaY3U~>4 z8TbqEHt=8IBVYuTY1&9&DliQw1&#+!1x^E+ffaxZI0+H$ixcz$@e=&$Qs55YPT*OB zI%3|%qV_mS9ZN?JR2hpMYDq(ZI-y&g*sV_LRws9>Q`SV)sSb5ow>o`IbZ$?f99%m; zs=Z%QP_Q{FJ}ro9SJ3S?M-_DzojXVSCw-@$xJ5mwTRoX>b_y-UcWSqKnnSJbR+l)` z8b@Sv)T!2~r}zHq8Ca~ZVI<8^_$Hn!ZOWa)`UHh7>bh>#+pTtXtG;g4e_<5A9C2#@ z?XUdF^llUKrzSp?rN4}s^qqy5F^cbH%qDYbbAU5|1|SH8fSZABz~jI!;054C;4i@2 zz*y3$jRQ^wP63t!&43GV0~>)02odf5iMoT{gg<>1cntUn@HX&QU>u#LjRzJ1i-9%3 zxxgjBr9c$e3VaK=19%8{82Bad4Dfs4bwWftak~Bh11Hg+1_9%M@xW2QET9~y0BV3* zpcQBXT!0%00b$@$;4cois`Oc)Ft2b2OWKr65w*Z_PL_!{syunYJr z@Hb%W6v8-Q5wI9o1Dp$70$d7w2ly`V0`MYGa0FohFc+8yGysi&9|!fA1*QSzKm~9*unaf{SPl4r0B|XA8E^w|BXBqHJzy8`1n^tn zcfj9(cYsfT0&*>F3@{d$4a^}#v>RsVPS=1xH3F-FHGmiB1U?5`2=o9~0(S%71D*qZ z4eSLz1STFym;{^#R0A%+4O|9n0=5IU0Xu>FfG2>T0xtr;0saL18TdEwA7D5=yEX!t z3QPlz2j&CSz!Kn0U=`p2G+-le0niOxL5OH$X6i5F4*cm(U?BZP8$^g`YmU;toPj^h z1W;^g&jF42*aRRi*FFNy$HySB6}S#~6nG4H7I+TW1H1+N8~6_}l734&95@P?1yll6 zKoj5~M6?yh=nvJ2Kly-`ACDK^hIyo;7|00dSdsdtsBTx99}@Ln4xa)D&ECwz&pUZ!2f_xfWzk!Mgh}+ z=|CxPJa95_3eX5N0p|d#0Y4A`HUXP~8-N>u?*QKg9t9o)b^|W}e+2#nd<^^#7(?$; z8w<<>jsZ>uP6JwjHefBF0-psw2V4z&3Ah8e6L=JO40s8685ltBt_=jn0Aqm}z)WBP zPzF>3O9&Bd((!r=5BvitK9*1dECLn-5^x@H1@J{+CvYF|JKz;y&~b!9U>qb^?C@-UNouCkz9Q14@BrU~fq6g! z&;OoFofX9KifxiOd zDhcC(MZjV}2AsfV;Bw#&;7;HL;64Gfa`&;01p8V1Fr$U2L>-93;~V@<^yK|X9HgVE(X2@+yOiT{0jIl z@DVU`G2tkn4p<6!01dbjxC*!*cmUV~yagO~0%16i&EoIO8k6F0HGT2vi@&DX1E~C~ zpmfDh{#D>*R06d?9nc1}18zV8!axML4A=xjfvv!;z;<8;~Qh_5dFM zdx63e2}Qtopct41%myleN}v{~1KNOgzzrxs7>EFu0h@p*uobu!*beLfb^?zByMX6` z-N2i`9^eCDFHm?Ap$Hfc6a%w>*+2zQ3Dg30KpW5wxB&$S0}1&?2L1{RIE63}C1;^1KtOQoJtr9Oa-O^6KX@n8LRA3rV2~+`1fCG>LC$JH?0Jsvk3fKmG9rz*e5U?9~0eBnu zD=?s%Fc6pkOazVtN`V@n7B~wy8}I`GU=y$zxC!_wa1U@V@KfMP;1%Fi;9cPFz>p<` zp}-7aCU7Ef60ibj0X%>PTm*apxB<8kxCgiw_zCbhup4**_#^NqU;t&B+CX3`FbyaN zDu5=y0Yrc;j$ub^|W}dw{oqy}*Y+Q5|70 zPz;m+vw=B4B~S&_0ZV~)U?rdc9Y6%=0yY7gfvv!Gz;@s^U?*@NunTws*bTe@>;c{a z_5vRQMO1s#1_Q-F2{0R&15^T4Kpn6YXa`mjBHHkJz3LgkpSpnSfv*4$0S^PO18)FB zPbUlmjs=bbnt>I-dSC;AG$wpcQBXJb(sV2z(y6 z2Dlcu1Gp1-6nG4H33wTJ4|tyt(VlP7MNT2H+7W<+YV>j(U5V%UGLDwaBD{bj`3!;+ z*bH0_d>i-<@GS5g@Gs!s!1M;fkw7g_2Y3JtxC*!$_&%@$cnNqJ_z3tIII58_3pfL4 z0Q^7zhyq)I9{~3QzXg5=3}_+@1dahd12h9GfDjM{ZU(jiPXbQ?e*@kDvRO}ieuYUr z?Irr+)7R4)6so4pA@eX)(dX11`5a^PlQ8*nf1ec)%n&w=-We*lG)(6u6<1egHK1?B-K z04D;CKof8-AOQj3eBct`QXmR!1#Shl13Q47z~jI!LPUFPwVuPgi9hWD2DcK10ME1$ zeg*s;cn=uYP8bhV0Ske%fU|+m0T%+>fUg7NajTPoWycfF$I(Qf5%(*`(VajE@H+4q zF8c{E0Usyhygm5%7BF-rVHhw8-+mt7eg+?p1)6~sKm_Olz5?6;JODfhyb8Pq3_6og z2pk8L0%rr~0G9xl0(S%716~4N20j8l2BxkeOao2>ssRP)0ImeC0=^II0Dc3!1pEp3 zGw?6q-@wqb2*ZF0z(io}*#s5n0@edtfNtPM;3nYPz;}Qj0gnK`0-h!GjQ4uGI=!AS z7Q_f|3@D+}=5R2oEu&xPDK>nEXwj(V&HUv`zsDWb3USvG!W4LsZ*GT%m@VWGW&^FF|Ndx62{5QY#k{BWb}RJ>7b4$hm1^Ckhu0>=SM zfEu6;Xa_ogwZH|yXMwALtAX2q+kqbgj{+|MF9LrD-UEhGV$y~IlYuF~vA}V_DZr^f z3(yLvfCuA1bhs9#z{C9I14x%xE$C5>;&!u{s6oQ9Ofbn2g-nQ;9Nigt^mFW z+ymSTya2oid<1+9%ybiu0vdouAPhu+>w&KT4+1{~-URjlV-&(zUfDYM-UkMB5C#HcfU&>~ zU?#8tC6Rs@U(ih)_cY@h26grkAE zKqJru_<;Zr1-1eY01pCx0Nw-!cM^sGM+0+#MxY5e9|!{10oMZ$0S^Oj0(*cDfW5#V zAE6K^21;5Fa4YZ>@H5~Y;9X!`h%g>l z1S|$5;5=Y6a5-=n@NM8%z_Y-Iz(0ZMVZxEX5}*c9fDT{_&<%VAxB>VUa0hTd@Br{6 z@D%VH;3eQsz@LGC0sjVuMhL@ziNGXaE-(*R1S|%Y0rkKt;4DA|JivNj1F#vm9M}q6 z2iyv52fh#N03HK=0z3;m2fP9N0r&^-0Z`aQC<4X<#lRfkXkZbr7-$5VfO7!}2mt2; zmjIUnQD7@@8*n>tKkxwXGvMdItH5i(`@lbd!u5nApahrz%mwBFCjln|jX)Ey8dw8( zfllCaz=c2$a3%0n;A_CQf$snh0S^Pe0G~#9QnA_KL zxTjO>3?O?wGOf!?e~LJJCWQQvpi7ZD#hRB=$g@`J@ObsffZDM?raQuIDLOmsrv>vK z=@}dfyD4rvs@*V@{)|sF2|B9XGmJhRM$7!JQ`}xpi2m}cf%KOmeD9BnU~F-+*W-+8 z4^7Z76>B$XBPY?PAzhvT&99|Xcg(<-ol2(~p;PZGq)$V|m*UdB#q@dP`tq{U^&Ve& znUjP>wPvan^bAY?!|3=~E?P6lPpg({uTaakXM{L0^>4$%N(gKA(sF6q%IS2{==9Eq zsP=9P{e4KR|0DKsT+(SBz3WGce%qeIq{RBL`d`K*ovgp^sE9=C87jqIf9!MeiCtJa zAr#dmE0~-#vs(K;WQEF)-YNGxi#n!ZVdxOcw56j5gJ8*9CsX@IY0zO(I3n4 zX^;qqYA6)3P;~jEA@s+gVj3fTT1=ms3I>Q7j15PM>5KG_M?Yty{!hgTbj6V(%z%EP z4W9;x00a7oFg^_up#}64QG6;AK?MziMMOcv5D`v5KlnVp8zuq?=q?}VcPTuP{y0#? z571p^;ZvcA9H6_@;?rOeGeCE7ymK))Wwry*kKpME`x zPs7BZKmGa+e4-{3{uv;~`srpE=%<@~fPV_b5I@}vwzv`fPV@_-v`NAfls4FuLnKA`S^62=8A{!E(5yt82mF-^k~p23-IYk(U(EDUV%?v5WN_5-TC-5Q1oBW zb=Tgx0|P*JB#QA?*!sG?s{gzxoAdhao+>GU<~=uHC$ zh#ETmEUM>Cg#$$8oW4cPoPHkFa(acRlQ&!t=^3YN&^LJ5K&$8bL?$DqZflsG(=)nk zQKhp=mdh5)~mBhh6kjzpKGI1*i!;z)E^iX+iwDUL*!r8p8@mf}csS&AdkWhstCm!&uo zU6$fVbXkfc(Pb%)(8%r?-QiliXg)0(;3_Y7S1pzoM)fB5#vju=6ise%B%0jfNHn>{ zk!W&@Bhlm*N219sjzp7N9Em2kI1){6aU`1D;z%^P#gS-oizCtG7DuAVEsjK!TO5fd zw>T0_ZgC`<+&H3C728n|rFe3sskpaT$KD(=ZNw*0?MGCn#>c-2U^QWVAq5nMs3c(P zDJd#uxrG#OM^w9e8@;w+idX5RI@SeBROy+xV19*jVa0-qDrd)ng%yj+X>28anRW?1 zRZn3c=wBP{8SYj>uAnC%)|wZ0QhLVH%C;d|5|19nc-_EGC;h-th9Agqjn<7HqKZYV zY^O)of4is)13l56K~&?Qn@uv@%y5aenQoKU0{WA9nob+{<`MWuez=le-LRs1q4y8HfRQ60W1(=R8!+2=1O zP92H|ar*t=`B-US#5AZ3iA=eA1gu|8BP7>OM{`p=>46srbU;oM1eI(Kg{{jyBw?&(kLu zzU^&BT!XvK-S^#6&L2Vb4&=e&`I3B-+L|iudl&5)N?(e$Z?tDfEYB8MsGfUc_vfCW zLFN32C#bli)QHg+*X$`&6>oqtx~YceN%=wTVLbGdG));!Io5EWeP1(FLi(fUkL&6g zoX=Cwohc*kc}HxM}jq+RJ#r$r*n~zny-@XAF1Q=Ov@{-wF6b9@HhMVBcC;KxGY{fvIve8c_r@469G=+kB_df!Lf=3>PFDtl1v zSLbI+xG9%ud+?;`2{*$j`%JhQt{ExGfq-|T6w6F{U#9jJ{ib+8rDvK!eCjpY+jzbs z(%(qRef4vWGu&xEE;=lL`l4QW?R`A)23`8n3tbtLb<#!J-|>9u$=YzjK9jZKio*g} zM^O^l?;2`P($B~la+svEw0~xNl*DcH6ZZWm=~oQbe62lYe zUuk2-y*xfA&MHLr21zwOKTgn!ac-eM62{4MwG#S>#Kw>U+c6ub3$I$NBa`Nr#` z+7Z1s#;NR67QvF znBVKBEKsJt@}6O6ugy_>U$LlyDybNw@VIDG$q-edsP;mwgs8R%ci07kE~X>x z1cK5t-TZ17Jr?z%pM=Z)MwZ0|a-Tn^()LkqsYCI(Xo%qy{K%LAC{Xu(DUG&JA>4cE zX}GjfTsl{KnFc<@6DvK(m_MxST`zA8Q8kVBTI>ia^!rP26D-FF#Ys2m<9*RSoJlvR zr5p4Nb5>Q59={vOc5csr5cLC4a-#P>S+1z4oL|0p;lhrJj>^TA3rZ8GYNz*J>sETN z)t2Fb>Io*-#!l55aqUP^)pydCpdpt>WKh%G<%<_AbT3|5S-!Ai;rwz}Y3eE3a$HyB z3c6_RbZEYB2L0ZX1j+}4E_&h;!yWXKwH91Cgg!{>`Fd3{ey!F@-%;N}rc1@y+DdV; zs%-FjIyR>MaHi{ePt?v5*E!2%D)7>NG}CpxCu*z3b#j@r_qv|JbOW?zgxE~i_MWUs zxOP~?*ZUADuZhfJP?h-+YNfp)`H?<+$zO~%-pBP>)*Kl>xS=yKJ!{gKM zC+?tsH`{P|A14oyU82(i9-|v_qTzDGDPs~h?EOx=5sx*~aIM*y#$QRQvFZF1=RrP!C+o%r#-(^AT*gWc3l2q(2zjJ}+HMv^jP$gWfa|)*W=WaI4m`qi!<{pp zHVF5O|5Oq6R#AD1hQN5k_4=7Hrx>Q+P1Fq^#_vrwoS%M1kzOZ^8@9x7McN6&^*h9> zl0U((9AUV|c+Oy|iKRU21j9wKGqj)Lo+I>Ir2K8F;gSp|6&p^{GtkR%*TeJ+lKwKq zaJu0XdPRQG#*4k>Os^>Ag!n7MU$tlZenp9Ms9Vj~wSX#5a!5siHfWu)k&3h>(*h)H2+l|{#G@g?--WD5@8ncXU-X=S}@M(QSPJ0P=m}$6!*_o3J zXC@V+dg_S%*x2M-^mcT=f?qqza1YZ{50gS(KXsw#FC}*WpHUK|u3E!glFrp$#}AE9 zx^Ln>`ggMpm-lfpjb7j}V3OX1sp(HK*>Ic0soGn3h;ixn#a;BTW*IIvKXBpebh#m++ElLSv^sOfRx6?T2*t|0C{A;N&{0 zdtuw!H%s2M*s|0zHptk>vuLD|S>;_GOE#9V+5DQG?jC8%GtYP){tt%lU(o#n_woHN4??4s2wk+;@Wri|qz@-n5b2v{_Q!$e3%vL-Ux z#M&+etCK|;&obG<=B<@QZqJ=oaC|g+lfSRs-Ei$7E+Qo@^GXb6U&xpbOA76Q`jEEHb{J_jn*ZOuwz8;i|M- z2}GSI(l-URzXn`>i3vL4YmW5=$}UK|hWuVSfiN5_udZBDs*weVhyeXZ(Rkj7l5m}b3Hcpc7p;jyV@RY@(w$x?Jc^b{N_cTP3o1S->JfqplQgSpBS5$8g-II)LrY#5S5yW2wYP zR((^z)2CE>h245bP^|pifJ+O4mE=+yfH&~fQ~Mwhd$0jZk3{Vkz1D?d3`bMEHQ>=4 zzjCZPTsu@PmJj0F-@aBcg*>!+b5@~9aZ`mNcudE!J0jB)PKLrhO@z8p#Je3iOWL#x zTQ2VqE{i8dhAn-NHFHI?ObrOPrgA;x%7dl4vHcj%h9q?kdxD2k zDrl{|E3|Qq8sl&o`)xh8wcE{?2{X_EM^u*4gNAZE` z*M!>jD6#UU9wkPwa;Oy3ChR;OPQ6EzaotFyxM|Oc;MeTG3hym7i6&bDV+R!K{i4`P z6S0aBHyLwC9$MWc9M)zzlb0!dMN36I_#)lC(xzS;kQ;!yM?|kqMQ7*=0bLfVJ|rAY z2nXLO0VyzQQX4B}64HhJz(cEtgu`Ovg3|$Sf`91zh*J*>mDAkb@6B4-1BMR8S>mC4 zU46OM*ID8Gq{t2}8ON>S&zTH}iA6YMeYpCJwl9Bl+c-391hmX@vn_Rc(1=;Yn#-@l z9<)1z)Nausv}q3Tr1W>2O_@9^3`coLM+X}ob&zeQg9luja`xkkj#%N?YYIO(ElpyI z2{&O{mVof*(XKp|th2b8F7c-x=VbE0()Zy&T`d`yn-Wp>Cm25Px5 z_1nUJjn*{$eM>-_13WzdrW;X7#ZJ`3X@UBl$le@~Mq#lA&+bIo2Ddv)KWN(E9%@~n z1y)I9LrOg%?Y%b%+@S)P!fhv-e z(b~;jSb>>TeU*Fn$MBP__z-w@z&A#z{z7zsd7xh!F^#CT0S5z9zZ9A^4!bCMXuE(y z{f*d8-uO%U^=W}neU2$fyyehVwXxb^6)O)rNtQqz)fLAguwFl6fDWsi0l2l!6g91{ z!Kzi-T-_#}MnAl?T4GcCy1hidO#ywQv?N;2j}U|4XV68KU7<{;3YR;{=cUT`&lT zUlVX__+?$8Kjy5fTPU(xj4}_qOdAvL;SV??ZHrhZta1ufOGS=b-)vda`ewn>fv>^q zW6hmMv@iQ)YL)1<%CggPoO)?zwJFx>nvH?0HNs=1dw zOYrK3OzUMznzddAx~hotT{u@VSSiXI5Q!!xF%JEu4_9v&Mb@S*=P@&-uV~V45%?ng zwm|Cp!W`NFR7pgin2MGu(WLoxa}$vcY)KJY4MLSfl!%idL=A{I$H{oVH*+!`Fx8hS zi=O;6(bt7Zc4R!4NmiyMdWKCDL#1+cNWa)Uk(amEx9-`^=!SV%lyxB#KnZJk|?n*C`I6q9d}h03*jP(aok_&-Av6&AE(rR#pIJh zeN!8^d=QGJO}&t6ht@Da^}J9m6z7@{>6VN&qDHCT(Q*b7lB8W?Ha9T!U7=YbovSh^ zY0tqc@$z$E3tO(fui?^X47{-r|J5%{2Q(I>{y=D!>Mm-C)F0xPQpDs5M*T==77gEI z2+ZhEFW|>mRSZo1MAM87Q;77AQlzsPfci5*FUBmUe6wj4JxWZf9(E<-)X%hx^1&7| z3_$%t&|GYhM4GK1LU+L6G`ut%iO|JBJ|(`;&pG z7lmetyl*gyPlG@X-u1;Fa$jg^d;+hYq8G?@74l|S*aIw`I-=_|ihD$*P74MqbvT^R zU1@;&dkwBkjCN^(i!g5Bps+++y&3Th>WPfqb{%bG2TnJ=n#0IW~sAUPoC3~)I zMIjKiGNHI?UtcQ>*Y1YvF1>ayXj6ei2Ny;A5;Ebf+VjB9aY2E2xL2b)7;AERC+ zl*@|O$TcZ%8q+s5G!{(YkH*r2HSGV%GJa#3{!{OTG?q$u<^7yK9j@~q#pZmg7}{dlR*T)+iC z8nDnr>SE!)J}6A~W!`nk)m7` zBG^^73O04788!vg@PX=jQR380-3${`c22;d33!!Nt)&`1P`%AnBUYBHMhtvMi0wv?%E4HE|Gsh1w$5- zik+3-a@UUP_Rg-Z9lLsZO4|~sIw&Gm!|@o}qP{LY;h+Xlj78aiL6$%bW%$T-VCKdP z(PRdE41uZ%pM|1MR*BOBB{WKn3B?MnP+a?s0ig?46Apb;>pXgDe2dU89vdE)8(Gj} zOv1k|5K4r4x8PS5&10f5$udTRUupv<5l~ya zx?ji_*4=kl(yM0>_X0`{RS#*hG0dnEk$Uco3rHpgc*Y{6)p+%=rp4trW?Crfs!9CD zlp`e5Q1uBRTPz=C;DU}2LLM$~8p7?uF&h!A9@V6>S~2RFXt~Zyh6WMlqtwK!&j~e_ z+{VS^n8N8A%hVrBf7L@+`qL9Ty>`)9jB;#pVA6*_Op+*ygPrHv?}LU8v->FjCxL(E-UUW-BjIOsmRL6R<{?N9+DTnepmQJlnl;O+ykJxSN^#V|KJ>#N$H(z?fb&2 z5GWnToyed4QMfse+J~(mu`>`i=21ErOXiHhTrvlP7xYFd*c;OAbDIp+QN8sQ*}p)9HAF>*;g zl=v0i8I+pX+zS-;T?eavDfT!i=?e)HQ*c(Ep#m0*C9xWj6DS*}GF8*S}GIIN#ju8ujvE|x3yaMBeXD^HSzsJ|0B_MM9{8{&GqKZ1>qsKcMbN91)X zQmbFNnxt_SQB&w$reSiaz2`4@?@Ma!G|5t-_k<0TBu(Z zQs+Sz`bQ8>3n+EDIz`x?m+5CgtM&z9k@w1C@MT zMe>Jf$q1L~m*Q}K3PXEC_KPdq4wYp877I#hBSh=(uUJYQ;E_hgXoQ{GEEMvc7F0|` zVF5XYm2s`M2v)9i238UWTvr!hHPe>~P(FF17yF0D<$c%ew{N!TJ9Y8(jdKJn-@(xd z53-$VX&7Jo#;dt; zMbM1Y`bd^T3Rm)#9#}*!)6|<98QRea9HUTOqON?!M+6E~ovUkzotF%Lzz}Q~0{PgF zuVF3~5^1x+nQTcJ3HmcZP)`VB%`h-9WDYGFgp%(A0WS3eJo}xXZNofM^BS;=6x##v z{~+70>jP@EtvfplGNY6UE(S^V14`S_8OvDOP*;e6rwxtTBM;3eRQ2GYh=h)@mMEj=lD+-REtuThw)m%bwYJBHG7jhT#tXEN@2qr>?YNl1@%alq?JN3nb3D}1cG1#B*K&GCL#K=N5tb8xCkcG@eGYzS~?uYzPRP)XmXMy;tnI4`z?F+TcJ9D7SyxYgwbU_C**2i#wb~)2xJoixYJ#%b zCB?WAGE=OBnYvU8myQmV#&INM7#*#Fi$62Sq*Q%O(E3|hJn*nS07Ips6sk`McDc#e zkQSLslm3!eys@PT9Z~ADS!!$S=G3(CW1v?5fOdtJp{<}l&ZB)n zFml!f0aES@L82DurE99bD9FZULCT8dT73Pj(y_g3d$o7hPP~`hv8}&)03YvGUl!bx z32uFWt7GjNCu8t=IYItJBO42b>j#j_oD!gGn00?efd5?s)oh`eN`vrpza_}^ z1?_fa{{`7OR%dU*4bAu@-BQ8mKjD=E2IhpN`nqs)DML13UYCN!m*2t-XUgD@xWM3fAT`yygs6op)mmUBN4LFs;Y_1Z)fI7aS2Zi zKp5XT9O>v{Zp~Rv?oy=wROFozkOh#Cvm_o#y9j5oo#m~wlAkr@okA8!j*3BQOcP4d zDePYeGs`~xC0F$nBGWCuUzv-56N%Q`=4bWSA}QD0E(oXDGMw#X##F_27X7Q5627^e z#ldXAS(TkVrGZLsPj64xKxrT{5cKM`3NDVbF$xkv$r6|!Ff-X>W{W$*yrJ>$JN zi-h<30B09<)Oo_~DzetAALrv2B%}e!p@e3s);9no>pbcLVfs$Z6zAg)A!eTwpv~I~ zSih^56 zIIJKiX4iLAdbf9W?!cD$&YoS{I|sH|oH|*go`QccCQibCVqnWiohC9C)RD#@Wjg*A za6UEQETw9_29|3Qu+;|5HbhFX+NhD^`l~^?NGVpE1-YZ`9EG*%1+=yKJil|g-)Vs*Ld(OBrx6syZsuV5G8>*UQEQi|29HBwF=G-+}v zR+jSj8FL#_m#f{HYpK6!N0MT7iRL=sK|^cla&@`J;$0<&ZHU$7>Po>b8^Bip zYhxI#Qaf2zE8!ah*+G?p)Lx-lQLYVRQ?;bic^TD0*f?JH*)|5mE>>Nm$w#YW!xK15 zDzgDguHJ~E7`+Qt*9rXsTyLZ4r0b{)G+j6f1*C2eJkEaJY+h=12tu=HlzOYCDEBvS zL|v|K6zrmdhevBB+jH25-QU2}J2VYkV@-!^)B8iT0jRRkriwXE()&Wq%TlfeH0LqA zHK@0z@;DoS8r0}v>pTY-5aN(p*9+&YMQ_N9hg3pVqj`aOYuk= z3-Kv&S=R~WXq=kRaxnfnJDSzQ0MubE0T1G?a)+ocSHGsQ@BvM+x?KG~S_}L=+?g^C z>uCV$wnS&g{e)=I84l=njTZm!__Yvi0P0SI_C00X^WsE0LYn9c!*oOQYS zxW>XRO|iOMeM)0tm8Mu-u0EqR76jJk*g!+Q!E*`*vhujT7 zeMzGS>mzPn5~2-2JxR1@z8G2n>Nf?wygoRLPhM9l+x5Y}#_=U2RJcdVEGM6_v$N9C zTa^!f^>lTV2XMkMg{!Zn4C)j8hJpGzepKI(f10u|1nOHUi{Xi(_E;DK^<2uLGI*#x z7KT85TUe~nRg-?`@-UUy7`Fq#>UUEWMydxw@*Fc7tomL`jXpPHYJ*k3pHdH(ZgHtw zH-aHhf9S9n9BGqIqgia`g5T-Bc@XGx=CwW8v^wgDT{&OlBzwc<>ah|(oQZ6cQf z|DN)L1!l=FrBweS{8lF(Fw0Q9AZ=HO+fG~|snoxv%E3uB;g#1836c8WDJyu(_F1Jw z>iFMFx(LQ%mX#jBGA*Jf$Wbk&R11aQvczO*(sX*hg(lUKl**qX=1`e=;&P!fjwdq{ z$#W5UzM@v8()64oN$hf@nTg4oR9a?sk|T{%lv7f=%seHBj+2$OLbp^~60R-d#{OUQ z0DWdGmWT*kZ4mNRnp|Gdk?$T04{TN8QVChN(3iDtinmHap*E&kpx30$iQ{T9(SlK1 zgvJDv;lU9(*x>nKOpoKl1goOINMXEEVDlK&ujCy5Cg9%GZ8o{Vnr8LOB zTha(db)+=N!CTS@Ms=q&ku`&yme30aJ2d53WenH1b?$&P>?Lu1*$ia+E{4@)Gkn6=TKXP z;Q8|FZOqGh-{4SNg<4Wupn9uNFPC133wI_=PdpUMDO z0KV*K?t%&1+M!YJ(KYPHXMzruz{m;!p%mzK->i3ZDb)Kl6U2*J%0w>J z8t#{qtf8e`r23!`uhgqbDfL!$2Yyy};vc+C5E#Kjt9ymRq64J~bLUaxgy9L?pMpq^ zcrRNOS=|j%eOSm=jo>g*X~>m)zet|cl0&!W!_`B=<3vO~`8|ip=0JfAUOg;aRv)U3 z3=h_;^(>plqMPv94XH{Y;FP6N9~V}uMoTzH=QM`4Cf-L3=zXAiR9ENb>R|uGkY^L8 zHNxs-@anU|WkadIqrWuJxxKSm?&U4MVdER05bqD3L1Gj`n?k>VcxjuW3N(YRx zRO$;5sOtC!p4S{dSQ`-Wm4PpcZY#;b{q4+vA_7{dYC55zmUm*JBNt0#YpPM|DG{}T zT%4aa2KW%O6t`XK%h@CoGF1uA`4l&$786cIO16ej+sMs~rO!rGaX9 zxm4<`ZtvZJ#>*TT{s0b?;pk6guq>Z$H-+k_LVRXG906?zK;hY6BVrY)?E&APi;PVH zc?=b+1`cSsUo5p1Fh8rmYFYsov`F7UErDPA2>szr1iU~m15$X3R)&|u=>QC8BBx3%?KP z#^Gds%yBpwl$I=S!25oIBPA|b!__ihvh!mT$qq_O?#CBC+K{Z_>O^0%^J5dq4r-YM zpF{f270*3jdKa`;3RS0wSkuw6zvgtbEbP=6`%Lw}t)tXZ-Jd{@V`d^YY={g1S0aOTQ7QvI_7E@19W2saF z>tOnQu)xHILhVXry1(SebRkP*JezcrQ=s+z-JPBN+jkChYZX>cCD}VOtr1dUI+>_m|Khy813;snliwSMj3D=hi5}s2kH7Wq!=5 zQ3kbSu%79EVOO^h)i1(UYL)%p&J1iG0YOxzAI3znQyp+cxxeL#azPMf))5mM#zYy2 z8gfOszvYT@K@g=6(WlK76J;RkovtYNw_H&!NY~12zU8_lsklJYAy<_9TdpV<1X1)l?HF@*X{vHHApF{6L_oTGmVSQ}W4 zFVp?Dm}9v%q5I1j0X~3)GShj+nPQJ*aBzyEf6N~oE-J>`PBLER^7ekr=@|j>D^xG?%%OpmNf17y<42en(Ji~ZbbZt_xqNBFb4?VS{$kA8@z4A2uLkNeM8!F zwdLghTnNbGI9$lD*P)USzb+soLOm)fj)tf|7IALJaei*vaU7fol!2XAZ+&1H3sHZT6{soA&rJn7I1$Ljsb)1a zt4cr53Uq#MD$v16`^noa&4-2{)GxE`m;Tzc{ZiO6<1ogD^cKtMJGYlBJ=<}qeSfJ3 zw`%X)mKLiQMcDG9EM;K>RA2JeI3pxT%heIBp8nit5jPqi8m#Df?AFHefx+rfrKqpG zi;uZ=#OGLTByIp@1;gWu8&mzAoPV@ zJ9d_~@2KwT-%&2(Ln~M!X;w*HGKn?+e-ffCaUz_(o~WV@;>QxI zgF^MsLbW+g)ju%^li~DmO7lUX`4^#iSu>i!fnpV(flBF~5W0UAy0hYRc!>&^#AQ|d zv5@_{kmXoIA2>GOO-SnXPeSy+g($}w@Ff#ver+M4TK52`j{AL3VJ?T_`js z2+f)CT2-oLoOf~TaHCKx6p9?(bkNXZWO%TBZxyP=LX~4ZLxoo%YkG~1WSt4 zoY2iU$5HgCz9&@6h3fQpr3U0iuSBioD)Djss8q6a3zx(d(~-==3If;UcWzLH)v- zAvpda5Ns5J^W!zg-JbYzO0iVOLB0{3YAGKqncXLVH!dor`xBwt3Oe=A_zQ6%lzjRAtB^RnO}P1d>wT@UJRqnfL1 zR%grAcH#4ipq+@rH-AdQF>|fW0jQnA@0=F=;s!g_=V_<>7YfJR7NCY1lUdt)rRuf9 zDRlN3vCbB#G1{5{pxz*y!ZA(YMR@PFd=ZY$+!Qn28O>1YV&NQ)+6YbDh#T^e>N4Sd zZeH8CT4&6;KEjk2kL(eixuebH8TLjy<}xUCmGC?-PtSe0JM+?!@v*}(}{o`gtc<}nI%zc8`qguIu+>EWOglG~!y8$}j zI@|GE$YIfb#HIw)f3RYzTDN2yAaO_;8NMXl5yk9#g*Jw`m9q$NV=nDt5gx%>X zE|-yW zFq1WjXF8kLc3&bpzgS60t$w9$ZS-w@WyU^KbUSr9$>@Sdt;@+^>XhQ%UnrKeJZ$H3^>$ZxRr_3rEOtG%dDj>jFz@SXJYAZXDxl1Z)rSg zOE0s1y1kBPxvelm*>YQHJ6>-ho+BWK;1umG)4pY4tg+<_m~s9qF2ibu+vJI^5 z>-&uvBXITV#4wIj*As8mSb^JJYa>I4QKX&PG)QdZU4S1Gq<$+x&vf)?-`7~F-68H_ z5{{GN=dSSm93HhXPZQ_4_z?Ui*zId9zv*U2U}MEiH_P0wG%=*t74Xu@%?7vB`4ttl zZcBUJ#hHYlu>>Dxz`~)fLen;rshT(T_fYAjrp@rEl}_3$aDzDnCy6)jFos@wF+P%o zYg)z=>q+oic$1uc7DHJUr}{G2qnf{fKXD-$wFEK^2$PFr_!F(wUX8ExYm7&~#(_J^ zAz+RFYoZP+ss54rTN+l;3URAwA*`YcnQImM{3_znuVUZ_atL&Y?oe(O`;JTMXo*fU z&1j{pb(+yaSVsp^RS)RK!)u26>hb#IKGXP&`p$Ubuy=^n4^yLGsa}g*+YIv`CqJt{ z)!g;Zva0a2v_w8F;tb@Z%k8DnR-5YJQ5#LXOqN=*dlU3q26@Z%44>;p$4C}JJ6gej zRMlTV?|teoO=W&*{`1%Rx4+R3VB>j)g_qtk>Lg=++cjRf8>j6?Duof;^IjOQ6~+%% z3-VkW(0|IVO=0WRTRYD^ciUvr%=`S#ghy?cUY+me7aCV^!k%>6BR8qbcQ8!iD7Ui9 zYH~8Ei6%|j(r&JDHML=k!K2njQuYO0`PKYS*pqm9$z9>6Ax#o$?IYbDoeo;d`xMhw zmiIc7sM^wuWR$WAOvM&otNU|OFL(v?-HM{O}+{6=$jx7@oe}U0+_(qEEpO&1gFo?W|sU+(?_g=TOiM7Ko&xqIS{uSaSS=7 z?YfB|BfQ>s6L|F9L~1#}y$FTBTk6|IKtqal4e%bDc1DTZAOzPX~ zHaGY+$D?2KAZ^MafLAv&c&*%m-Pm(xl*1~JpG_T~gjvgLt?3e0IKm6OhApH4oI;yN zsU;XkK?-G43#L#Gou5M8-7KTe17sO={~uAM~YbkrnS>2iH+ zV}psUCV$b(ykWZXR=*MPsFiqywqt&w+UZJduiw0lBAGejQHzw!QG499-_YIU5Nyyo z+CsLq<%UA9t((t!f(1d_HtS6HvTY-yOzRlT&2tDgTNjn)=@!XO<|yoUvinsg&ocPY>+)!R;T+F-eeU^ zvv2m)9D}CQESG#OHx2^JEtyjW zVI_w^FZueZQM%A%X_y*WA!we|L>5C6xfq>=ExO?#zSeE?u&pXOz0BsSKR{04&2`E& z9y1&~YU3f*wG%`mY)^e3-b1xXUyBK&WxBz18O!ucGhwu)8IdSWR(@Lf+HAGbKEXa% zVYQgR;89mgri`5T>S~>E={v(ZWtr=k>#o>X=FIOca|BbF$k@`1XbH7uVard9j8 z_sbzbn^O7M*b$Q*(TboFgvMoScC7ws*QlYy9_n)aq37r%(j z!jlYm)Xic~GN_NqnwINtatP!MgFR93$z+~@qd2$9vgfDqi>%XLOliyn@TjFBUlC_z zOL+#dP>Vs z0^OYQHp`d6!17IeLy))S5Ey@M3o}|uA@<^u^vS|9))D{GDt-D#X(Ts&dcSXJJkHV5 zmLcn48P3_#mM<-B`Q}?Xhrn3c7G|`}TH3;BX)AOlmR__lW9d75OXE>nI!RR9cD0rv z>tGqq+0vFTEp7ScTRMlpSlSk5w9H!C!f0tLbS9Qwm$merzNPV~EiGBf>}GwIA?sin z&e_tIFD-5P=36?4z*yQAX0*&&+QMjQD|9B7J~wOWyL?OIQCoWXtSxOBvJRHvoGoqn z($bc1zNK>rjHPX1M$4?FEsU17LT6&>bcvM-?FW2I8L}4=Nun->1umS;@rzP7@y5})Ub#n*TMNVGF?8n_1pqprL2u^L{hiPHX$?>Qythf8juD-*T9mfGhmMNM#<-lb3`+X9RT7I(j7)0M30=U1}L5HA6 zS#mBzT6q$le!=OZg|N0RBwUnfueOtZZSm;WHkcFU5FlnrZR2YomWE;93UT-1EreBc zA#<(b1AZ0p=vOhAjO7rpicResw65jFs$1d725Fi#bJZ$`;4G&*SO{%pc?zV}nr(Z^ zKS;~b6X8)?PMn<%jp^iy%I6SBem8S>W0`Q_+DhfZwJpu)lrCJi>i~i#dx*8B1Hz-O zb#l@vtu>Rv90HtJjX8k8;aGCk*UFO`SqESt8I{B&FUd)#kNPISqi=$s*X9t26Vp8< za3eVc2uw4wnI%8Vge0q=tZ!PISqN?BKqP9}Zp1OXG;#9KU=zNeh!*^oF?O>50Bbpa)#h%$>hwu7ouIo?AA)Gl#OP9SSive z<}_Qfd<#BbIbs-}E#(kkq@u}eVMa@L7+VON9FN*ufXvfuY1^KWdUb5vOno?88Wx&7wM*X7|-ev{4=Ww$|tE6<0BrmR_#qtEE7&p zEE7&pY-vWstR^Uy7iSMvQhO5=%Y+jY%Y+jYTbdEU35qSvRHn%UyaOatLNRL9yf^HbCjix&ky9aPBn%-@|?Php0 z|9s74+rH{8;};0KZP$!d5AiR&1v)Zbz`q53A91y^t#BP)Of`ETxX*2Hq%c+;#((OC ziIMTzglu!f_9(vO_n;?f53@&+U)VCzWrt1RvYw(~1`<5#hG;L7w@jGHTPDopZD~e? zWb%wv?qPFTo&O4zqSL~oR?1I)En9YU2h`Fk?FGNz^i71v#6+1`#^9Gj;2hweLHxH& zIBT_1v12HX+m_O%PN}u&yvF~p`VE3dZGt5Jr{SC?$RSAf;Dc;4hk%i=y#}+q7#6Lz z$?`!eJfm%fz+EA*JlQ2JPe79FVScmD-=fKRnh%fK*WuCcb-oE6Sa{s=$I1UNJaQ<-<>(2=@q zdmSGAUg!HuxP%;n#7zeC)f@u!l=j`E<#o21vRiGpS~nT=x*UR6Id0NI*y}7$KpZz| zTZN9$1;HlPQ-r1S>?XhEyGcCyZZc@C90FNWnR$S>Ot?^DrOGM@DsM~aCY@5-VcSY_ z+DqG>p+Pt&#G^Kdobc0eGcZUFfvg#8f^^zVzm-EEr|@V&bCB!u7Vp0~7fD%`+!e4& z(*fAhOqHC3sp-N)d-i*l_T!!(9<}`>jK=MkLx456to;~tatI_)=uIVUy#@Ox`jc1f zGN*NL50<@U%<|%EIaXT)2=qf+n5l{rJpi)CID_5xXbxuwH0Kqr=V))T#-p}( zvPF^xd73YWpy{T8rQyoC72<9hSV%?>fwY(ewp<-}-mfAa{VJwDnpMmpXj(-}!zx-K zZWS$rRdgY9t>O!Q74hg-G4(pEVh#Z}y5eWkEDcxetPt^3Hp90NR?&epU$?U>X?hV?f@CO1?@}=1CLXom_Eym>6Rx6JCR|0cr5O=9 zt7zUCNhe%=hl)}L9<`!~5pbxskPg);bR4SHgZ-4+`hfGl#Sq&+Wg2}%Jdr{4SnD98v&0_BiKSVf>Y=;g4KhK;DGYq z7Iu2U?@+Sce14zCr9)GaWqyKjDB zOaIi;&Hn)fbNJ&?3vSQNTPAeDmI>XwEzO9SiJMPv=J`YFNfCI|dV&eYw=JZDaS9y= zW7VLE9Z<{Hj?+68m@xg&Z!SD)ZDxNlk7dYZ70YnW7xP%Y9NCty?8<5%6};e`LtyM| z3o}|uVT)TSf)!=UiWl=(#gdD8f>4-4AkK3VK1yHAV=-)E%TzF}-YgI93i%_yiSekL zICY2*)Lh2_REV7Vm|tHAx`5FjPb&Og(Oc`OZ6aw|jzT4ExLp^03~-=x>6%h#@TjXH zJA0Z~L#HA3PyK$6M{NRe zIemL=Az3?xehU5WG+&I~Abx9dg9qzwleqKDnz>El&bK{ewm0rrz8Cm>JHR&{`Em$) zboFgvMoScCQ+JDG>h2iIPu(Y4rtU%R9XWLLQ-8GMQMZ|#F`S>pi`^IF!$Eul8V7?4 z{f7(VV$H`w$+rvR7*h=NGo^ z(Su~;XB5oni$^=Stw*21MdFqTGf>L}(N(q?Y-vV>#9kAa@<*UEi~VydN*Q?6ikh_y zTSyn+6gtk^>OmVjpq44nzVF)kDzn_5`|X8Ct<5Y`Aj^#wvfT1hpd5mxDUhXM3S@fB%TzFP&T{{PP0kb)kGjd*%W^FfX1SILvs_!65#eUJ z*-f@=f)fnpzogpq9(dGh&oC3S)a*W%+GJw3FvEJ5nb=?XisDf#I;%{~@?s`tdF5wf zIRtJdW+AMt<>_Z)wguS%9grUf@|%t6(JyHYP7m;?tzp(RZ6T#Ng?>`j-dxq@6g&W8 zbBg5bOfXl?A&_GanRQKzWO5W!xIJCpOY`tLLOg2ooB+`}%ljD8QSUm!90EA(8C*yB zK1$>C36ENu-U{s7YfFza8K+aZyz2-Xi?7FLzwxE&_?3jW{SlO(-RBa&zQxwt1ggFz z<^z<*@OaXS=UzzIRwG#6=0kaww}e1xf`dPG?H|XA@0`oqwU(=yVOtH7QJ!7oio-F0 z5BAw2zb;bb++b)yzA?o|w8|g8pKX?DDx=pB%qvRnwnmYr4#<=`vGON&fVE+U?bpyi9oPBQII9j@L8_#~CB9rcwRm zAX2NEzBl=XABWml)`}89*1+0d&cZ=ZgNwboTw?1IIQ=NRFI0G! z$4>xRg}*1O1zO>34x3%#vqrei3U%wNz7^&o^+p;P;ToM?lzma|^Ke+S?_{r*CueFIOtPYI*77Jq zAwP!I+7$#QAZMC@ibxH0-25xqOK`(%6fR3@bOG;9!+Ug>CKyCyXzqH2S#(DePmmsx zUbq(@&9?roUwr@~n)|!J15?N=O&FjMiT1jZsRw4ah{AhyT#l-XqEhPo2=Oht3&QNs zA%M=0+5q4!tz<97vaycoTT11pZ@(|WQ`%x~>D#HMdzw|)zEe%B$YeSbtl=hS7OBb5 zti@V}l0jRe5McHv96(!2)^!NO1u|t@tj?d7t;N7OUFXk5mQLZeX*w5MqtOa zo*ma_?3hL?+A#`uUfeM+PFy~IY2p%++hJy<7yBgjO11|APer|aI6M_L>H4BNix)GE zvsHPY^J~jv2j*O7%*o}Ib;g{@-1U#d0k|GJ3Kw(IV<$;l6o^QG>g5&9b4OWkYQ{B* z^`>UXQ;eGqI!Y8SSu6+Kn||b69MoRdAZrdDY9bfp=ztM)jVSy)(>0=6qAYLR68|a_ zt0=nL8@Gh82c(enz=rLR9NHV zqRslRi>zpRf+$=snW}7_(bkaqkYo_<7@;689#F5u6XfaT!}aV1ffug0y}m}_TTO#g zxSUeaMhU`96y7QQBN@rj>c}!gax%&!QCTC-O79*|Z^?7C-oa?4Qa&7Sn;50GV64t2 zvm;loQqXvpTP1?bE((96_Hj}DyduB7QIs5hL|4{<+aDx?XtnY=_#N97IowY7IGt{W z+X`^f!>z3r3%WUZGpi$S8OqXPneCJ)R9w zH8)>C#%7NaV)TT>Zc)aKpt{qZ8CPkIg_>yJI?R)bF)#26TZzxrDXaU zEaXJt?M*+)g40h*?>{a48cUGKWZ8x31b z!%AbcT3vA#waLR=JKaYf?B7xTPX7*4#c7UrMmBGv-3cpYftEhe`N{1B@Y*NY+M2jYE zEEP|QgYzZdOTNr&*q3D*wk>ZJq@v`_h9+;@(3$)>ij^0X<}}G5S97^pA2pC8uDWG{ zWH<`PS`S8BR6i+dG0AAJCsB&I+{NlE{Zs231o|jke1wMo?YfNPjKY!YC;9NKl-+5% zJ&pTnD?M1PpmZNDv;OR;O`Q)%Eh#VZ1YPN+)6uHQk%A;15y62&Z3WRPRm-Y(_8(`= zdbSsj&Nf3xx_PU3l)M(zM;1(&$wFSRLC=e_m;I8Q)qdjXBF3c7(PJnG~`Tp2Uu72p-YV5^D z>aA&v$!sC2Szi2L1@I6H1t3K*elW-=sE-eqbscL{0vNc+4}kw4cOcL8oXok#hRGB# z9a(glQFwb(K(b)ZqeQ02QT9%X?CwAYi*Q+o8k|WYcSb=y3G{QD)&<9S|44)D?JbLO4FJrqK30br^$;u zDdZ)qTsjE|b}XWBjFrgTbZ)Ds6vQ}0z4CWbqVRM9wfQP&Fi|GAt)?$fc>YdG6plqx zr|U%Zo54;>wzp?r-R~n~?uJlR$>=ka^!8#DxxUsjz;4?sf;mYPj_e2nBdVWQi~^WgQ9ynk7KOvsNghT3^Dy!gKt^H2E*&_teIsZVGUVw$GCVJo zXs)I0O9Atm`DN7%Lc#^6p}5|ELE2DrKh8qdba-T)Y`dnrK=f`=INXvCNqSSS6l4b-o_#xvee;v)D7?L7nk<-1QzDb;DEpjbS{8nZ zXQ&`Ae?Nr~+A)Q+pQ&~lQ;}1rG1V+HRq|q{N?!SyY83ubWU3UzG=_TRXR1;7tTR<| z+iD^Oh399gQMjL}M)jMIOqGn8sZ!NBXR74NOqE=B!;R?qOOUBX;U*o8>gN^tO)Pn6 zvOY*+zoQGH#lpHu4-If~*X0eFE;D3SfRm0U)N=)CB6;)N4tdLP6k}zU z)T3B&TXR}cCs(Fd)F25U!IF9uZq7MG^_!1#J7mnWI8;&6hI}LW*mN+5XGDSt0HtvN zQ<^No&#Gm45Ql6qu+1>Yv#SsH&+SCb;GNqcf_xJxu zAqtlmkvAbrhaXcGa$wR(fvwN%kc|DBWQfAfnVqO^rZ49eHD85gI?C*yGG%+}hl!KG zD(o-5+ba9d=EJdLEj^|knEdyccEAp98^>DwiDA?39i&`4jCf82cNp<@FHi+}XA~~6 zzpsx)?6l;BqLOlFXic>X+$xQ8nhC-*j!Zgr37 zmGb99QMfZ7(y!$#+E*LD^qt|0Iqq?nbOV$uIX|KXoF7HSrSqftHpXj>G3cpYYmAY2 zs$dU33YUC{bM+7Z*m?CNUU{NT>OSy-aoi)~U_4br{yShrHt{wdY{gu+>L}Q_RsXFK4v!BB+=UjZ| z`BZnHy!p}Nk2~&)YH9RUxOSt4&s^h5+REXP((qu}d=$G}8yUw}tMMJ|{!&>!m5r-x z&80)z_Ev}YmPSekP&Qf{Iy_t(8$AdzGOCSjGhfnvQyq{CmlycI(OPZj!U&7kI=@{s zQK=l>DxcIYoiE?i9x3TdJI+m*j7$vIFVqUYZE$4##=>jUzqg72AGxhGI$9m6Y~9|K z{(j4a_^|gl2!++Q1J&`Z9p@T-FRMv?P>6cThF!g|wYu%Vw!-fH*A;%PFuv{LYsSaU zJ-;wos^eQkL)Bre+G~3YOO#vPzWqe$=%% zztC$Go=ncrE;U_?o%3YVwU+2vL|##=<(|gUqCQ2LT!=zndx|IOlym^k!=ev)bIqQ- zWkwrW&xm5>wAh>$eaMwd&eR}(cQOjc3N=P_R6i+l@24V&?M86`wQQVa#bR0RlFqh{ z|NaOsF_`6bY2?M$ATQe*Dwr!q;fR=Cg`@gO+-RO2K=E4H`trqlb{f9JFX=)1BQUs9jJ#QY^2VBjNpFKo;-YZb zS)bD&B-gDb7*YvID|LNk^4d1A3Rh!|KL9H~@q$<~^0>9f{+1s`iO zv#B+CvDW03U+XA5TkEKPQfqJdbIO?gOMiPOm92 zxxpbAyixe8px>MZFS&BPe%7z$V(>=wlT-XQktcw&7>W`=*1&piZ59KM0{Esq1zZ9F z+7Sg2FbbEQwT!~O#<7tf0Id&Qwo=OF{3KyF}DV6w&)II$>Pg7=)97`gI= zP%6;{uJH^c3g4-lII16tl3qptx8o>E09gai)`?NTCB{Wiz@@e>ffI|uuL>33*`v;t0mt>PHOo-WhF?vCe|_v$8KPgeJPT#Zj>MsWLvi=PXWxeZd<&%ZAlj% z^q4#$+k#OzR{4UuElq+3Nmw^ZaO)Q3DS&ogtqTtO@NHLaOz~}3XQ#>gNS+t-(k(;s z;KC<)=o0m+DEyU%-O_z%a11JYk>JCj>2i;Y|avNM-tPDl!e#$ zliEhP>-YSVzD8H;5YN>EMBe~RyxV`tdbcQ?K74LDEIHFr@TJ0}lLa|!6pnp3+sWRY zY#Gepq+Af$$o*UsJ*kXz;f!D8j${-*=d+FE%Cn7BB01Zbj(=YXAC74Ya^k3dGNVZ| zcS3ygBVR~*Cjsn%)J6bv?SZfGV$drxG3aGkHy4HLx1BS$VWdu+B&-`HxG^Zo6M*J( z2Buh?GdOI$g^#r@UxN*@Qr#UT?N9F&;@g8<_u$)uh-Gb@`|zh&?PYp=6N~dLzKN9_ zYe;h-cEu>%oOO%7(}g1Mh)tWPA88y;Olh2Cfi=j+qi{Llsl!hCdJS=GUsgIeVE5XV z?K`7|t>{}tV&UwR<@F*@&k3^;Cy3kR$$M(}evmsGCx9o{Qb6lz2NW||&U_!Bd6n@7 zOxj*$yuoUS)1EizX;HZ3U~_-jg{(PgrY80vuu5}d_W39rlV;h8j%q0rYHPz5tK#b4 z<&>X0%i!TpCN6x{NV>}`R^-TwOMc`f=MuEZgW(f}BMFMU1KggIA!8;;)I&Bt;z2hG zm-Pg_O40IuDw6Yk1WLm~Cz>nDS=K-&;gj{9g+%z~7euRuOfRC~bdfJDkrQ89l1a)e z8j`%&kmQv#WU$8*h3nP*=F5@owJN3fFK#8Rnl2J>7)9YSRCFf@(!eNuJK&saWYfT` z&rAoFFQ46lHhc{jW_s1EjPQDsPm=4!wpKwZ$6ERDH|oC0B40lgIjLOKCf7n((tU~W zJDnifopYz%ndalWV@wqI?wEAJnO|o^7K~bCfn-b^X_UQWa>kK*DUS2D8#^C)`EL!9 zC2f&H=5YP!;`;a)j-&XmCi4{`%Hf+zCqs4Jv447ob?`J~6fS|ybnNielAtNbf%nW) zpiHRR>$+rfw&}WLBNHvHcRE4z_4eVNfM-YIthDI%w2&2DtwoR)P-!17Q>QtNVsgF2 zQ{oD%L@!1n%J?HQMk-lknpq&CnV+@ zVw5Fsh}l|3xdY(b!O!fGGjE4Si)5p*RG*{>?!egYO}MwG_17s!cARFb7|b%rj;~CS zous03+AShi<}&1(pUXtylFRh_j+*Do$Ot5 zt%m-dQ?~ccN^jm3NWCw!dIwR4O8IbE5}Q+$A=mvT%1{Y7e$#S6l!?NtZqN7i^NRfT zMv;?7lCj^t2cSoiMiN2CL`?+|E(z+ldY0{<=&zT@21k>xaBYqF(A)kblM3~C{wjU> zu(3$a{Z=RQ&T){A+w7#1jLV%!N14NW#k{*-deOw}xFn{Nq6ArZvfe$)T>$SykLAbK zF8W>6x4nM4!?Orq4NMm8(|*bb7KN{c7Rlg2Gk622(!Wfn zIdN4jW$2%@n5WAFd%aN4_ZlVCXIIr`dwC!QaOsf(@|PZ?@MP%`HYI?;l>7i_YelX_ zUZBzu#tssF?@`P&yNrPBSP8xmIp>TZ_wCJixQ)V1MiA9+J~9F_rpsi-^D}}d{3Xi> zD2*qDE#f(?MC(Uiu@)7-{4ke=E;LgP$>x7cg1r}d(rr5u@$3bOWC_F#!BNg|!0@FkVns-gA}>A# zQ@CJ$LzhgW(k08d(Lp}lE+USBEfwbnw#DDv!%bjjOHN6({vLLWU;qHu$0Qy|=6F^2`_+UMo%I2RzzCnh(W|R!iv&{l8PXMnO zO#v@$DBW!uhMkUY)6YJXk{!)Pc5|L1k}E?gx#ow`C|u%YUtd%|DVl32C1d(2s+d1V zjKW{CP)cd^vs5lWlt$sR4yEMAP)gzXp)?BjLupjM`3R+C%uq^I=NwAOm7$be^FwJA zZsKKBKd;DdViY-{l+=C~^+G8TzB3R+xboZHMDZfe%UqQ1O*NY+l86hvB+4%IMmfh9 zdNIb`DJCiDRLCCdoXOlK%DUx3DBU>2s>Ak&$^Itp?>laO=8KmYyK=sGiLvW^&KD_w z^F<2CpD#w??tGB|&KJo~0J9CNWY}f09Wv~8T9JVBvVfO1tX}GM_)F6cKf9$@vSU~! zyE%tda^(mh*Zi;=g-h)0>x=3qMRN_SWK5q$74ySt6#kNhRZ64JrE>XUH42|~SS2@x zRSM4!t5LWgR-^jOM_46ehE=LM=deny46EdtA6BDq6FZ~&c}0E`qsR%Xr1rb07gmX2 zSf!@(5mqnryv${(muVJONyM;9qHI`=a-LCGB_*8-*}Gvi%DQD(r5k5hb=Z1g^>g3H zy0aX-nA6vuuP|oiNunzfv$pY8#@0D*1@G}%c8^gZe=9f&PquDhWbu&F=q#yRemsoAXB`j8jq#Ae^W$L@?#IKZelv)N?d>2^3WFo{&Oe+K zgm0 zI45pn_8I3S$l%Hv8jlU-u=Nt1jV;#?vNP(~{r}e(BQX`c#u(|ewi+sSXHt7D^+vCy-k52r z;6>pm963pomLdsX6sCmDPD@333czzJ*(Ltq_3~>?P3T9iH8nw2f`ouY9PMe5e`w*| z$r6!yyS?cmo4%~pUC?4{GLd6zZbB`z8_Q}RY*3J#zL(^ZTC|iQ+ahz?DyQhP%^D3w zOPUft0~UqjMg`b8YJ=o9hV)biaU5l7d-(3~ta%w_*LkDty4j7gRs&oWI)Bcza)bE_Z7^j42a9`n4xC`3*-7=>^F-E7`9B`;pQOTJx$;2S^Le#+R4m3)s&4B zg)>}b-F?^L0BZq7>qge7uQYY+8d(e#-#uX&tD3N!u_RysD3k83TQc^$(Yk+s(L9ZKBwtC zxn5y{D!E<-uJP%76#iE27oz%kMSc^b$eGTQ+V7%ogC2>SCW3C7nhL_pyqo61!Kvi8 z8VAEP{H?~pw3^P7hyjR1+39?gGiG#fpe$lVNRJ{v!O!-GAPHx#$Q+)zBEm&>I!_$) z*NC{5pV(Mpti%*>NfO5-lVTY^v5|6*ePUy0xl|dbcI>R~>g^t=?CO}Dm}so7AH+8& zD#c2zTpX^Bm*jIBjWxS=>@02HQQg(Qqg<{GRI2#3v8JP=r@Pcy-QL;Vy&Zqak6Rlj z)~n;i14Fg`(ope0b!4)!WBRL)Pu>2xsoNi)`pT^Z{8X5_`+*mq|KP8lz4M}p!J*1E zgQL|Ud}HH+VSH($aP+D79+`anSI^!x*;rK^tQX~*5=HqC#bo2nQ+IxL`oS+xf8@!j z`#%5T)88swFW;Lu@|9<%J^^M8`Tfq19(`eQ>SLcMbm9k~@I#>kf~FpuoWAQLQ+GZk z^0#?>wW!tj1V*tsa!9^TUp!PAn`{)1-t&#Admo&>^TDY*KQ{Huw+gnnFm>-oj@@yu zF#YmJrfz%u*h62QYTRA`abdb~$FUFJ35J2h40|o}q~cJmR4I;?ZWf6md9v}H7oWMu zVL0`HPaS>kxxz?oM7~ZkMA1hce&5tRpPYK^gI3<1gT1eeNeu)5WWMr2D}j#o1JA}Hx^`oV7=d*s$a|KNDJR39(E-cz@K zN}8rZ`xyTCcj~?m9l7)CQ+GT!{lHVwZswCSXgF8M)RW&#KvVZVdGxXOBo&;%$nC7` zs`m7jcU3Cgou%y+Gn~7-d;0OgosQn_-pY-j#;a=WggcR^x$jFHJkSu+ctMP!7 zjcdu(JSU7FKKjH{Q_nq6;Lk?)sr&A3qPu}=IVY#mZLgnf{5d7rUjkW4K_YGH-VaRO z{&hP%GF~#2k@QJJ@!|`QPQT|#GYF?Y`MK%4o=1;E|3;Ue`s63mp2@L@s&O!+zEXPd zGw*||nSS(65YV^0=hIW4g(dDvdTisARGI26qhstAwC&MHA3ys1^Ha~>Yg_HkQQY-1 zKEPOV&Wz`rzV8;a&5F)tW?WG&}tyjs&Kguw-@Y7 z;>2g3n*PW=iCPkX-`_}D2Hot)W8o-?NzoQrotmnDtXjHhvT+T&ntpWp**Cs=^tmq~ z%1%B18%OSW5;3t-nELobP5QKEpoKVHT0XipI5L4D`F6^&zvPPoqH@9DNO`PFnIOedi8wnCr)@ z^>Ktj#8=20n<$SL2L`J{6|`dSvEOJMeeyjf_##Y5VPX1_y9zrHa(`p$%MVRI@iiE5 zU-g#p!g+#~c7@F}m!###d`%aey%m!h@}2{XwG57sJ^4O4;-m&v0?b4sy% zuv)%J=a8jJX>@$>5G;EYbU$|MZByTxoc_$Ma2P4cubzGQ*vCI{P%lirh&XVxd+f-vaHReXMC5b3+@r92wG5ge=Q{VW_sXIT8 z3=rlBMpwu{clI^N#>dHZU`%)QOHEfl@}(~o2Bo(Zt`nJ;Nnv67vFBcVE(}LmCYtr~ z(TVy&!+NsunyGs}h;;wOr*8#EGk#xu`U5XM{lV!6@0fb}u|VCFR`XgmS{t>j&Yybr zn^SjuYx+}n9((lbQCf@Dq$|opRY|?15|fQ>(@)=y&Xd?I5bU5e`AV6%j8}(8ic(9PjK2|e-F60M23wvv%^NuBU-U>i8Pya!niy!hR^?v7l&(=i6OX-gQd>N z#v7^FbN3_SOn><^Q;$4;G&nLGY9<~Ge57&nliE4;?} zc>tdTMErTPkqqx5GBXCT-Ks#LcReq8No0DN<*TKgqz4OoD8;?OjJtw0fd08K{i!>q zUI~2Ac0` zYutqEe%sH;HJOf?j44UUk-#9%zWDTS2F;vdY4n%Ipo}8T{>Er46EvgN^%$D^(1r7F}qvHJus(?F^}u9f|I}0OFI;T-!9!v-2Z7Oe?4yr;X8IHN zP2KrWOim6)p&Yd-NTc`P-&H@kl`?S29{DOE20^-Fur}u3=2Vk`?9#$YR`u#@O5|SDe;nlgUx73dMo3 z+HleBuGeFvxP8_19+|=4`(XZruQ^vO`Q+kgX{?UaU1XbS7BURDfrM+~4$b(N>4|*! z*!JH{j||yqF>7>iVQM%qC}|9P$&}6s(`@j;J6?R|>oE&vIT*f@gxZwT@-^A(O!;Ox zXuc;Ev1(8$)@u`En9;~m|74?2yw$hv!<+yb9)0o|F+HXsQaDm89DTGg_5RzZp1_dK znk380XrBFbvhkLw+rKpR?5$XuKl+*5F~6Lpyewla?$pWzW(jO-nQh3&!I6*9sq1VP zGuaoP`CQ?e!*)#P9)>-xc<&cmaP`H zethgO{H0VI{R@j@C1jrH6Yy?tH=|CRG=DF^g~N{U0$ljko}zHoRoCwo=|Ro%cx%ba zhfA1Da{Fkn#A670^DVa&E+~}EAIZp^{>Z1Mo_Zg0qkK^*Gs9fAk;aRqaoM=JOtO@( zeUPq12R}GFh?8RN3JX)ueHv?&K?PDSn(JzLF3UF5aB1wODp+3`vKGG~A7bZ@6LL^2 zCr3FuoHYA2n!Vmsv;42h;jeesxarVDfWu2mI4O0t#qpZBK}=Z_A81$?ho{#`R3LRa50|q2OU_jUy32eY3b$ghOiHUic z=!l7!mzj>3DV@wz^h8X=JoG%wM8|yJ`qtk6?PMZsW~PZME6+Lqzt`Stuf6uVud%TQ zcI#4x0}uk_E$+!9ZW76BS`#J?t48zmh0?&~VQl!%j*gGOmSH{#GE=HsN8W&wI?8_- z()J+wsS6icVE`NT^ZF7Ta&~Imxz{}sdLts-2cc)8UA*ql%`>Jom6lQ(++bcaL|;5F zwTf^xt)u%l3okwb_qRkf$I|&{7EkV9{=Bvv$$ z0_z=yqj}-Po6WZ`mS&y4$&qMhuXXi|tglphdN*`;RyWA@{qY4Kd~R@Pbe!hJiNRr5 z8_0<7=Y($<9lw1NQ$7ZPADV4?ZRn|lzO3IpEqfSD&iWm~fNrw{E}HTkRs?0Z`rKf3 zx7k9|3GC(swodHECc(k|@lK%t%%<>#!P)W3)ZRQ6COC;7^ZSn<4<&Fmjca(v!|^3% zH1R-fiXj1w`a{jPUw}9SS#RvVX{s8F=bi%bl4)361~aFTuelU-&;Hs!28k2Kz>-{yAu`Fflt z4j|k$&BxzxZV&C~@MCzrbTDzC-B)i1h7fQ%yAdzcy|Gf=u)cq!(&rHZpST&y%1z_I z7+hk`&*m7yAT0=N^SeDYZoO#-9UgLWH0qzJ3=hL22dNa+cFyje zh2Nh8Ps+}VW;62vYbqGj38phym^;>d{3T!p4oEr==yrk)qWR8?3BDPd9j<{MPkw;K z!R2pT@cAlE@hnzgKxNmjNDUH9sXq|tWm+(cegb=cSD*MUfNj0=)|>y=N1wd)<^;AK zJ%&kLK6@m&V`}2>YgOBr_Q}1N&Az3_-Zi*iF^pk~_;~_^i+^XQrp-IIQ>F}GqffQI z(0Ct6Pud@t?BGzE+(%jIrww92L!-V+08+#RtjsMm&MegT)8BXUJU8okGX=c*e0Tt) z7eYQ{-^ovkWR%&TM*T~0FAQr#2Z#2$52aE6=0g3T+$3PqvSMbp*@$;&Xr!~!RqY=c z?&;mwGh}YnKfS9m<+S@*1yJCQ4Nm8!l!W1?*6dR!YK>b$6^(~qo z+Q5Czjm(&M05}SbKxUG-30L+VTbw_Is499AERIF%i}VKPytaOM;6*@w+8}%qwu$V6 z=395O*rYr0EM^I$tB5q`wbFp0_)<9u290{{{X^!EfnwnQOY&HNZ`6ClTm=$rHBwWFcKj9XrN`qy;SPKG zA4xnG2FLi)qrZgfbFuLf(3FP6IgeIEPD^iBaaaITjO67Dm*Bfhs632~&eYl^)@r0U ziG)*#z|YMsy!8sCjmzg=z5Kx;x@V6*iC@#{SVWJU`EH~RGs_HvJ(njH91&O6!oE{W z@co~9Bn^l9Jk=2>W_}GCR<}4W3jwRbY6M-Nl+pl(<4=bXEzk&NMO~?28Zq1;o|@%s zmhox^L$pDm&43+E8yg&)5g+`!^1zW5V)?F2nll?m6L)6>TcVND=mzwYAZ{pTzK+|M zE*+=q<(aoLua1F6zt0%9Mtw^*h4CX>&jPg96>${5Tu`NB@;hY-&EyL5RNxs0=`88#il zM*b`e7XFpf(k~U{UfAIf)2u;ovEtK<^^D_`$d%ynwwA7n{OTS zp&{^RhB4)b5#$ItqQQb*Hdk`pD4J}$vr%u$yu!dS*JK|wBNYvwqex)6Ri`N|;Wm8P z?zdd_!PRRJTESEi`J58IjKgW8GUWv(G&}Rlz;re+R(qg^P{!L^z)a^?y$`lJM1}#R z78Q?g41q3z{ld<;ZSCe~Vvt*nxG^*6wmTEKr+8bPf2#TDZ=3abv55r#VRp4mCVMq+`kJ*#_hx#m`PJofzl4EsjqwV;484ewoC4Tg0KQ&ApvNTWC(my& zvA4jL3-22uKLfs&8}lbL79*}S_?l_g2~0;sgF8Ni+{=~#1*UW#=Z7^=pC|kfKkqB} zkGU0uA3tOb;V~NnLkq)Orglwlis<6>Hx<)NfRy+EE^SzaH>K%71q<^>3$w4sak*Fg zk4DM_<}xHwL9(GzFxu12$?``qOS0*>5ShInUp6_WFt_~8R2nIwB;HL(D>=z?xpm+ssqJahr&^-~6luv~ zGT<-13#TA#LUWz#hQR%Yv3~H(;@Z}gqdChE@hbL4Q5q&p*!*xE%__D@B1Q2WbcEHw zibO45E60SQ$gDS__0(oqIGrV+oC|NF^?lWiy*<_SJv}{LL$yu|pziIib#AQob@gss z-`zXBQMpIGy`3Xn{UaL@Qr*A4vT?nh+}PRK-#fg1V|Ao&L$$Y8UsfvB;r{-Oy&G!% zBRwOG)Lvcx|FM<_@&9jR5k@{#uta=)B}D-8SoZaT!QtAnT_7If zU{TG1FKPdc`o{7YS7}>7N=tTb8J!<8edLF6Lh(2<1+ip8fLNOwEMqTN_mS)cg@ICi z9+M)eeH80Jqn^WF3tIq(lr$OFxw65bFuj!XnD+hAZLI~BzrZo`+IgdX?T0G(g(bI8 z<;k-POBMy|%s1+Pk=@9GGTo>j`ZzRp7X*30qU7@twek-=oTjDsu5>sl3YRF#@ABTE z>PS~#SFL-fx}j3ByL@&1Q#U|pNiW`OrHR7lwrJ{K@W0J9Uz%^uBlib4?pLy}v~Pp9 z=U;%AM|H0-4(4^`+_OukU$p@K<52pbTf?_|W#7rHTtbm!eRqFPty<~r?OI>y>F?TL zGQ;}rO0~DEzt-K^+mB#9t6uP_Etb0}y%Yh7`sk4q%~v0RCTqUK=Vd972w|zL7k|M- zsqyIq^08dY$joaVc<1u`oAUlMHE(@)t#4?3*Knn?udBbmdqnf->**b?^>+_dI@cp@ zT3Kf6E66#k^bYm()VjJh>dVht!eDi5!cxH)GuNmmo+*eBHimw=SZ3m|{MrV#x_+d4 zxNGB3bz^PA`U-V_%%#@b(^;vl9~#+E8R@BX+n1OMOeuX`FcS3jZs@l>#n1KiRCTl_o?KnOhJkl?THemo-gf=Lc!*aNZS5)?AKErPG65^~%xL>|hWo-*iR{JZ zr2|)9K8Hjii3GG_M~x%Udi;V!+=ckhHx^%=4{p_Zr+*Q>9y3f=n|D2h{vbjN-+;>E zaJb!blfTt+a~k!@g4fCd!+rK2GCS!bE{BChBiX+sv~PzNm6^!raufMs1%mlErIgUZ z^x`3z_<$y16=-VI|CI~0JKR|yVrB9o(j}X(J`W2EP8QyW@ddt92EC_Rehc!H^5sNY z|E!H}N6_J{j|b4nT{}p&U`H+)lzC0YGcSNOFW*m+P(#Gm!m^)u_tiD!-Wzr>uB!K_sfSdl|hPs zSs-`}>r~9)ILsr+2H=F!cy7(b!L*1oTy7u(^Z7x=Nhx@Z;2QP6gS93Omqs3${U(0T zn1K*b6%9Gu!JJ9BG`a!(Wcb>mHiro=L}kV?lcCv>G)RjcGCVw18@~?!R2d@h#>)$b zUgDS43QW=EfRPLg1NteL*~WJv_ClKay*S60&z)O%A{oV)6VwEQXr@{^!la z)`8$Vm|hc|rIr9Q;~T^;XCV$gI68Bmr&jL9aumWSc$i9d5^(7Kk>FEcHj&SVi5OYC zrGh}EJ|I59l#s&W-IPK5qAz}>RmY(X;#Wr|rXH+Jp}dc!)F1%GGsAJ7s?l&RcB9;y zYhH)Gs7p_t3;Mfz(B+@JkLdZAEq!srFurV1Vsy*$dWUbxI?D5c2!Y&p0K;;Rf z+>q^~#82IEX7792mtKFy+H3Z?Wv(v-^Jh^d0W&Oy=#*yxx>IfeGm|4DMxlGRt zkBtsV$3|?eB#7kp+i$bWtpT?*gSsfZw}`B#bs{@}q3&~3ShL@9Sj#`T+F^?W*s#|i z3Jn7@9goQk;C`s%fHU<|1SK+y+$!+k8j@U$EnhfulmTd#|KbF6@Nl?N3;w&7V;k5n zn7twglp!6y?X3C}gCN1k0G6_bJXkRAK3Pwg9JOu~fu`i3AwZI+DR*0xp%`?g18b#W z;f?yeF4M%=OGSs<`r~nC1dDxxV3y9!JgxqFfkaE=J6O4htd52U6x4D%q*G>?QygPer!)dm zB%~B<`d?I>AXqY?tk@e@1+ zhG+P?S%WL=lpi-Q)#3}&mPPaax~?QFuEp81Q4NT*CtFq(Y3_*7`jK=EH{S>SfDVy3 zfv4a0igdYCn^}YnWdJ^Dw(39>KZYJeLI{zNamZ!pV#U}y4Qf!X$w0{lU+#+Va0wFg ziOdln1Kbph&ESiL8O&IA#vX?cbxSefDq9s0Nxp2~!_Kg9rm=MKVT|>Mqk>Z+T$|9R z-16iUbO&b=;OZ=zJKHqoupJ^I)!8bY`|Nl^diEQ_wtz!aYl=w!BOt`_43yPN)P8$@ z%HKpFg=5GgZyHKqI0dGXq0)#e^QVcWVHxgEYq1O+F9BQ;R|JwD&zA8;UxKocMkG#bhAFF70n1{2mDvxz&Cs z`_2I|xOC7ONK%#5o}Whg5%y!mQ){5ett5)!;V-SZICdGLc)^fEjJ&{t2RmH*2u>?NHr3IBZy<7B|lJ)czdjlu+hN zU^z|nc!_hg0;nB`oBn|78+W(d_oe5a&+8jkA>0;*Hh5p)jtf-SlScjSSb z6$vI!qJE1T+X}i0rRq5=h?-5kxSCZKhBkO+!pOjbY%#C`Kovs;Rmwb(Ed2hRg+sqz zdiMq3yQ~mp#}zc5CI8k{hlNMEx{xcEfXU{6+is6d|deS1Ll^v%c}&o2*ALa ztd^M!tn*Md9WWKx;XUvc{5pr$_a9$;Iw*iVl%#P}hV2&m?i&MPvG8~ad`SHj(m}a=dV{anSacTa| zmdlO648DoInYBVRD@(h%m8u$fP&Nb7TZq7!QH53#l%G>o*aY?bov23#K4uyRx(OJ) zT5`>gZczW62+n;Ur0*du)PbIOLvzRnv4sh&qYV6OIm%jYZ3_s?fp1(j~&e0=N%F zXJ$+T^cP-2)bCAL*RhK+0dm}niT>V$9-^d1WyZpLJ>Vlm0(fl1S(M#A0|!ZI$tys! z>3jnwF7sn+o|GaeEXD~<=Q2;F-JE;^=+;D`i@SadA7sE3#JcQUOLJNgq|GX$V;YM= zR2j^*qVnWsR_B#1EUI{BKn;7M6Mf>>I*=vsBtoq=j9r9DEU4zccN%C3Gw9488EhEd zz+RJ12ed#fSCDtNTy0ctGp@`6?L)JTPpz=_3^1FADY-&RIU{nqB)q6m^x zqQhgjw|8hgYBpEL(Tr{a1h{(+H*fw-kHLmaQvEvlek$qg3d>{}6SQcS>y#r2SSsN8|LTp(XV%04h zww&*M$Z~#6!^^VkX)(G6_XX`(VL?7}ens|WT#`Or)tVqPU+os%x#AYJSdzy6@ICT@ zb1Sm%!h-anw4NeWP`Qd>BaM2mBQbu35_Q(_#48)&s!>cpI`FZ>2*)byd{9>DlU3uK zI*Z(;FIlZmj|n;OFfMtdh@slh!jWGgStca`lg`t(!js5V$^(qf7)gf?@>-p87h1y0 zIgY!Z5988#oJeeCXD3=9)sw6GDv;$+>pm2mbP3{>h(c z2NcRgUqmP#DjhV0IE70vcj(h-EeP^Bv_Z9he#YumocOi4maF{CXa_Rjaa?-kO(m*< zDFONS8u=vytHTIu?v1fqv?oLZ!>=*9wuR?TBlsW+BW;=|LbjF;q44=(xN6|kDop#W89|2%1)eHc6#Q-T==3(Y~XEW>2WI`n-2Nf{}L zh#}G}b!xds_N$^ARBRlp%>mJGu>GX@?ue0GEdh89Rs$5M42lgkHdakgGBIge_3g=3 z2qA;7s5YE15GbMGlpA^#5V;CLPcsPujZiiP53Yi&xT=kTj0{)ge~x|NF&2d*bz5JF z1foGCOq6Z1{#2A&Y$_0?0udZUIdw$wX`b29%NHAOe*+-(<=^rCwHvb(eP-c-Wzkj6 z$jsq6^8wow?Fbd@VoB0E5>1z0-=9oQOpHMsVYmfr)4cWU!lCmEM_yA!S{wg(#0H<; zY%9b@UwQ5@(v{tZna;*SxQ@LkGQdetc4Qm^sULZEXMXfx-OzP@y-SSt;ElBrbB<(= zRe9A!cIE*@U>1N>C&tFG$8JV}#{B~o!0~`6m=49e5KBZI~)Rq?=_EE$@C%o~6TV+NY$ETIF-C6;Mw z)c>luG%J(Hs(ORG08I>sb6H0l+rTn**{;B!MmbB3gd1dG3#rZR0?;XIX z9>WNY`gaR35rVmEmvj2TX`G(X%Gl^Xde!I~mrkJp#}lGkEG|QQU}D*t#Js*N zBTu3_b9pO=(XR?b>V^z-Pnekn8C}aIS{3drnCvZ5o;MhOpsfDu%n1uYr`jke0|XQ_Up>`)+seZpdlNUtl?%tfSB8gC zO5Vu4C^yHEaiVrX|68TCXcsUjWQfH_-q%1pKL*1_D#($Uw0G$i*|kRJYm2q6E})Dv zO83|qoz}fs>(+M1DdyK5I^{`-m*Aq;$~2Ykj&ui`^0nHYL<6+mpYIgr9EE6&^FU>4 z6s<^bm^Mm|P6y*YnRf{cnt^jOm0c_+#LU2;=YoU6`%^xyE@0|uLu z4}JHPlEQoYP3~maKHIqK3WLv14wG>SaX4qVS!@Zip53x={9ViZ<3M;{w(#u!D3%Co zAvc;}byb#ZwztUV=y5fxWAQf0;V-+SfiI()oABhQE3As-Gg;Zo`j|>_o{l2VpVU%K*(({T;W<0qG*RbF;*i}J}`R+Ovr%0ZD4$1@R@&*oLCg>sAIS=}U% zLx*II7cODNWS7Sd!!Kq>fVk1EjBgfRc#W0%vz?_NUVf`^RxI4E46x5Pu?R5e@&#~# zla&v8%ke#Jc;#j;D--1yv){ZPXu;byb>=@U{t!3t%$3 zF1Z^r$UVurAJ}L6kRCOURevTeuObyH(g@GQ)~0-ZmSN?AWb zvLL!?r5A9cep=pR-M83y$ZTL!YLy9~3&$^^{~d{>K@;f$W+v_4K)tB! zOU6an#wNLY)y`G-#2Fg3S6J92JZ?%}_HiI9^Fj-4OiP;DHOpFs;OPBYQG$9Y`YKgZ zwVDI~lN1NknaC1%HtNNjU+A)Zh4g@CLnsyp1*I|YeX>|{yBE&__#<@WtYVVlW*zu? zK<6=-8s-y@X84L2!86uwCCe&!^sK3i_2;4GE6aPbuWCx6@=sXVmY|v?6iRN+rRt_SI&TvJRSf-K@*I`Wz~Y_s;#;sBVT_gS_bMH2+T4*mQrO*YvHHW`O3Q>Go= zY6UGJ(FBAzu6OIe^4379p|?!4a4gUz-};DtwQxjjL?7^aAIAnUyBxbL7vm_@up0o# zWz`$y^g)PkCKi9YF#PV?)GoAgan?Dg90}0ikB}87wkeiK`tlzW7D`09M-xxs*|4+< zELx?VSgk%=-PWKMul}ecr_FSXMjHcngDyoX843w^yVh+yJf+F5c8{*s3z~G?r|x!K z_$-zg=r64=)Pol-7*be`uk_;kmL~%%Tb|gm#Ie3Tk;hbLAV*9@k4{)1$#8o8Y-I=P z!$2zLo$3OHDCUy6q82%HT)+mrrPBC;+Tu?o6|lv);83n(7^tL$QdCp`qmIsONa%;G zx3yf&`!bXAw<$a!+^{x0J@^l^6Rc@w?M6`PO8PgtbDVh;7G8-nGT7lDTX)krv~__k z3c41%;k^1TZde-1SGBJ)`YT$Azz27uz^XYhq`1;8Zt8SkF0^OD)#*M)vz_>T5TgAW z_2OX)b~Rs63~0Gg<~3MBWKRmA?scaUuzjSQ%NTQ;^_iXS$bQhM{Ya_|?2HaLhr=@aPXYUxFT z>B+Q^I9l4Rq}qWu5SJC+^+E^O9E`&>DGxD7woM~qx8sME>Fu=#`41~6q}>N;;y37y zN5*Kc#FNuCYJKq2=zY4OnU}^c2IQ17SHrYXq?Cx`%o-s_wO+bcE65ILuJ_td7jg`T zdN+*V|Cm7te>~`XJ^Ih1^=@UT($4}8tLvY(12;Od*L-v6?xc{BEBg;Ok31@2i`Jfh zg6)XK5$?g!43*#a9Yam~#dl9a`~sPR$zVgqrfVG(O*&YHosH!trlynN9{Ws$Wo^V8 z1OFbJHwO=|z&X937!@c@$iK55rd8|8z}k*TuA6%m>_J(6x=3+R@SH&JL}KQ_r<#Y~ zrWkJw=<>xEmfm{?{+qk9WASDY0i%)vD_*EJSJ0W{Gg_BQ#z*Cv%|TF`dStTERF zJx8hv81HkHy6D(8(sA>|RL4(HOt99`-rgQ4W|<*xLdQEAU)LlyWRN7|sN2D%I<|T@ z*ADBGkstN)*;kkL9awz+QR+sm|KrH$NPqbp+Zx|yU2i)Gw}x6B6XV(8R15)Ejy|v-)O0U%j z!IvBQ`qz(CMi3wYf)s^r=FKR(=teD(k&3E#Z0Ov$VSTN$R_z?B^^FXvE%c|@ z)#{d5m+VGeS(wVgyBC*_py2HIVvbEAtRzHGd?h=om2dDbSkE!Eh4$Og3Ojfq4&bOz zIR#2MEPNrXq>dWXC_Ej*eBp3pjZ_s+0)t_1_oIl*g7%l>rZ5;>$k{flAxDn1ONOMyB57+M zXyaa8RJ4Btrozxoq7{5U^zw{Pi3d*oyK1y4+N>nuDxO;wWo^%?SID2hK=`WoXOI z6lZA$v~H9^Ul2`!vtLcFYKW*!NeJL39;A0=YH$R9v!&psY za3X?~{p=B(8tE`NFCC7;ka`FtMRKBJuhr6s8zriNI!#EOsvsw3J=UqXy*RoS8jelo zz^8%2MW$j}qv1Ub6&?7uJd~kY7w$(*`pQ!mMasyKz*1r_3jLbm%hCPTGmB3n7A=jr zfTEP;Av{|+*ln;>qOM6i%-8EPju1SD6f~Un;xw`-gLaiYKw(Ho8l&leZT&snU7fr~ z`q3+=v%e4B0`WT`ATfCv2ys`6l>&*Y8QhZQDd%ou{s@f$-e0o)_kVZ!Y(pO@z|c;5X6fMzXgG;z7EIPH2ll+6Db@v- zFr!3+OFGL$=+enilt&0xA>R!#I1BB5q2{ckISNLCmtLbRv^8nYqk-lHsxwwU1Cbl{ zpvU&pikBNyoz8%S+SE9@XBsh0nMbZMuojf0GTkZRyRnt+>(l-;`Wf(Db2JQOXv(_Q zTt0hn@zmislA;4QMa+W05ZeOM+?2GL@YuFCl2?3)Bx6nqJoNX|*hf8yT_Mj%;uRt3 zvof8e4`nG2$~$fbC0DCp4aV#4?W}C9peEXejq5j7HjcE%v7^D+1qK;DhZ7P|cGwbf z>F&#;7GqlPxJLc|@L<$eiAqNxBI@;kCxpo42)r(wcxmCpaZwhi$>K(EoKXM_91LW4 z<%L(EAAzChkref~Ba@$uj`wsYTkhEAR{+Pe?m&zCZ>x z_bNIBCRNa?83_GK!SHc2lDkIH?<{Ifb8SEC>O=J1eYHJ5Zzmaphj=&9OyR)H`LLr* z?nSLeq=(Ir7$RBNyeu~VLbc~w4vy0w*jT4 zu&(Dj?f#>rTajN%HR4us+Thqi+4afMA3CH9DI{{*o2q^N9Ioj-{n)I~tAErWlpb zS#7_Of31cqQL34F|8Ny1bT@)n5xWKS)oRZ5ix+KaO!`j$+DF|o&2iTzh^x@x)6kV` z{Fuy45CG7DrkYjgoV@UGyWnRmf}s#uUYrGj%q9p4)%G2=nbnoG$&d!FB%6~VqoG6a zJ3?bclM|q*0)-8C!0Q&afnoDPR(4nfOTbk1J(PaKAFJWYcSY4K7z#rtGBB%&YQ;UA zfCsuxh%uY=@}sNeAV$9x&t|6mUC#TvoH)u&q5WWj%N26TzVqDPx1Mc2^adluDlJAw z-aYz~TQkhTDr5_ASW-4laj>JUU@82|9CmG}8ak~Zr-YsimiF&~x&{<3yz>~eVpzM; zuGv)%Ga91ae}og6EL||!U5mktK@10eImemyEjw--yz!n?n<)J08Zx z`PUa-cqs+4?>t=tEr%y2&?K+QY0J_gmZBkW8APX*vz`3VMXE4#@P6|Cif}mSLh|E> z&}&N)q@y?)kfy|P0k)sa%a%yz%Xt>oFpW1lMD@sd(M$+xxW?TN0O;G9Y?Rv#VdJr?$@LW^Rgz|C_|+XTQl7vSa)Zd;L}t8jh% zRe^>lC&%`NnqBaec*T=zoAV8zAO^JK&_eddQHWVywEyOgZn~{tU8r?7$cB=Qfv;j` z<1nhws|%R>3hm4W_9R?gCAxOSFtxDwKE6yhxKOX+dCZ1k6^*ro?eIkt8DPP z&1n0DCXZv7or8@jDSUZd*$Iu=BE^i9-Kw%DY4lY_%`(u zt8ko;^f~?F<%@^nsRX^F5>>d5cR^Za)7SwTh26rOh6G~^Q?|T@W zzvdxE={wuTXL64tL`!j(){%s+WL&czw?#M#n>)cyvhwJK$fOivl{>=MS*g$hH=C9& z6L$igp2E*~0{TGwrNl&sCqneC%iI@$N=b8yw!QKTdb-7&qvt82RMZrX=^WeJdl`@1 zvCGKa?$l!ZJ?5x9KseewL}|`V_%!jHcmqN_$^imc^YHKB=Efuzo_?43ni%?f27_T6 zvhrV=Za8z_DB_Cjag(!ZVFs^zjl`QTKHNNUQLAgd`>TcdhcRLC2^HADjSvB3Py;b( z+9!>9#lamWL~@W<-)TUp($GhR9=B|ze0!#{n8h3#7Rme z#_g6Cx&5N4W#Ad0FROtHUs_^IYfH*wkn|)&A5J%{HN5wbI(`h56%I!W4J}A^xOI9_ zS*`gtTnTevW+YiQPHT@Pf`HP960=C5$bZrUMc~&_M?-`il18pPcR(|Q(Gxdx(#vN= ze&(A|riV)(M()-ZxQ^`U1f+ty&5o|%wcfbZ9TFZuk`1>h~ zV7NCypHJ{L%vk2I+~EzlAc^3bK#~#Wclh$9(+iCcNGJ!;g_jI(5u$@~Yajg`{wPs@ zYwN4;pbT1Id6mHjCPy3f?X)uEFB$s8vlRWKXbzWz&B5#Ut(mlN1aT;vPh7w*W;k7m zemp`Y96z_G)o+pS4H6IJIj}ecUo4z{TvUYhH;>O_WqEkV>9MoNa_|birIE_$SOM6; z240S(6+mu;)7s4wmJN+llJNa?BhXKQ@tf|v^Y%M&XKSyTCm&rniQMfBE6+|)!Gm~< za?3m-^T9fwmk{W7Z8Jq0Q>3`q4k5&MnL^15TaY6Xc>f=MBgOogcNd;LqP2-8M6Hrl zV7Xm5{8IA;Os2m0<{{i6i)uOh{JU39{FYyydjS+C!>jXTq_1V+p~p#1kb@Gw6ERLV zQf2&Mh|R$liP~;2{r*hzB0MHIsK=vqss-vTmR%NUAgZM3-9e8zWepVk-??`OmEG@C zkqoM67VlAGgaV5IMOxh`LR$~sAg(YzG$)SAGkBYYh!~8UVKd!{UAgtvM*W|0B;;b( z#_>Fc9RszyXRkz0DTkXyD&G(+($*<6v=3*`Xk`xB;z=mSPC&Ft+I~jE-_P5B<|mY< z)StIGZD5lk=kc3>ao}UMJ+-NhnTh*r;|Rc}F)mAE|NHslsUVj$FI_MPMov;F-I2q! zNkp&hp&1Q!T4kEuxNzhZqzENHV^|wI)&IQ1=6ZMMrtW+E@1M5^)F_-t>>SfZFp6<@ zM)%}!pGvWlQ`B5%P~6)13+4Mow=h zNS1NO#AEYu_00n(n)6TRkN>qRtQVF!tccab3rp1x$4Rw@6m?9C;Wd}Z7 zC2eXaORt#@?nJe$vg|BD(^#izTqW3&&n&aVSsXh*bhl3P!|FA#g3sJH0aK;vy1bF3 z3kaHKANFd6W0*JQcvjcYUc}Z-jEsORtfbk?i>H6#T0%wwm$HZNA^kS@A9V$#MRptZ zSa&xpRv5|824c<%qQL#=T(HZuQg~Hn5Kjz4^^awSLnB|rF#wh%DvF->KRAfT-MJ!{ zPx_-=QF3z4$wirbJCVQ4Xt%@`LT}iNxnuBtc)L4Ojl|Ql*<(S#;Jo?Ghfb4 z4B;nUTq6j(R2zhL-0a9_>99Mu!x$62OlZKZTo`Kv)Uk7KhkPPPXr@3P2NL6=-e5W= zWEXgwK@PI{Wu3`tY;(unttjA_x|Q>+ZP`=jNtpCfGzR`#pwt`Z^(61zr-~gf9K#ET&@HATRgy~Ooc5a@&0R9Y~h_t@YB0cymrQQ3_VDiNJ?L>ML^8&iOD^8x51y*mZrK4 zk5*^y247eUO;PDTcQbf|PX7FZHcCEF6}dupx8bXQQsio8)RK%V$7)PTg1t2^voUax z`un*fZgRC$8#7BRSWrVu8DR8A$iu-sCbsL(pjLx5S<|esO$?PJ<-(|qR3zd(;zK^= zIIO_pl^Z7ZtnTfW=M8@w%J8CM(lI{)7r-pavj-Vx2KMOenL!98^Z2&%3P<>}9UTZc z8s^Hrb4wR#OF%Oi7zTNfW0g9qfj{O%Wl$`-3-Q>)kZ%$^n+T$v5O+owqeccJqD|%K z6V10DfzJUT+%;^q7F@VBY+{Mo6_mCvW%0S~lNfMk0galpa>__n_pD|?jkQU?&^pM< z!>BEMUD4!i-^k2ebY7+KbCQQvACRc5Kk;_+g?-BN0&o-&0`clFxXKBU-mFpXcsu_z^i)nFq^7F=2+H9=en(tY zNgqtNVvzCmFzpS_jP3^e-Rbe!U^Et=tw0#S2DSLX)8S1vZ_edW!%-tVQ(#MIT|Dr9 z!rHHp9Et|245{bZC;mt-0QFpwaX9M;04f$Nl#9~V(T9?;%I=|Ixb2^Z{bV(egs^(t zCWw*;MS~y;k}3Sc7F`BQv^NB9)X|d0;(S2M7H|-XTItZa0o@x?S^n*dhmt!`w21#d z+P{Wyfc0F`aY+RTVRODxq6gIX9hi@Cn`)`J%y6$$PqX4Z7_!q_krYP@PJWy&^_}E! zOxCklTe>M<`-LV?PWX$r7-$_DYMF+Ok=4wl82v%Fd2Y4$l&7-);K@^ejB~WQ?M>z0Nbgh^4sU0LRo+ zVM!JtH4!o7;GW7_w=@OYg@CI(EqN?`932K$7%;hzx@Pws+$BhX-S)Ft21SE+NXOxOj8n^@hFj9Mlf7Hf@6NyWd za1cuphgRAhR6pb37&35{Pz(VCkP2ujK@eWXSP-irqrh21PKNsH!>}P?`0Y64qxb{#x5MG9?~?CVV2a-R1OEGiwaNFnnLkLk#xn-Z zkm)agMi9mWs-$Fx@9b!4&hV!~9Whtnvsa$JBq=X1dlyJ4T?8q~SMcBA@70`0i`hCr zP1)XV2bJ3-cF$W8ht3`ZyZpp@97CnO!{1nup1EF*j5Qk!FIR zBly$cuyE9fP39N8tgQ;~7+(piJ`=vMor5-oicM3ygaY#W#G)M(L>nJvnaOX1deR+> z*JD^5rX!&{x@aLkX>dwwGE#%fD}Da2jS5b?q9nn&M82m$%z_{2Ik*{NT? z@Tm5ndHP{|zjW|S^R)}ypsmT48@9n8d~)I8Gxf@2*Dx_&bDgGzR|H+}u;c$(6RWS>pY&m!<-HS?M|w4knK zuPm#ms?Td8Luwv8gK%lEETlD=*F3qehRQ}U-)HIl14wBp;|Pcg5f`8?Zi}XsXLk7r zWmBAOTfD`~HzhDLTNh%q%$U#v(aLa>%UKXafI^sRz!Q<8usQ&s z#*=$Hb28uuv$C-9MH*&M$ABS4SSE)d*KFtil*fVj1OupS={s!7rd!Z&o}IV`b};nn zcnGbrcJTNLoN68=I{?6gxRgVOo5)J7c(7M?+NCSh$jS?~XQ?Y~SnBoT(oN&+U?ykh zTh~f}dKO;AJTPTgbem5gV&J9Cu%3e9F1~R{;R!5Z0VW>ujoVR=bQDF$1Qly!+-IYH zomMR(krWXFWW8WYfCfD`FUdnJ+XX`?d`+1ZHR}IUR`($RT17n23NW1p1kF7cQ^8gu zOwZ4-M2XBmw8V)$B&Ab;;X=;Flg$fHW|^;*t!=&AbIa~_;SS2@40|243<69#C2j|P zz{9Aja4HHIHkJ27B(u556~xzN4)Q~c1{^51nW^=k9$76Py4=DEkmU0vG$g(a$Bz8- zzWp&|f{)ojVmdiPO%9%7b89 zjMo_WI_WcGr^t?!KeypxDqkFWpHyh3RaLm~fe<1Z3P4y+h#BOYm)=}Fa0^J(&YBXVC=VU#lXmGLXDr3Oi zYc*b(L}g*vf3BnJ#PF!aGHqpe6xY+QBj)4!i}u(eX(OH5#gpqJBU)KJDUx-%1lG;y z>aX>5ZKzf|t0P0zYM0e(`P9ug?%^Ur(`+HEL$L>Lo3YXqyo*CI>DW94{G1x@assrc7-KmVS@eNiQK&J(-E31f5`Q z0wQw|W&gn_3PG?;ewtAl_5Vb;^d7lzWGBN%%T~~n6(SY8)|u&VHJ7kCPH#0??wU=o zL2y;=m9Ymad)Y5(4Dq9@*RZ%?TkgBIC^M}~y&3WKNfZS@$$Gw}KU+SIwg(1`w?_M( zJ$q8{_RToNw+C@tZJ6*O9SCV-c|>^<4d32w!D#}OM)Nj${c0Ybmz0!I{d!22 zs6Gxqq$>o!KZpFmY}Pg)QpSZ_ayNS2b*TJ>*JZQe|7zLc6+*%wL>xV^NeJthoCXKn zEW{A;@*%Ja`|C>?0o~eJK)G;^8@Xbu#kj>kvlv^&cXF#hgf(J(hC^7o$*!zvfV16q zPEUp+jG!0m^g$Vgk;El39|5;m1_`o>V{ z=;WiaYD>a#24VgaP-`+iW@Ci7S`LCzVYc_-l4&0-K(gfM+uW3WHGsHS_jS%)-v%b! zhG-WS(Sx6B>6bK36=|smGKAUwb%;r01FY;?l3kp72uXuWE|fBX1Pg>_B5d1!`)y znT5NNhq3WK3zB81QlK(GK6syk*~v$_w&)uCMs98Cd6dT$nc*%U=rb96A^TTU9V`&; z!7klFdVLT{(c^Qs#$kP*i> zXx}qsOrUU<0P~TtL&@t_X>5IGXCKPl^$vA+_HEoaWM%I*^jG`3da6U+J=LySXTRFe zeRi9b5Sp0 z1b}qmDgc-tzV{+R@nzVj!*!{RfT^Ge6DB`Zt%{K8$h5+u0z+#eV#5M>kmAyr!%G)G zz%`q%$KwJ$A|~JjWD6xLuVpL!%OX@$i(&3`pbDYX7FhA6bwUFU;Yoz`6qlJR&lH!K z${_L@rV<>DT#!{`;TB_Ob|-G~we!TMqLMw2-j$)yOY7%1O`vhgC~MY~-v*X)ztTn( z>vMyTV6)WYCSJ!_qbwj%lX6ku(&;O&;VMgwZcsFe=nU@Y6r+OyJcDm7^&y8>Eln|8 zWT}?1ot=xDJgEY0j;MoTjO#=#V_T3?c@~ZO|Je$-Sy$6d4aMhz-ksS<3-*8<2QQo` z0v5v8A7TPRjs|F3Kn7XccYQzGP!IiO1oHq!6fKe57ANn7Yx4+X3fon~ys3p^UCFhZ zB|N}1ru#E99V*cAH0G7mYm1u{HU6oZ8E6Vdt))M9hkZ^_}im??=zQPcX= zM)V+LtT-Ygk7mJ~sq|D($k{d(qfb_5?n8nD6gCa11SbhVsvL*|hW!O!WQ^7v?=IRy zpKriDu95+i`B*Fy5=ap$0^$b|`;2UE_J19NYWNf7RC(UmTffAWuP7*PuWC@+CCpe$ z@1RL@QG0PDn9J%5Z+X_T0smGJIFQI=~}c|5B!g3UdrEIMIC=tx;a*+oJDYm;w!hp=%o7-L5DCo+#7 zW3rs5?550>tUoNCX+5m&m_6fo)l%|Nz39H#A+(p<-}YcncRO)9I$;U-k>McPes*fS z;J-nLl-;e0b7OF?alg1)V8?Ciw*PVSp{_91TMVc(cOB5Yv$1Qaui87@R~xDh)p{kD zT(fh^13;O$dkb><__;B#7h56eO{5KE`?%o+WYFSjK>28_R`$FYDv}J(A}MVYei$kj zydInpX-C4b@&iqW&{I(K1c=G?@4T3vU#lZt<{X)!WkZ10gfu=O%CPI1!h=^;oEgEI z&ShZ^K-Gp0_KNDTE=pJ)@EUNzV#=tC5O5o^?_i{9k!fieUR*skjNHP?I#W-#YV8S* z%_xMgXPL8LCoGKGsQ;PA!6C7)QU4z$?Mfom5yYgRtzABUKG}Ugo=MhC3L$<#A&1!+ zT{`tBWeT_<9)C%=&z}UcP&9S0Qyud|Wp+Uv2)X=E&0%FMle06-mS{G;bLOyd3x|GF zn1<#?Y=nSC8>dnKybPrly-(i;8Tu+{l+-om9$P&4m?i}Vr|2Ue*OM1N_u$kh?uAhV z&rgU)5Bv*q5M-mm1Q^Xuth|DZawhc(&8;wjL0}>RM+o(3;_LCK;t@C}Gmp@tKL2|B zePVV7_Y`w6QC#36${WsWy4Wit4x&@fgnf2CGK;WUN{5>gk*{<)R(HJ`lv{tAB3?tZ zE|QRd8wBMx21bDzce^n!o>(GEbcNYPh{u*ejp!uBptj{hR~{e82+*w-=|XKd7K|a* zP8lXrzFS4K!|q`a?D=Pw&OE^cb>z4+x=8F6%gR+V!Q&%i6>D1(U$8KT@WMKBsgll7)Cr34)tz!kMZ?y$q8r-T5l(!H4Jz48CE*S(^AIoX3EHpxb z;ZL772fEtyV$;d6Jx#7Zmp@TsJBJOlxRx4 z3WLj7C;KF=knlZ@&+@ohl>i8^fCZ`v)^ccHetn{KvsH7o#Wm`mg|Fd$G63=cWTrO; z&Zc|-k@(}gu0zo5Qx{Q2N9!?8fCpP~0<38{4rdqkn^}}(k?|qtKRw}`E%RS_$~CLf zDfda|PP)J5r#*eqPJ7&De@d$e`;uWa;v$IBoPkR!Uq>mBQHK0irY(?;rh%*f%5#sv zgbX{I_?97w*s+O~NFcpTTd|dE0%v!W2JU_*cGZWc`wL7%=bW;OCK4eQPK{rD!E*+D zK!^C~w_hp=T|WD+38+*RBJP(Xo%q02lgKicKpbdUuKx$&`*Y#^OveNCE_tJ!7{nIB zZ<{6h6;BWALP5k~8?9f>)BGf5G|x$-4?FJd3)V~?yx!s2SC(;y>`I5X zmC3j8vby(5y+Kg2@(+QTj&CqOYx7X|VJ-6SK4g(U9*4aBkye?Go`TeOzRsbmSm#Fu zn}Lvmh1)2gyivbr<&|19+IU{r|<)w`utmZ8}!?5MJR8RTs{ zssn%ZFL585;Sr^A84SP@(DdukhJ?z8a538VDWY>cNmnK{6*jG+6%A1hGqelCaH%kd zMBg(C71M-hijY3tx|kA%z1L1~GJqf^J-Oyy~WGHV`rfIsm!PuwqtP^NPV#FprXZhlZ8_k ztUM!@qWTJ)=+BUgwHE*Xb0ld!jIaSrNBWvyck7ZnK>W32%Q`safrhN1($d7e(&ssZ zP`#x6hz*vKHld+SQ+nqd5ZKg%W(SWqDoyc)5FA<|72**M$uM5UxV$$vQ=%uh6$w@+g5#ha+McQ8%`b^ow?7_ z&f>7E0CyFlwPui%js~L$p-EODQ)?BB=nvULj%na6dYVYRgZDG24HtSOKJO2yBAY}9 zctY6hgQ`%X`Gt{72ZwiA=73;LHUr+QO#CshwA(f6{~MzQ`8nf1a5fcAQhI32U8?eB zeq_#kfKs1nHIuXzuChlx$kh@DJoVwwc_{4aifPf2sATFbQJkL6H zIHMv2)$j-lD3tljb8y>6h z?R9pkvbup?G7JK7@_Z8ZG6Wu4Oc1I_%_)#gRH)ErkOkv_Up<`3s3?kdY2S4RY!kZ1 zOJ^|b#qMZ(tWlrQoUp+-obEES5TVQS42(oIa9}z%8^%zWLg(ffy4yiVzCDH!%6nqF zZBaNWOq>LMVWMErEjw;Se#&;( zVeh`HGB#Vg$7WhY%?dCbNt81x<9jW%XRxZ|pGJK)MN&p?K^W&{xHm0uPoB?yj3dk1O9E)l$t#WrwZ8xDD>Jb@Mv40bBhB4<_!_9&jx zD#lz3^nzKL?hgzrDeh_zTjQ7p>x(#np_q^1dYI9$x47rha7_H=17ceZUmnKB*R98$ z^I+3|Qw}!8S(fEmR&GwcWtG6|KNPmmG^2TJ4*c^YVJnVf5WZ#$NITg3{h>JB z`-M6YUtCchb?y~QOoek@EE@aKlyrGYWZdndgOZ4)Ipcpr z>73&9J_;u)0yFGF2!cwz#RUp^=_Gv1h?8}!Y*@JeT45xD zvg!OqkzOR^;DA;@GWX<2#&<3VSss=csO4(tBr~`{|Hh!_ehO6v)x{|&8;$xNPyMvm zP5=NNxFPBOd3HAtLS8$>5aGGMhdb$|+Bao)NbqBnaJAGkH>^{>#ZGWs_MO-DISasG5 zQQV??&6}jI(Q$~XC`C^7<@5(}Xl*l;mE?i(-R-F22JO!6Ao#ALR3@4!snR2AE|kZy zqg6(3j_fj+17iI!ex9-b?4_(h7zlq-ClNL7a%NE`37I6KaBo11#r-f|dK7Xtkn)_0 z@NAR6mQsJ14E<-U!b92ARQU)EK_O^;gpoNNq)=R!&QxLxzEOpHg^yUUoK3NKEFb6YFS3va(sjR7p-A?yWNSF69BchShmFk9=wRl z#N*YdYnHdAeJqMXf+61T^R^#cf!2XaoIu z&?Tk}rDc4A^{yu%`uzREq2DjP`-12Z{45Hs-^!1qun)~NW~(+43RVZathjl&zfKZkmWy1{4~ zAfDn;wzyayK-ib~iFgG!Ng=pM1Nq>6#>tuV4}X#c=B8O90Gjn$x12_6s5T`izCiLQ zZrXpWMHXXw)2RPzoutTLB5%!}u=1jp8_?i=F;!v=3VaPvhHi3+*SPtl`x{&m&R+g z;pxGDm_?zVMt#cfC+Wek!=HJS0qiC+%0Q^(Hed(=;?R+S@J@&23gHf4U?4X)8DxBumopmY#KfdqfUvy(MY*t&E|W|aoBM(g{Az*2 zI2JyKLW4ZXb2NHhU9dA;DBd1s+cbLdb^NfxQq25k+xRGm_T*#DOTQpBEgSY+MrL|a zGHb)SquiA~pnYxBZ_u*nJwN;F;JXSkMfogd(5Dd$tJkDEHB92iKhj&>INVzq?&}%ZXk`;VzOaE$ z-o^$AN+?0}fwfCW&{Vg1^fl!U!ov#pl@tQR@*&Dve_uZPDiWL&ivynpwm3J^_dLTf z^CdW`22zB-3H`-Ti_tLtB5oShXft4(z=oRo&hO0`;}V|yd3zTtc54yeI{4u979KG_b# z7qb;*!v=YJFF^a%&;SR)mofu)L(YDnhK5C`tfC>ik!^7FFiMIef(s&4Y4}F{i<$R( zyoqRhy$4}~#^ELEmR|>v^!N8~SU=J;ROzWyYwI_XNLJUcaqwY6O2kF9dv-QF;mfQS z^9mza1um=l2~1rhi;!01^7qqklUDmH{oO;=o@&of&-z;DF!yJ5{ZlvXnVh<%Hf|L= z&>K2Rk%ctW=nnX>N*-U!4%kjZn>p`g}+tm&d}=``12}#Wg{~r zBe-_a{Q;YTGnKVJ2XO&eW4Zaq@kgM6!#~&pz#t4b*qQ3Zdbn5QWx0_=T1EV7YG8%Nxca$8by#oxWAnBt0878Q?&~IGvk` z0MotKVl;S7nQ7ynyEmgkd;AR4BX>GCX=>bTunNWu^dn(oiiO5E%h};{5$x`61dn@( zTOcs%oSI!+20&D%rYd_KHGQp6vxN_Q2y*iDh-stg7Ifm;9tMBHGtHV+5cIwe-#8;P z%qO9?kf6_omPXlbN68W`TS__=XP3(WzGeirbp~lX8z*k)uvaPb)xj+dRR^CC0JsU0wM(Td846c2J{9b4&+9MQ|-OC(Q?6mMgs}U_cI&$&HMz0YgVt{I=b?(vSN~Qku6r2MnWA^D-LhBLbggY&p{$XAq&ZG_KxwVP07e)>7@~@bGg@W=n;Ei z3=!}~XC_7_O(f)y_AP$JGaPqjVtO>4qY^aJN=%rPlz#8{2m-gpsNAWeun*1~O~kQ_ zyg3y=$?i})m8oX83cF}jwQ%ChrUbvhf`i$>&&R*l+20Hu!OjyYC>M6%;l+1P%DJ_8 z{#Q&2dG{6US_^9Tk`f*|8t$`BNnNf!go{lTzpQ9d1BEFqwg}gUbvY_rlIcRMyjW!% z!tOU+lC~mkm?)Oe0e~IeZwOi1IqCsR8-WiNZQFLs>1G+#pq*LBNj+5X?0Pk~ds>rQ zja2NkL;E2bbkTsH6vZO%9XtB34oZ5G^) zn9_vCP+u%;7sgMxJA=E2W`~EBew_O=QiHnZL3TUz+LebdL`x26N4D1HtIse+Tp_*J zhw)fscuj%~V97AFT|fQ?3Yj?$=8hvxv0V2MBcc{mNOQx@2xszET|Tk;A4FHMpoOReXLi+HUt{57PLQO*+#RF(%_>A6RwmNu) zbrxa$9ZWC_s>r)j!nP|YN(x)tW+N=Z0N!stkC&m?@)8sYL;a)>xcvf8xy(Gg?^V+(6z z2oQscihtGsSAN$_-Z#o-FqwXt`76akI7}9KaC8_U=mS5*dGcTp6G6O98M>JrL-(ZT zyEgM-Y#Afo)CnL69st|9nQT8jRC1tOk0weMo|jMdJ2*Rzh8W`r!RrVG4T#6vC#MrZ zTsrj#F5@(Ik`&a{j$UV6_{5m1k^5Y_Q1|(Th5G)4cPn~6Q%~hYOq^j$Fi<0?Dw1}R zbYrA`+g%@G@ptFoYC^my>g0ld@Ym*JCog|+WMLm8RpM%)3qY>S57yHT<@Unmizc@i zpJX3vv~9+ozkh(ay1#w|ze?l>9_alM>go?SkG~tIk(nPB%VS}KwJkjSyQSCnx5YW& zGQaZJ<2(^KY@K_yY`Nivty^!rG5JBVZTrri?!nu(4A9w?AI{nqu)Q1G6=Ym+bwd=w zR~H_CJUbZVBt*>=#|Zt^ZoWA}MTr8m{aV=nBuzTjHZHzYyeLhv)U^<{zcKLdAYUw9 zI0svo$Sxb^XmVhX;pQU(vI-N>hnK|8Yrv-&x;0Wm3o4ClD5j&%v{g>1~G#)VUuQ1Zs#IY~JNOnXYpw+FTB5 zGk|Xxi45UXi^3(ibmo<0$KKsLD?@a&L}@wMLYL82x-kjW!9BnNlD1^5Gz+b?^QIP4 zD31ppo}YNhM}a@Cv#`Z07kavU{#7o1oU3<(EX4Obt4kR(vm6oL3CTr_RUYHWSX1r^ zUL)qY{8+P0Se^irUK5z~J~HV`#~}9sN9*>iO|HZL19b`h`LFf>N2p!A%#A_5#<4c~ zm2vjr=G%=p77FxtOt9<)c7E}tw{W{Jyz`J^x}4jyDcYLc*oY8iZSU!cS&H;b?(>qd zR`ju7CN3}Y1ape)&gL9~#Y?pk*kID)?9ERUEPe$r?i{a9O-#pXUe#giW#1Thg$F!z z1(TSSY`sy9?#1CE%E^~P*hfZ^${gjKn3g#rxEf5J2@a<`!OZcuWWe1~$@VR`-IS$P zyAN`&TZJW+amP01-)1MY3}kTsqCYDMJ>ll`OEQ30z%!6J;3yB@!^^<}FA{3(7^VUk zZ#=Ksz>_Ggn@lN(JDgyR86`e>5_Ljl`c{N}w*Ih0rtCsc)h|yv(ARwnt$+lnhw>Jx z3Cd~!HiFAgCzsdRvAJ|+s67u3HUBy$&3S;XUOk2M^Xnj=H|L&23gmTiC1CVh># zW+?V%HXoQEmhS=hT$e7ecZ*ZOzVj$Km0OzvKE@`7P>K&hZ%Q`@A7|8?YRhFjdNQZu zL>Jn8IQKOQFX{x=v(dGEt5~`zr|M@;MY38uL>*&hFIW|9O@|jxp*_ufay{vBO;IJ6@3B8>cU>C$tT z=a1*!Jn=?s{fQ#Dm}nLg$@Mno_119h8fl@rHL^ zf|_fdJ2Y=p#S5yJ`_6M~jl1Sm$aT3rhI3_lVl0-Nvx3#5$R$F=fo*)FzC(hl@3<8S zmv1Samh8f`3T&5(P=)(3(P-Xo8=IAHNNTh*53EFnzzc>DBfd z`Sfa>wKXwgIO>PA8G7IwU9zkrO%`f=dAXBAxVCaMJax9*a$W9{SAWj81I3WK_>w|%GiW-`OZL0lTMB?F{)=V)F! zz>sze|HnFL-cd5jZ!g6OsVt9B6Ng(ku@9ADB0gGc0-5O=LteF$^H*$0D$>B-1+K?q zdFio*bFWIDN&+K?yyZz-G+Dq!7Q@Sq&`O#+olk$`Pq2yjuLVs-0u@bdaGQ6ANJ&t( zV=EI>UQlO!7Q|M-Fg}dF_BC8xr)U?yVRZcVNqBB4@ka-aszWPT;vxRR|>jQ+T_6dj|`_e@2~;?1D_nBV`gm@D!}1nUe=Ou`Mww&xRY z&r2Zu+veLZES-5eZW7YsaHRvgU>)R@(HA6o;O~WlG15>su0Y^7d~|z*gL9 z8dXgLPR^(#f@0!iY~si?{Uax|oI%pa7viW(JLr9#(NvX~EM}%^@t`5P`Zsp>_4ju5 z^!C&?4p)Y&o#yKQ%$8|d?^0*~x0Z|*Yv?5O>?jqS{#O3I_Kc2^26!TRhoZ-Ohs1fM zVUUBu)F9O-UZ_dv@_>i%WvEzX&gj(zSm2>n03aweqiNFAj~Gh;W8LEq!Go^cTG=0h zdOGKI3q#wQ4mS1gY*694!mx6a$;` z*aNCJrIFM-G!mv}ZL|1Bc@|Y32*lojFR|2!W#fanFI{>96uI!5mlMoX&%}x1_#kM@ z%y6po2sLrJfpaf4>hBS$D!!=-qp0y~HiU)!uOKH?%S)HN?>twba*8PEbayA*2iD~3 z@t1<*G-Z>x{#6B0@$+aLi<>Kn$WWUvn4RxRqT#`R1#_bp47=?w4bAS#T`ct?-DHBL z5k)wT3mMn4MC4FcUzqfyLN8UJ1WND|h?Ww;v7WG!&6)H{id|@tee6vbZ;GhJ`GDMJ z-ZZ8|XU|B#@1H?U&xmz`{U@9hh#OX96TZ6ek!kqnQJ%i71(?2G+`=q_KUQH72z%38 zUvhDTtTxD#*w!MNL9pFs{Z%@3Ra%!D*l zGJ4fo5=e-{yzNA{KEK(nTLsq{s^gQ)t#(K}s?ljBd0%QRfCF>tgC#V$?SY>E>ri1F z&KszGMSQ^7G`4rJGP?`+34k@{VX}CGeM4X=7RyB}QJ$6i$wK0WN%rzU1B94EuqTSS zukY{b+t697^z?LZ*x2vP{bQ?2^jX84<%@bRsoNrMJTceOQJ`~Y4o569UWgPd3}$TxW=*3KOI>(A<&qngq)Z{`yz@x1wL^T9=VAD$f=T+4+hQ+CWNrDL2mMY3&))! z!8%MR7dis*)M$@1n2UAY@jxC{VPJ#y3A21?CEFp{3l4b!0)fmaAK@gK#kh%x%1$n= zB93N*f5G*b+-imkP>|!P6)XesHp>Y&PDpXB1hNc6+XT*QaHTPZa$3H!z;|L`l-8ZD zH5X7;f|(mzON}IFg+DCtrhZFdsjkK#Lh7+cBfHHbusjThrxaJ~9O>%m?CtGZkCr0+ z>lLuM69GP{47W{#O5K3}P-YP2!A%)3#BtxO!p|Ce;iNSoP2&yb79M+2rayoM(?#VE#*Wa&q-ysTBx0bx zkq5Iv{6)$eiZ+58$W<64)Wi236(v6^G03a&@dm z*+B#Lv1RtJ<|A$~OWl2v0W~Z$Nzk$Kpto$bDSkCKMP5bBG-41p8i{z91hb}ERdjwI zhgN$4)qK*>SUrMGl6>tv3p9b^UAVA}RYnAiBR%fp0qyEM;Gdfuyzsz{KLy&&e?a`j*73P$lh|?2|GV8Irz}gBow1AoZsaWB;L`(P%@^iCEec zf>_l^0=IrD(NiEl_geGte$w*X`;et@rV*B{R5jYGEc6K~do*w+9w{55DT4Bonw!#S zg#-Z(8j9j;+qy24_(f#o#Qn3AR=Ntu+w>w&P(edM*rwW|3$hK@3}=XU*LCI9g*+XU z&?23rQGeU-c~k15)>A+YcZW{=!P^G!*k-PE>ASG~^|W_^cW?ASmS~$3+LCXNu&6oF zD(5Y_Nm)%biGo-vo9*Icj!!cUShYf26LK}vw9b`Q<`-pYy9e%v9j@TjEi5bDW$8b1 zP|^ms?>s=_gt9~xBo9+#kP7`YesElD+kV%UTesaf_`@yRZ@l%UL45e}O`Fqw-OLIB z)GQ)KC?4yq4&qo0o10lW??>HR=Us?=ns4A#`ms26#Qh@0;j_pqD7RotzH$qx3LRst zvRh^t$OR%7pDB8I!>fw*Wrv3PmOF@reF^mTf3LhHz?kcz4pA7_ygPJ~lzI>F>He`m zS^;1<_mBjzjc+EI_2@)(WWS0_jQfRsw&yk@hztFX;sf|hi$@-lm^L=UaVh(Vn@b8f z`eqJC7&K5qz>hcI%b7odV_m3Y{eN?Fx%mS@U>S%osV)b?4J@8Rfv8lPR+ht>4{pi7 z*aNsoa>Mfe3sd)T|Jw8Ga$jc>>ndtpKBW6S(5zLGi(eoQGpD@5(w{N@gj-7X+ zsTVYtHW*j#nm|2?f1*JWW|rK*P~ka=AXT@AeJ3zm{*`breXj8&E;otv^cA@0axY-S zcyak5r|OesB3HrMe8L~fI@=)SMTEslio|b`mU#+uqoN;|cxmB`_(Q?&n4XP1YMpTX zX%K9CAlRKwSszBL`Gb(o&ZO@LMv+ord16nQb0iE3MUz?B2->kWUG7IT3lQnW+F@~7 z??I8zu+CB~exe8^-mHI)2E^-d5NQOwi+zM1X(Qo?=<7)I@Zxhqk`upV-$tc0_tb?(7t$TZRb4t;-rAU(@tNi8$9pMo^AKy3 zcd zw{QK?;H@`p_ev1ho;WZnINmolI@B@9nlN}6y}FENv%6lL6?hjEW26c_-Er8|L0AeTq)Xlm5cxYl zFOiBb2P;1I)Zt+j&_b}Aup>-<2r*1?_~k^IwRlRxex46ohzkeO+``~*^4_`ox zSM%+QSDrr_2h9#hnT-eb=>{Ip znz)ei*nIQFhnpuZYUlDCBd^Yw-jVB2+LJY8Nx{dC$(kp^VsMZ3jLfJS`B7x^Y3rZg#2GhR|O&K?e8Yt7xQ(Lzch&tfi$N zG@4KOG!C@ynni4Z;g&kI$^}llj$R?abC;5l$_(z(+SHU~3pDC^D{bc2M*Y7jjoG5> ztF=I8VfwSDAgw4xHc-%hx;`z73Cl{4I$TaXjt9;Iy}%ddVjQFcWpP+7cWTD|sxj8( z#6gcsw*Y{JU!0O|l3m4WCg!Y7c2Dm@#^kxfsazvQNmiMsGp*5hmZ1UB4p*^Ia@(7T zwPf)id)?YbY$7u)}b8QJM-5E^EGDz|A*83_`k+Z_Y z$fg6E;fS8X|5_M9WV6MoC}fync8!4x6q!v)$p#5P3&8v=^3pC$g&vTzqh^$)Q_O^9 zjPxO*>X&DYnPg~5_Z14xES@?HCqAr$r1MNqgl*G1Z<`pN9fL0g^LXjCP__49+JD_L zv=|YAEOcq_7$aVO=n>1n2vTsMD0FJDnIslR(UF+Ok9YD@w;#(d>s6G}LN!sULzfO9 zeGgqyaVz04Krw_lzN0z+)a7%(L~9YmCO|T#gX!M#==Y+bGg?ryP7T%`r*|*IObPv7 zoXC4^a(L1@(mB;J5wDJvWUI&YDpox(fTTb`KhHF~JnPS^)u!xCBI-ny?%`1{Z!fQS zTfE21nXx&FQmP69TzgrN{Nc3mAAkWR0x(+~u#ykz5YFB6Epzs=5b{?+Dity45Cq+* zpO5m2@FM}`f|q=u#DMD|_#9F&w41OBJBUu_yLgbWpMJV6qSSpBCV|_f z@3q;B@L#p#Wsg_7$7Lm+^%%EJ-r++WlUqD4GCZ zK}M8xChHETAanAIg(!2gu~Vi2(P)vM)_EeIU%4pcb<)a!_F@NGBR&5l%*EMaOub;|050-^&)-zbirMJxG& zS?;oNi*_MW+GI|4(z@8e~^>rAI0=8IO$tNgy7!$+2vP2BCgQ{lbW`kO0dANKp%r3*+{EN-edz z+kLwM*`A5ONNT|m687aK0Rqg+UVKK!Zzjq2 zt+n<(`#f$-c;qCm8PWHgefC=Wwf1^1j3O(0Qe3#OIknO^ouw*)s>#@@A7~yDFUMp2 zVRT+X{K2c2G`|Vl$7MNhj&#A{McKGXmR|mXy>^M;LOF%Fq)Gw%I5jb981$?5(a)f1 z610tFwz$4-9lyD*b)Eed2+%5dNmj#RpbkTg|1dvotmlf*^z=(11A}fR_2| z7Px*I@Y<_vfr~C;lQaldzh8VYZY~;x@1tU7I#g<1;Z0tkmZ@(@c*;~Tq6t*jt-CvdsuF2dmBLfsL0%h~ zM7qk+-18r5!bLbQsT(C3VeJVN0Sg8biAAjwGM@sSGtQ7b$sqibdv zo2xS?_B#(Z?L1N+J0HvE&$BwsKq2eC)cyJ12_zpGsiVqV6|#qe4ksFjWU4WBX=iY`BUsI+}JUbv9(P!RqxN5I=%Uwd7&ndUST@ zTk59=Vq4&E6}S-v#4NC@`db*^pZ@p_&^BE!3EXB*B1}zV3z9>OK!8oeB_K0gL82`t z@Jl`-!AEk5>5o)PaOdHFAr0#4N>OqqD>RAY0yRw^bU z|IoQ#-a{py1puc=2g1Cgm*o$zZhkRjdI07io$pdq#D=xGLtmS5Jxq`nk7!)E8MLGi zjh3`7uD326P2rv79H4P+;QZ>z#r2ly%Uk~yCpGBkh&R_@5~U4&lG$xg*?(&j35 z&OC*zF%YY!hj9yAMG2A&OuDrMYbR|&J{u9pv#)%Vm{AT$gf#XEGQGhAZPzil7od}w z11ti>R6S4r`pmmef)&uQ<|Bpa=x4$=tUNkAY&UmXNg8QYPz<6a(6#UsrJ0hDQM!OU z0y$7KPGd`kIOnG}^Kmo&w$fWauUd(Qr|hNY$j87gCE1aLXP|^GhG!MhMF_~lP-5y4 zY{nLyd!8_y@GPLAhRkdZ9%b2QD3(ow!hxrge)T|GOszA}$WNCNFLYE7ltpl{D53f? zJ>0>PL$P>ccKK6lAh=$!0cjDE zT2If@78OGCl@5{EAa}3Mb8MVP;cC0 zaQC9Ak$#3jl54~ZQE?9sQ-JmT^AyT=$J7Y<;C?0`Z^wd6Y++c%m=#+bNo zVGaEB;BJHZ2*N`;g;31r$KfcA$urcjM6k;xE;O`d(rE)4+k=lgC(pfVr}y1M!P0u* zL**SVd&s8Cs91NP5WYnM9{rxPA>Y#6z&)c1tb^h3B1)`Fc?)5Fi=4+WRBntzFT(_h zCZ6-v2}b!O%&y*F*fV~t0yeETJE(n-GzAOZM))^C*PC8+SqTI^_zofE&OdpR(33Vd z{Y^4;FF$E2YKcY)wh=O}?wR}fG<+^Y*5Um2mf27+BTyrPszpB(R*5MYz=|}4GlxL` zLs3t9=0ph&gHn~rXItl?A~9@?0X-}f%WoTQ*-;+uc3yq!WJ8mZF3qoK&VdwBxPc-k&(e7MG=8W znqKV14Q8PNAN*?e_|HNbIote%lLLzj6SE-}G-B%a?6i~O_)e@!s@P@2u8;*bv+(9v zX&l6QTX9EZY_{OFFFXKur)&WIsYN~#Vgch4&$VumBhQ|B2HL3U0uFKaZ_d2)C~xpr zK7oDk^eH$qkVYnUCQm!OFPn^(D-AjC^odX1UL)a{d-r**(+k%xtdXJIM84sj^piMx z(6fSm`8*8*A0jTU?nDX;j7sS7ConXqg4!P@rt8K3MfwtubQ1hANArkYI>Vz=DWNV; zslquYsj}d>rU%6^iSwH9lh31KF*k>h2!~nGoJ%Bz?qXb@Mg^by(1Wy9DiF6j?H6ohO61b)G@AgcFV-D{zuD2x(W_GS*y=!MC!J0KbvhQQncpXrG?rwIn^xb{LscjeZFo%k$V$B+mEX%=?I8w~vLlC6lYo z^ZE?GHm>egf8p}vi=h|jO0tScu8I}=@@J%{)xs1&2-lbYz!de+@jfXzRiO6!# zIMuG-WIweerH~#9poFJ7yH}~Df(;7Xu_MzNEfp5?%=Cx4XU>6p_B3bu#(lYNp3Yqo zj$AE7LUme*+4ny_{fUGZeQ*LSM_xI~lVRgAdH37KI>;bYv<2@7qXp8V%QN&3jqtu_ zG*BJCZpF{n54xZ91#5S4fegQ76FtYK`m=&*N_FqJJ4+&Gy(1d* zg@e%SsCm}uB;5)ugLc&w^h8#|bAqs~bd^p}I1JrTd6gh1H;txoL17n8Pp|vM&r32R zGS_Ei@8pRkK`4uB=yhe*&!h;6>qz=ckNw8X*ewY|LnUNr?l8Sx;c+!&ILpZ3VjTSa zPyY63Jp0TCs_KH4FH9|kkwTpdaRNt=F1KQWESbs?yE9-v$9ZW4$1vF%dbD4(`jGQ=&cSHz zM)MCZ?A%SIJ9gRrvwF4!c~coHh&6@yd&w$gHAsVk58sLB&mMhU;&zMVD_xqb4S}BB zPkjVu^z5kemW4EHCE7cZ7NvLeszCj{zOG7dt#d{9itch(Rr9(GPE_uId%Y}1GrrXO zz&ktL!Xbvhtr?!UV{Bsm4mRcOnc6Uij?R1vN84D-qeci(>PWJ{Q+r2^*KiG5cbgN< zJ_4m4Y|}A~HuS1WhizbUY&BlrD$lPC+FhsDtDhH=PD~(8)$nM9Z#LK3;4XAS3KrzNn9cofD*QMN>xh~NL zv4BYNB(LY5IRzF$8zB@m-zEJyT}3`a_S=~>X*m$S?2Z7^Bx%ZaI6xPpTBwKBjQgz2 zsDCt1kx}1<+zL-lUuUTsHCL;pfqGY8Pfd2v!qMR}oh#rryak2%z${^s`#YC)^@!o= z`p)Z@T|aPr$Mq%rw|+gYfvIsM8$~It8qyU&Xs1T&`c-&&2VR1;yIB0_t-GeE^yw#6 z9o}4H*`>YvqETr36r7#DqZJBr$$B~XHU-_dClK& zC`<=WDmt7b=%_bLyFSLZ-l)Wyfgk)59uYNa{czB%C>?!k+NBexfJG7tmJi$WPIT|& z@JOSbT4^S}7OQnfwALIrNK;_=^RI;zNE_S-Fw{d?8evu=Eg$DP$0UXQp(?x9iNuVk zH#I&Mt)HhfoVKoB^1y|YgEfHVRVfT|ILH-*rMLvL&O?$>5O!3u)KJ+nSy8wh=023g*sXQ4 zk+j%X$Kd2t`EHhzpXkW!A}Str&n!_`OLc%tb;~c&>RYa3&{)p=#xeD?pn5=qxpCSQ zHC+o|xzO3I=sl7;A?I8Xohxv#!{cDL)OBfS92wS!AJId1_M_h-yEUk=zU$yI$IbyD zI>`ISrN$%zfF-Bl5cZhR7d*pOa)W{k_w3OpEM78b3YK(y+veQIc*Z5u>R0%Iz*6l! z=rUP=Wait4vQr1uXm&MV*M}n2&zc@lhiEhY!fNFHB16%P8_Gt^OuquxfHT5IfIZis zdE1>d5**N1I6<0;3N&$oB}TR&B8;)M$!XV)=r%$3FkC-)g zIsVL<7e1xvB)}m~BNrFz%%iw=^M$kTz31xBa~Cw@#ThscmnKFfB}Ep}*&}bxJpF`@ z4v^+fJPt^6C!Q{Zq>a;%{-nMg1zAB!HvJQbValIc`cm<4mN6L(0f4T~?iF@v+4d6F z473-aGKoD59ZHUbY^d3NHZB9&c7s=Jqn;f;qQQ(clgQF1y-^N&Xc!kR+$!4}qvJGo z*4xk=m4kuLP0NX zZPSduNO1v8uzi~G`fx({A)XqqfptQd6^-Lay#=v!`UNZT<0?HGP5dOOWhhJgMQSo! z|6fy%-V#@3`)|g7L_A>wwTREP_uN74&0CBwd+v>yQ_o3{f8uwCYj^*u4fo{R{ju%V zF6-^~4I9>NNHxPH0hhO#eZN&=3+@9|@f1d5%F3u;YhMrEyL$EQgM+E>rRf(?N;T#I-17l$YCQlrfZ;iDC+?4{HDqcA_iA0Ox&5|#?@aYW zpycaNGQPiD?Ow6G+*j)<)6YDr(Va4-l|fJ z3nxQdx@v0kDoK;>nErdhyuDtEh}xE}yeV3S|GyFcUz@D7-vA1KUV_Eq3!xT2Kt|mLuo-{ZoT^-=;o%FHX*iQdHU$XF%SEenmsWK5_4Tbl zkU)QDC&jt=Pnb3IuHkYs{%h|Ri}*1-Efj z8AWoby*sJcIC4O*FYFV&!_)Cd+sijc$kV%Js@#s8vA0Rl*O{X)pZ?4oNYVnTr&liJ zyqX9AU&U3uokF3tfl)5+?=O|B<=(zh_rQv-itfVY)p~cOt7k=LwT_Si?n1QeTi%1z z%$@b+JuAwk9&O1wpER1F2p3~|Sm=E2ofxbfDuaRJ|%3b}HfzF=3N*&PK;tO{M7SYKw6M@x?C(a&yAKC>UhlSPjoCOe6 zKGgIHnU5h?JGsEEcqWH%0Yq-Hcp>zcTaw<6MYO9@7$I{+xum!yub^=6vL!$UbAb>tR$RcDpse|}SeJq#vI=X?r4{SBd+uNp>KV;%MD+&hD`&{xd;kTd z%g6zz)4@Dqe6W@ck^FipNpY{Jd$Zs}5ly+O#zxo*+Os{uJ1(9*@`mcVa+qaX3pSTy z`ncPSDm#&G4t>1bM}>2!GLJT=9uTMP(831H|d7N?|}xWOraTOn967ma^Yn6a1JJLDPq?& zFnlfQSRt8={^t(Xcuf*dp>Md4z#Pa#Kl?voKcq1HpPMgGLpfX_B_c}n5m#PNvNk=u zyt|#tFg(UU{uYcN6oTRvrqUm>yXd_5@l!i2@qwA~Lvo}Cuv))CEZxQSWgS$*2@l^= zRDVws#5JkjOis{e@NzI6)3D5D5@qa=f+J|_&pGRNOZt^&e5ZB9%O$C{`#tLNbT&K% znZ;B*`@W{6ZubnCF=#MGePe!rRPdqI>elc;w~!RE1-$U`6Y*o9y1ctyDtGqR`|FS$ zFEAH;v6{8qO5UPBZJu=q2>3r=p>I*xo0s@5H-l2DZ`l4|FbUg3W-yyc_;en#N!SdV zQ)a8wS?{k_`&QHtD&4!B!bw|f5!lP&Gca0}s)fw%DydsF0-MR$e)hITbb~Iq=(tmJ z&mE2Kk%WYofcr!+_;Lz}NDT$v4*C=e-+u93e1G=Tr!2@I@k@e8d3o>h<)!WtWcY5_ zaa44w*6W?szH(20y)v-8M}xSlodZ3!YENIOJg~e95lm3Nc&ITlT&Yz>?bwWeW})%Z zd(Q0LqqiVv!Mw`hvpaXC)%8jnB)R9UFkvFVbk938Pgv@3m`tSv1vH(|GBcRgt3ea? zXAz92m<3c}Z9q3JCKhb;-q1Gdzan{UemHk%cht_t?Jx-GC5iJU^cVsAxJ-~1&1s#b zzaiXz%}w`%lH<}>F`Bmo)K{+ZH*Hkz6CPeA?pB-9;VLv(6r^f&C76;4 zz;G*qyVScFGX|_tuaye3-TO2s%#9wp-PwIdXJ2}Qq5<5>){l)(F$`i55brLH53)p3 zH1q1aGrJN6fXCT&;?RS|808s}3Fdfo_o_`pYwuZo*S%|Q9~=^g^BbeCKHd-S;r%;0 zx~^W8ESJ)-=E$&#qOy%S4}Mal7xm7;c(Ur~_)=c0aK>=Rz`aIq2T?HLrKqAvfcHn_3Ia4k7*;FWPb_3?v6@pL_(?gXz=9kJB*%LC5c%P+b{M z+uKjlV6uA`j-UnNrB~eFYtUuVh7TnJ*BElzKF%OzA^hERuf)I~-Kxy}{&x(O)ORcp zto{aWWiZB~6>V<1R<~kmaI(s#uRYu#(qIYt6p}Z*wQ@2Wp;>NM?FfbxlXrfLubY1hz81{x*-6CK{QXVh3 zvo^`@gfjwQkkG>(D`Y%+cGOGsj*|h%LgcRNgrk zND%p`?Njfjr^ z*eoj9bN13u7acE1jt~}^6b_*}M(}hGs%w9s5dc!!FH@bpcfxI^*m>P4uZJ-Ip|y=W zrba88SiM$VH?c-)uz;VFM1qIkh&VMg@=@*N1xDx=rA`HB!<5yM*bBaT$k)njt>k7_ zk8R%$&$D$?lh*&*(c9?$@Eu&HseTW<2(Mh<5xxci($rQ_9oQie^JZ*#3<@V7>0cnD zlIT8#^BJ8;tK4!Y~GE|MN)VsLrVhjCupDzvOzd7&t}nK)QYs7^9-6_a2p@CnR+M8JG zz&S;ms_$xYNyutvmof5Us{~pL_6m;>F*BZtY+)57+wC83LolO|GxBg5zf;0S92wy( z$`*t*atwK)tny20w*-$iSt2Nt14?{_63C>#|(qXZ5S;$3__IT~f(q*#ec8nP)^|Cq`b^U__c zTVg}41b0U`KXOk<7r%D7;@&&^*=O39>jhr+FP;6}vonW2gGVU*<5l^<(=P*p01pf0 zIC3Q7ghbx`7zatke*N0BiP*w)A%mZZ=#`B|ik$-1RJ@}7K)k9bPJeU^{iv(}74O_T zuNyVFRCYEl2-G>RRo8C7*#Un7@k-URdL-d*Bbdvt2Dngr$+H!4w(X<-e zKcy=8#rwvG5zcO|X1scWgRf)a9R^kGuuo|vw~SnG>ef${sMw~%C8mWS_nM;O!r5cLbpICUF`Xi6)x-Ri@;Cn6+Ngy=k6sydwJD?W{lgCv8mZtLWYsc- zRPb;feN@nji^3^`mZvmO>8)3K%H`TXm*{pNoIvd{u0H2bsf^Z#;XKmRrJDKZ4G6^W zyM*JFDon84))vdQ)$il9hX5@lH%H-TswL7ruZprp;;nSvo&oWKp{;NoMdilQ<_3Ah z(vIe)2dQYs5&rJrI+PIcHgDy*#k&+92jQvVE#;aSWfDhNrn}z;7dYvi_chMFIIX!y zO0^v&q139&wlvbXCY7;4IV^1zJ-bmmkRIpITEbgP>Zi*gOwX5&M=~*ew=p&<@#G|o z$D81JJg(uTk(d-Jlh8;7Hv!+_bc9EQ3>cf*w?H$n`^pZU6K3T68(apz&|rEIK&VEHMKj z;zB3jGmdg4>XnJQyUg<+BYo4s_6`|bfRv0l#8Cy9*$=1T1RAxsvt|a?Og)cv;%1-! z4E~!lpZsQK&rWEToUQZ3%u749P>9=+kjOH~G&c=kwLC^nSBo?%znp#fK-4a~+yhmg zR|K7${`3WJxYR+zx#wnC87!4}{J3$o9-2%d=Q;l!Hvm_jOP%V_?SgP&u#6od-+bRo z1`Mb?bLe@PRio86V>!dMbCY4~mi8?Sk3I}fo(nN~?Ww~$L#_`n3offO_dd#A{Zyut zlSh`-t+bL!H@nkF?%E+)W&JkwbdrQBpq~`%fKzyuFkA{m?eK&7J05c;WFgZ8D>&@1 z49X?pRSy_II6`LEL%}VJl4@lWJpU`;%FVEayQ4e=4yJ@k6PSr+d{~ta{+ze#OGNk3 z0_<1EeQVD_Xk0_pi21e3G^DLF*zK4(Fk3lbBs4)Q>sqD|@f+fZ>o3`bns`V#8@(;j zMocXf_GD0<%%HRHs4=LJA;su2bL=q?Xxp{ULtIBF7kzo4zpGT~>+7%6!CNy3UpU_A zVoIZx;W~mtsFK@cu3^a4k9xH5zY!Uc6R~=2Jv#GS1c*=LuMYfwwI=@=#eXr)c%F8} z3j4)-Oon?xgI6eJ$V&_T3oQWHUFTh4po;aVm+OT|T zGjnwRc@2Xp#^955`jf+~U?)XoIa@e)Yt{~~y6vvp*Q})3KR4d|@}==F7#w%5TfYx{ zMtpG7T)mqkPLZr}``W>w``6yHX5IaR5eJkWc^kXY`eeEBpVx>p3s*dl1lQC+E=hI) zT|6|3$3jY^)Gsr6V?ucdq0@zAifqyzE0v^C2$qEeOQVyp)lA-ia2Ber+H46s{GdAg zLb8pYuQuPn?S&hJ(se|)4UeuHZ(9l;>&B>~Bf2j7Gt{~GL3GP4(XF?#3kaXg4$+2$ zKJa|Q)999!(XA`}=dhLHdjxTIjA4R1qI*f^@r0oc%RsXK>IRO4+g06(85mM(mP!|nN z-V=D%X2^ExbD|tCtTieng#Js>2Zq>6oAJM|O=?%IR7_vhML_A`eaaHZ)YC8hAr-=_cS8^65Rvv*|$RNKH&)x6t zl}Nhke`8&9KskjThJpniqDHa7-Cs1gRn)V5?%^ff3Z#WYKZfEEjC&Q);t0h>RmNt# zjpEQP%exucr~3xk^BM1V=)>8)zd{i}YUHJU z#IHTK!aRQH!s->_A!uGno>!6rBxQ`sh@0p6o_>Ay*&{j$kOgP3_@396vQQfzWa=-R zY^=S-T^CGGasLARatarvQWiUz`9( ze13z|1VVNn5^Dbs6MB!p0iN_pCag^p^>i1~ z?V==wE=N^@YZWZq4Mh!X`0R`CfgQ%smO|8>1SiJ7m&xDchcTyIaMWali1WcK>PdFy zbOg3ILQsc8YERN~Mw zSOC45?<>k4D&^r&+=i2?7YhhV4)Qz@1cgh~$CRFj5O%O%zputHU%gt@PnxIL5e~-- zLi9zHlW5+k{LBLv|5ewwz+0S5MVQqDgx;7q(TFGPhfiZ7vXxP=Hg zn0xLB43z$)qjD&^ng^P8oE^q+9nn0^c)LPVje;LZ)W(`(5#qr`*r<(w{f7T1{zLL( zByoJpu;vGxDj7^PH_3D0jxLSi#Kvgdxy{>1U`~_>&Jo^c1Qb66^ zwURe4x@JzlU!(dON(%W)8VNue`Zj$yb1($-B51O!R!w_q6h0`hR5s(Ep8XVsOjwr_ z_h1mgpx2g*=Au|fJQmIHxHY!?<0@#LB;{TB#^)r7!{cYR|fzSkwwaG+Bo<8|H zl^vtZ0WMC4g}CKW5Zo3do0DcM2-is5qWeWtY5V<>Y>MG7+Y|Hb2J0*fV~PSf6X@RK z_T)}bD~O-CGtk?zM{bIi;{PeH<3E4(NYPLdjIB2T5}YzpT*7!zVa$B|vzhms9)@ZM z@C})e!$+Y0Q~^93-#i1;&IROG;UqJRecl+G;uT9>zY=S@^x&2c{k1AyFg!0CN#+Z1Z16o3qoiYgJ>X}sN%<(tDC=)d14X)<9Uswu$Zf5%D$f~&%d_BG{L=9}J4Lk){(7HU? zJE5L(&^C(tn4Nq^{CB0;h*ikL$7EZ`ljY{3s7nF%#oJN%(5X54{W<#F%8kWIKc?Q0 zy9YrFhIVj0VH1->kn(67B~6-htvq)6_`6!U44%bu%{oSScvP#o*TG&QtY4$rm6Hg$ z<++`3cL%w4dqp`nVT_|TTu`_*GW=5k6q%T-RZhupII82gpXkedpO8m!$5N(7?_PbC zgV(ZKfvSUs&pm|$us}NK`-%qb8V#Y+Lu%0U$1fVB`#^gYa0_zcQeuc0oGLevyki_@ z{-7i?r2u1Qa$>X02yNoWUR9>RS?6>3*)dB%|kNi)kZ>X}=TQbRd%8iPb{RY(L9SEh6-bp6Z?v=D*-zf_7{ z8gR&7xCv6SKyb{XHr-2P>n3-A$$|jLxHkU&Hg{xxS7$mGh>J2{tn z1p$8ril0f6d^6&TUQ3r2urW+JD#Pjp@nQ9vu_-u=vDOj5j{m`pHA`JfpdV^X1Qrmgt!Gy!bu^*aD*APo`=KhLm)x62qTPe;oY?ZApIj zB+WJ>TWJ2vZIxX22~>}WLjAs77{LGuQbzQ-L8kg9NVt>Ly6T?oo% z|JqOm-jOvV5FEyqk$Sz7)fJ}-%zrb!gVzFI(ybjXWiY6z_FJwblfjS3Uzq=iY) z@E~l4N0D}1hP-HK^TgQ04vs=aTrKs6M?VR>VVXYHDV)Z0$PQTcnVmSDm|C~ZAQns? zn0ewbv>VXYN=iPYPjXp^F;(>o-DMk3|R70DnHW^OZnal>KvM zQdI#=zOwsd{83DXTQqP=RbF0qsrX@_Tc2V9DGOaZBu1vWLw#mM8fr8;HO#exU23st zF6szs?$Ccvv%dlgH6cl7e#6c_`@S}Tk7&|8L$#anE!uS|QHoCia_;^Xt}jhAYWJo5 zb~m+or>AgQfDY|V=knE6_aWUDdOBubJdFI`r$7FHw%GS~YceyG;hH)03cOop_q|3> z`Pbe>=!~_OATvw{*F+BPLACq}m9PybrxqPX_0lAg>PX@?sE$x@X%BQ0+R@DZClJ5_ zBd{bnm_B29beI}Z!-AA5NavazQeAU2v4$RUpb;YMD_c2pG(&IlbBGvyxUc-cW+B*H z=Q)Xhn(vh6&AAs4OrqH|u-PE2jS9~~TO(sQph}ixRtUP_xnQ&rAFrv^v8|*?u{ChH zus&gYk2+lIco`mIooW?JE=!z$z8!xZr+qVAWT7Likb*$S)ME%r zhfbmLL0~-3;;PY6O%La|Y?UJv*WGcnnr9tf%cX?;XuVy%T_Dmcx&~HU=rmo|1~_Yi z9YvWFP7LB7&%O4znuwy+5cimKV{j6*JhFr00#CsPU{O(#QX69*fKr*nwswPT#Eg70 zKV+e4p*kB5>s6E!X~t(P^mh_Db=oWTm=QP10BO)9BIQ+r0aC351NSXJ75M~;1OW#F zsU0d=8t8Qa_dh1X+LcJH{G5&({2y^b=mQFh>TXjUwD+8gGa~=MOT+sJjGtg-^Z+U>m`Zg`&K&uSvVyy_J7)INxz35E zv6dXPvVX@;AlIz;_GYGO9?-HhUo+K@nnjszc36CdVOAEtXoqZcOvGK{G%nJlZ3od( z!+x(OP@mzCnkV6(uy@2$**k%x7jRy{Dco?);!Y>`h$HV2Y{uA{i5EI9T6G>UNlYT; z%^0JSAY-}2BqIj5>6cIh7&G=c(JjVB(7ketCU-Z1NG#@R-grP&GRgX?fcVSzXP>7R zY+iQE?e-R33*1F!o_ctKmWc^C0S=EgH+_lj@S39{-gWkuyCObzr`;biIR$gCeh8}{ zRN^!H-^f8O=p0c0zz0oFVMH4{n7EtyUs24Ep#Gkxkb=STQl%RyL#w6wz=~3*=47m` zDECyBFCQrPmV4^uPR-s}!=E75-F@Xst-sz&5dxnhpr_tl?yvO?44_hj=9|BGaB}

%riYI#!fGSL#ewfUX2};HHrjF_BsWEvJ8Yre-6P6EX-0IPY?v!xv z4tE5Mee`%JQ{z`aRdLveDIm$VFT*~+&F}k2eg<0t0ga#j8bX1V7Qv!bqnVeUYrW50 ziB_*z_eEPj^wYs6S!p zO)ZD{xjp5ZadEfm7Vo{bF0fm?ROAXyvS{~;yvLjIul}$2z;ml6e(qu$Sv_389XiEz z^ZLQ3k8gSx=6v0cfP!2YU-xsN`}_L4pL00eZO*&>g;h>r{0H%FKi3#D9`0$>Q4%!V zUMYWT&AWBp{_Mo#59-rS0RKq8cIyI4o%8f<=Ld;@d%=EBSpIYSx2LBbH6p{Q&v|(_ zNJOI#!-TS7}d73cd zwKBcR?lNbkau?y#c|d40LJ2=8o+@FT9UM1R!NYmLNGn1KnhTI?QVY$C_@S|3BwU1O zBlWQ8LgXEGqWkbJG1l@qGAZP}NwYi*IRh|}A~TDJ-7U%%z^ZGrDR^PztBA~}lIDe(T_3Tku-G}ZXGBbjK@R?r@Hk6TnDkI&Bo0lL)}J_^ zp}-WDU~PUl-`UvCdH20>Nh7m%iNvocVk8dva5fyyX>8N{Z>sxb?iEJSY)j%dKim95 zjL`$kM)_|~K8(WFnZ z6gR3tAVs!OSfQKojb4c~`|`olAAhFox~L?bT!=h|16k7-)MG#P}1C#DOdSP!%;R^~W z-NRzgfVB556;?Q*K}@fYfKb565X84q&6x+@%wn%(5*tt=3zP(ZJ%ha+V1za7*{!Q6 z`uu8tf8UDk?rOa@Q0iU5e6-LIRjVjmQ|_x&d-{7&nMNMgJ8SjjrR9CSwVv*t<$a9d ziZ82o_g4G5dwVM@>ivDa-OO>@7Jq4?wtWodRceVb2^-{>Bs-&VB&v>8RQuSD05g3l zRt}hUtf|aUs@>H=yY>m~UhO5|IP5F^9exH~S-pFp4+R#>{k^^2ohvG;?7DD~XIEfR zofDlHkdZ#0slB$TM+Qy~RpLH~1S)pea^PwhtgF=zLnAzNar!M{n)0CJR=XN1?uin^ zZD1oo?@%wJDzipUPvI5-kq-mm)N9wdG)`O6Cl{&OA+e<$_rMXSV>L7#9Tpo3?9z(w zmOuq38nT`B$*_`S*M`<(N>mb8MhU5f=4e(z$-EXkqB~)(r>eO75TgTcf|1Yxw{epz;cL!E3FPXD!#QQM|3>;1Sd0C$ zR6ou5KXQSz%z)UdeUhqK(T?eSB=baHnb^|YB8S8Soe$!--X)Ho((4cRqGsJyd&}vQ zuRz$t>7b(&KCv7+8`s|##Fpz@GyG%M*hiLGhYWt}p{9m~A)6}pYIW?8bHU6ElThCy zCQRZqe{9L5Rcj+>g}!ZaTr@=@FYKcSRlfzK-3V9eTOo(^TVeuN6za>`jFJ%Vapsb}p6YOIFYOq4J04>N} z>NTKFcKCDu#8iEs+e!CI--GtqzJ8*{tjVa&mZ(2{8}9AA<`u?uE&IG9D#Jvu4HYIn zL_TRS2>wIs+~GZ73UU9wO{2J0lFZ$tzCW@>S0b$JCWd`Y)mBp9d;>2@SWe1)eVsik z`d2JR^zwziL>4)JBD1)uSNsFYVyJ-wCjdOD)(J8nnHXN@-1~6mP&o?9;(|3c#wO_6 zc7Of_+@myi@n2}BmKM2-^ZTe}R|4vagnT=bzAy&gbytAe@tsXCZNX1pIfXsxR^>&U z>VBghVJ*LSljd3_*>NRxajKmQfq~8qEYqg|x-3{M$+6pvH{g(pLy%<+ZA7|s;If#V z2M&Tl*eL>90_yarvONl%ueqn(4eA7eHRJ#&up%ymltG11=jNnP=Z8_)n*dxS{4{ws zkR*$YfakOKL#EIxHnx^d$nrKfi3QyXyeq&BOBI3&+|kR4+sl2Fgg^QX(<)%XR>R2% zg;GBSnKOYu?NO5hSJo7jVj?KPwIDuZ^ ziJ$A=#_7OvMytS!<5YfLy}-0H{;H|&&El#y5 zoQffP7{M5+GV@~`)^ePFCu7ZYn0`Ltv2yn4t9VEVLA`r02kv>EV(8vY015aMeZsuJ z3*Xpg5RS(7C_Gvoye8^&y6wzGm?9F5?E)oqqLizLCuCctokxLLbmaVM_!=EG55k*W zFI%M$>ZLyOyO>_I!v93{-7`fQf&ef{3DgrMRBXXj@E7E;n{WG+ z8#ownuLpISJMsM4qpu4F84$%?8JJ}J2C4!L35z?U!<6k=2eRWQ0{D0v6xRVWN0kt=G=c(Xb3Z=kl6mJaqWb%*_8tNz^G z6POoO`sVj`OE7}QWkXeD_Zyy=oB|i7C+s1$J)C{vASedh*Jq!ynu&O#&SoBoh+iau z)wDX9KUzu{d zLbXyWYUpq}#9Z#uY+jrS0otCamxgngOej$8Q(;1ehUb)m*!kYsNF{2hZlGi7p8j-d%>!Lt`h4jmHX5yTe@)u%UXe!vot5ke5i zUqy)uM%3ReJ4Jxsfxw)NP)6T%7iIt(HO%Rc9e~-;Y86y1$}sc8&qJRFir{foKuM8~ z7c9x-4kKlCy)=~r=$L!yh1s2t8puriWkASUT%fI>2o6_z){Oa)#AsrQ)nR49G+5TN zV3-VUORb}O_=x<0ofd~&gJqSRR|Cf#OmMGr0A7j_C+d**_{{rKd&0eq z^lhYblZm2LT9)P~cvRg-^B&e#I0%ZDr%{B61QeU`NESPN5vlN%5O^sbql!*!6pb2i z>|Vi1O`)P)3KmzSu~6?}pfQ?7!`?v4`3jPjUl=^BPeJ6X!LCA1rpaNjxwJ{z{(VaK zuWl9Hz8&~+-dmV!miufz6=lLK*@+NkLM`p4rPPB!y60buO^K62KO| zdyaAR0f0p=&e z$=2&v?;FYxlH}WzW|~Lf=d4_fY!2FTZs*?FCx4~wv7HJHISDcWEWzVzKGv0{ckYCS zYHTIfIOK7%Pd=ALyF86F;8nqc%?5JVNIo<*qak*-)}sCe1=^9A4Q+F6v^K#54M9VE zu{6l}X<%TohJezTFi~;($SY(G^>{D`v_uiB8We$_Dgi}Hpde&6Q1=GNUQ9^>D*Ndbr>f#7&af}&!z&MtS+Nc*jAR}-6@Zx%4N6%avEx5~(vYQ*sl z<$P2m3NxIAf>CZT0jfbi0%H+vouclBbTfqBk$H|nj^_E&-$~L4r5!5usB#dnbffz0 zi^Kg)zDVvN<(QH~ssONHlxY7ASCU6il67ZZJ&JM@I%pgST0RlXk8(`AkW?VBVr#>GTp*Gk!qLPt+v5@th}@23XwO@VW3vfT{-e+~^9s7O0m}vy+1N zL(?GE>tAz+0%|HNkc7oe9r;|G_TD~D&yBtan&6RG{QRB+Ce65HQ!a-m++W~KLxDlDljT0w#D@R`_97D{{R;?+&3Fo& ze>i@x^A5oRAZ@5p9Z+1}Fk(I83H_67x%sIm04msoVuHs=DalYCpY-uIZ-+EPoF%f! zp-*+M%aFX(uqb2jeqdU?RIC)nsxq;~c%lZ{$^Bk(Lw~vDFYH|aU!HkoaBCr4pNz&R z%k1NaVe->*j|gW49oHKN`3jIx;5^_95COj!zE8aNM6avFO|?2dP#GNNeaV28c=I}q zmRD!Nu-?-0QQW%@+)HGJfx6<|tKt~p0<8{miYANU$`zIf1i%M|<|ewRQvr8nz?2!l z#?)peBHgY(+e+g%Nf}Az`1g|nH z+JV2%#AZcHu5D2xs#()Fg;#fUU1|J=b4*15sAyRbPv@}s9=gU);Ls8>U!Nyj-?2db zifnhG0w_RTL(MrRuYrPBs%dZ4t* zg3(uUY|frK1mXbm-KyKx3PZhbPkyb=fs0`Lr+47S6hCH^XHl@Y9G%(lQehuuYR$uY zm2xD=@-X}HE~HaWJ`o#K4v9<$0&`)?Gr~HqLGkQ6qsA(o=#6usqBIc}cUq-cEzL}M zAOd^=txP(iG3U0vPHjyJ9)>25M*_7aCzR_>pdiKp;Cf*U$8K;X zM`eg^`CBeTAt=G(nyK+>kpA1FDFgqjS!91g0JEl;aEk##5pBfe42tuE-Fz8?FZ=hI1j7EYK-8N_ z*s1nqJWP=62!Sw#ovxQO5ZZNrD0aBi5a-wVwXHkXzE_5Qe{PYc881L!Wf}(42!alu zI3A^+vkc_SQ;+2~NUj6!3-MVVDE0OB5A^ibk-KXJlf<;4zOPiZD-Vy3jWa-G7#>p( znqES}K2pvtjC?!#swNz_JX8BW^qH*Ye)cJOGA)IMa7?Gm;GN;4T;ObRX$TYA!)AP) zxd}<%TFT7e;#*wm;78%tz)Wu@R{PKb=rqT7z#hGh>dbVJJhE$I-LqUt;>l!QR+11- zZ+1xXM9>CnqXU);*|CqGv2c)^mDhshfA-g}MlGvy@B%<0QtMa_LVsmN z6-NQ(%zHa~di5YI6oLXv%Gd;;Skj|!>S3Py)v=i;-forcs2O+Vzim(MLGOePjD^j^ zML}Ke1xj0o(^CL`(%Xex61islcb_XST@o_83f7CHb~s~xr1#I6c}~A;oqdk)VZEQ4 z7|jBkKMNhdYsT#bb1+YaICyzt{#6N+Nf`C}B&Tb}okj4K`)`qe?wKE4bCLWn{*K$h z|JY1)^P&N!zA)F^1N5$UzOMM=Lgt!7;B&#eY-yEEuJiL|lS96og8mBeHotW$6T6r%?)>%9q^i6gn z7K1L7yQao=kBiYxCdF-_Nb8hF{JoFi#Iu%kG%4-ke4@674WWekRAhyXaFY^>Zel$|Nse3g+Ja!Y7d zHtrl)&(=f32S%%SGk5s$U`wGKg6?fVhh`EE%H-tL*oE48=KQ7HdAYYzE3K&ab=HyZ zysrfAd@8K2<0d7C|^*=#Mf%V8|)Qtbx-DA}$=9c)UV1Alg-~FSDE;k_{ z+GWxp=uLWwrQw`*t=ib$i z9 zLO4TE=BY%qhiy@pvpSS}%B@a=TDo7VX4KS!z$*{U>@6e1h)I(0>;}&6=?&a}@fCLt zlI`V@dqB)g{OduUzQ5h58*~A0UP`R1;lk6tc61VyI`^y}lbUPSTkw!oaC0qtS71_8 zpRcFxKMjTQZuZ+%tkjFiN_`96ID$yBpEKW8_SttzBiKV}bnZYH8$M2Vsnu+9P1kpI z=LUXPsa(UJzdD5ybV7b|vC&iSh6;%e#hVPl$T$&9{r29`0~^vkB~!CTecfUHdNiW54HTaoHRTK$8zGOVQ4J>YJt zTxkB1M%T(TwZ&I*L)fk7%zCQ%xgzsM8G4-R;JJ`ynAXW2$gZ@W_#Eb^(nx6s(w3y( z3CmA>jKRGw=#LI$a`!@yg8fy6eZvQ*e?4etF*9T1r5{Zp^^kc#g3bnQL@TWLV0+&n zyA*4+cEfEfPYB*eUE_utjgs*bi-LE81>|b*M!{1?P$S7v@PyYDvd&LzA4YC`*0Na~ zyi_HDC}1%M$qQ%#kr5u@N2t9HyM8miA$cd?;IgSqO(;Q?IVlEUN(l4tyEfB_x&Gll zR`Bzmw`xEv;K&YUEZaiEdauYnmS|`Yvg~uLZNXDia4LAZeF~&32e45ceyHH_RPo~m zF7Tq(@;Hwjr+Q%)XU6E|nm$taw6UcK<&nk~bdeiLsrWHO0AP`8U6)D9KQ5l7dhvAN z>Mxp(`e+UQc)7lZE99JWkL&U{H%(=X@yhJn!2|~Wp=bid5$~#OdpwoIkp*BWQ6R-# z_6t4+6{rp)c@vIa4g-tPFX)i5~QR9PvIFQ zd`>{rl6N40!tUg{Lj~j%snbsyh!d!Q0S{=Py+GO}F5g$O(>pZ^iJ-DYGb!fKgT{XQ zaAjgULLPEciCy|gWefIo4jA07a3!V4v|^!kC>afn3*k{^TdoZ5()C+le?f^}=u+j5 z{6L$8oXDVza5Z!d(xP;uT*x7#%d7TwQd4R0m^Lu3>VeeDw%9QT$z#tq7+%2_jx%v= zO!yJFhOJX~5Epcs+=0SXgFm!eF#cNR)oM)sWX-V{#yo0c`BdMpab=GJUO`^3s#b+* zf?YP#vFmcMHpz_HkWYj!4Z4;Olh@Z|I#9^M@};;3H=^704#$Dbe2CF1OVo@5h9MY@ zz6BqTRc^-DW7E&;Dj)d zpdu~%8N}I`Q&ehFSyR{J1$XU+deX_pcPbcl_a0d__vV zHaZq4*tS3ivbB%@Jivb_VQgK`zeq#2QX1Jh%Ab^KMUL8fH-C~i2;V73bL%I3Mv}7i w2mEUr{~<%abrb)h$h>use^H*=N`Y(Zzv9md|2fHjPVpb|?OVy=ADC+YKd0DUkN^Mx literal 869210 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 t.CChar | t.CPtr: pass - -def create_block(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass - -def const_int(pool: memhub.MemBuddy | t.CPtr, bits: t.CInt, val: t.CInt64T) -> Value | t.CPtr: pass - -def const_int32(pool: memhub.MemBuddy | t.CPtr, val: t.CInt64T) -> Value | t.CPtr: pass - -def const_int64(pool: memhub.MemBuddy | t.CPtr, val: t.CInt64T) -> Value | t.CPtr: pass - -def create_function(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - -def add_param(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass - -def create_declare(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - -def create_global_string(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, text: t.CChar | t.CPtr) -> GlobalVariable | t.CPtr: pass - -def create_global_int(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, bits: t.CInt, val: t.CInt64T) -> GlobalVariable | t.CPtr: pass - - -@t.NoVTable -class LLVMModuleCore: - Pool: memhub.MemBuddy | t.CPtr - def __init__(self: LLVMModuleCore, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - def NewModule(self: LLVMModuleCore, name: t.CChar | t.CPtr) -> LLVMModule | t.CPtr: pass - def CreateFunction(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - def CreateDeclare(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - def AddParam(self: LLVMModuleCore, func: Function | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass - def FunctionSetAttrs(self: LLVMModuleCore, func: Function | t.CPtr, attrs: t.CChar | t.CPtr) -> t.CInt: pass - def ParamSetAttrs(self: LLVMModuleCore, param: Param | t.CPtr, attrs: t.CChar | t.CPtr) -> t.CInt: pass - def CreateBlock(self: LLVMModuleCore, func: Function | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass - def NewBuilder(self: LLVMModuleCore, func: Function | t.CPtr) -> IRBuilder | t.CPtr: pass - def NewGlobal(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, ty: LLVMType | t.CPtr) -> GlobalVariable | t.CPtr: pass - def CreateGlobalString(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, text: t.CChar | t.CPtr) -> GlobalVariable | t.CPtr: pass - def CreateGlobalInt(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr, bits: t.CInt, val: t.CInt64T) -> GlobalVariable | t.CPtr: pass - def GlobalSetConstant(self: LLVMModuleCore, gv: GlobalVariable | t.CPtr, is_const: t.CInt) -> t.CInt: pass - def GlobalSetLinkage(self: LLVMModuleCore, gv: GlobalVariable | t.CPtr, linkage: t.CChar | t.CPtr) -> t.CInt: pass - def GlobalSetUnnamedAddr(self: LLVMModuleCore, gv: GlobalVariable | t.CPtr, level: t.CInt) -> t.CInt: pass - def GlobalSetSection(self: LLVMModuleCore, gv: GlobalVariable | t.CPtr, section: t.CChar | t.CPtr) -> t.CInt: pass - def ConstInt(self: LLVMModuleCore, bits: t.CInt, val: t.CInt64T) -> Value | t.CPtr: pass - def ConstInt32(self: LLVMModuleCore, val: t.CInt64T) -> Value | t.CPtr: pass - def ConstInt64(self: LLVMModuleCore, val: t.CInt64T) -> Value | t.CPtr: pass - def ConstFloat(self: LLVMModuleCore, ty: LLVMType | t.CPtr, val: t.CDouble) -> Value | t.CPtr: pass - def SSAValue(self: LLVMModuleCore, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - def ConstNull(self: LLVMModuleCore, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - def PrintValue(self: LLVMModuleCore, buf: t.CChar | t.CPtr, size: t.CSizeT, val: Value | t.CPtr) -> t.CInt: pass - def PrintFunction(self: LLVMModuleCore, buf: t.CChar | t.CPtr, size: t.CSizeT, func: Function | t.CPtr) -> t.CInt: pass - def PrintModule(self: LLVMModuleCore, buf: t.CChar | t.CPtr, size: t.CSizeT, mod: LLVMModule | t.CPtr) -> t.CInt: pass - def NewVerifyResult(self: LLVMModuleCore, buf_size: t.CSizeT) -> VerifyResult | t.CPtr: pass - def VerifyFunction(self: LLVMModuleCore, func: Function | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass - def VerifyModule(self: LLVMModuleCore, mod: LLVMModule | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/40c03bc03431ef81.stub.ll.dep b/Test/LLvmLiteTest/temp/40c03bc03431ef81.stub.ll.dep deleted file mode 100644 index 168b0a8..0000000 --- a/Test/LLvmLiteTest/temp/40c03bc03431ef81.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|63d0e4548b4c4672|6c658cc728d0bbf4|71e0a3ffcb3ebfad|874bac141c97bae9|928c0ff6d8c69ec9|a5e9a83e9db303ad|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/40c03bc03431ef81.vpi b/Test/LLvmLiteTest/temp/40c03bc03431ef81.vpi deleted file mode 100644 index 472a73e..0000000 --- a/Test/LLvmLiteTest/temp/40c03bc03431ef81.vpi +++ /dev/null @@ -1,89 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__module.vp -Module: llvmlite.__module -""" - - -import t, c -from stdint import * -import string -import stdio -import viperlib -import memhub -from linkedlist import GSList, GSListNode -from .__types import LLVMType, TypePrint, Array, PrintStructDefinition, get_struct_name, Struct, ParamNode -from .__function import Function, FunctionPrint, _ll_name_needs_quote, Param - -@t.NoVTable -class GlobalVariable(GSListNode[GlobalVariable]): - Name: t.CChar | t.CPtr - Ty: LLVMType | t.CPtr - Initializer: t.CVoid | t.CPtr - IsConstant: t.CInt - Linkage: t.CChar | t.CPtr - Section: t.CChar | t.CPtr - UnnamedAddr: t.CInt -@t.NoVTable -class NamedTypeNode(GSListNode[NamedTypeNode]): - Ty: LLVMType | t.CPtr -@t.NoVTable -class LLVMModule: - Name: t.CChar | t.CPtr - FuncHead: Function | t.CPtr - FuncTail: Function | t.CPtr - FuncCount: t.CSizeT - GlobalHead: GlobalVariable | t.CPtr - GlobalTail: GlobalVariable | t.CPtr - GlobalCount: t.CSizeT - TargetTriple: t.CChar | t.CPtr - DataLayout: t.CChar | t.CPtr - NamedTypeHead: NamedTypeNode | t.CPtr - NamedTypeTail: NamedTypeNode | t.CPtr - NamedTypeCount: t.CSizeT - -def new_module(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> LLVMModule | t.CPtr: pass - - -GV_SIZE: t.CDefine = 64 -NAMED_TYPE_NODE_SIZE: t.CDefine = 16 - -def new_global_variable(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr, ty: LLVMType | t.CPtr) -> GlobalVariable | t.CPtr: pass - -def module_add_function(mod: LLVMModule | t.CPtr, func: Function | t.CPtr) -> t.CInt: pass - -def module_add_global(mod: LLVMModule | t.CPtr, gv: GlobalVariable | t.CPtr) -> t.CInt: pass - -def module_set_target(mod: LLVMModule | t.CPtr, triple: t.CChar | t.CPtr) -> t.CInt: pass - -def module_set_datalayout(mod: LLVMModule | t.CPtr, layout: t.CChar | t.CPtr) -> t.CInt: pass - -def _is_opaque_struct(ty: LLVMType | t.CPtr) -> int: pass - -def module_add_named_type(mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass - -def _is_type_defined_in_module(mod: LLVMModule | t.CPtr, name: t.CChar | t.CPtr) -> int: pass - -def _scan_type_for_cross_module_refs(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass - -def module_ensure_opaque_for_type(mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass - -def global_set_constant(gv: GlobalVariable | t.CPtr, is_const: t.CInt) -> t.CInt: pass - -def global_set_linkage(gv: GlobalVariable | t.CPtr, linkage: t.CChar | t.CPtr) -> t.CInt: pass - -def global_set_unnamed_addr(gv: GlobalVariable | t.CPtr, level: t.CInt) -> t.CInt: pass - -def global_set_section(gv: GlobalVariable | t.CPtr, section: t.CChar | t.CPtr) -> t.CInt: pass - - -OUTPUT_FULL: t.CDefine = 0 # 完整 IR(stub + text) -OUTPUT_STUB: t.CDefine = 1 # 仅声明(header + 类型定义 + declare + external global) -OUTPUT_TEXT: t.CDefine = 2 # 仅代码(define + global 带初值) - -def LLVMModulePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, mod: LLVMModule | t.CPtr, pool: memhub.MemBuddy | t.CPtr, mode: t.CInt) -> t.CInt: pass - -def _print_global(buf: t.CChar | t.CPtr, size: t.CSizeT, gv: GlobalVariable | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - -def _print_global_stub(buf: t.CChar | t.CPtr, size: t.CSizeT, gv: GlobalVariable | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - -def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass diff --git a/Test/LLvmLiteTest/temp/5b8cf12a5862b640.doc.json b/Test/LLvmLiteTest/temp/5b8cf12a5862b640.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/LLvmLiteTest/temp/5b8cf12a5862b640.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/5b8cf12a5862b640.vpi b/Test/LLvmLiteTest/temp/5b8cf12a5862b640.vpi deleted file mode 100644 index 588695c..0000000 --- a/Test/LLvmLiteTest/temp/5b8cf12a5862b640.vpi +++ /dev/null @@ -1,72 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -import t, c -from stdint import * -import stdio -import string -import stdlib -import memhub -import testcheck -import llvmlite - -POOL_SIZE: t.CDefine = 524288 # 512KB - -def test_type_print(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_value_print(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_build_add(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_build_if_else(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_module_print(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_array_type(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_struct_type(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_func_type(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_declare(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_float_types(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_float_binops(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_bitwise_ops(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_fcmp(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_casts(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_fp_conversions(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_phi(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_switch(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_select(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_globals(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_attributes(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_atomic(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_inline_asm_unreachable(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_verify_valid(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_verify_no_terminator(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_verify_duplicate_def(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_verify_undef_use(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def test_verify_module(pool: memhub.MemPool | t.CPtr) -> t.CInt: pass - -def main() -> int: pass diff --git a/Test/LLvmLiteTest/temp/63d0e4548b4c4672.stub.ll.dep b/Test/LLvmLiteTest/temp/63d0e4548b4c4672.stub.ll.dep deleted file mode 100644 index ce4ccad..0000000 --- a/Test/LLvmLiteTest/temp/63d0e4548b4c4672.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|71e0a3ffcb3ebfad|928c0ff6d8c69ec9|a5e9a83e9db303ad|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/63d0e4548b4c4672.vpi b/Test/LLvmLiteTest/temp/63d0e4548b4c4672.vpi deleted file mode 100644 index 05ac6c7..0000000 --- a/Test/LLvmLiteTest/temp/63d0e4548b4c4672.vpi +++ /dev/null @@ -1,143 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__types.vp -Module: llvmlite.__types -""" - - -import t, c -from stdint import * -import viperlib -import string -import memhub -import stdio -import stdlib -from linkedlist import GSListNode - -@t.NoVTable -class ParamNode(GSListNode[ParamNode]): - Ty: t.CVoid | t.CPtr -class LLVMType(t.REnum): - class Int: - Bits: t.CInt - class Ptr: - Pointee: LLVMType | t.CPtr - class Func: - Ret: LLVMType | t.CPtr - Params: ParamNode | t.CPtr - PCount: t.CInt - class Array: - ElemTy: LLVMType | t.CPtr - Count: t.CInt - class Struct: - Fields: ParamNode | t.CPtr - FCount: t.CInt - Name: t.CChar | t.CPtr - class Float: - Bits: t.CInt - class Void: - pass - class Label: - pass - class Metadata: - pass - -def _new_type(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int1(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int8(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int16(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int32(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Int64(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Ptr(pool: memhub.MemBuddy | t.CPtr, pointee: LLVMType | t.CPtr) -> LLVMType | t.CPtr: pass - -def Func(pool: memhub.MemBuddy | t.CPtr, ret: LLVMType | t.CPtr, params: ParamNode | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass - -def Void(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Array(pool: memhub.MemBuddy | t.CPtr, elem_ty: LLVMType | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass - -def Struct(pool: memhub.MemBuddy | t.CPtr, fields: ParamNode | t.CPtr, fcount: t.CInt, name: t.CChar | t.CPtr) -> LLVMType | t.CPtr: pass - -def Half(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Float(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Double(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def FP128(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - -def Label(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass - - -PNODE_SIZE: t.CDefine = 16 - -def new_param_node(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> ParamNode | t.CPtr: pass - -def param_list_append(head: ParamNode | t.CPtr, tail: ParamNode | t.CPtr, node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass - -def paramnode_get_ty(node: ParamNode | t.CPtr) -> LLVMType | t.CPtr: pass - -def paramnode_get_next(node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass - -def paramnode_set_ty(node: ParamNode | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass - -def paramnode_set_next(node: ParamNode | t.CPtr, nxt: ParamNode | t.CPtr) -> t.CInt: pass - - -@t.NoVTable -class LLVMTypeCore: - Pool: memhub.MemBuddy | t.CPtr - def __init__(self: LLVMTypeCore, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - def Int1(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Int8(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Int16(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Int32(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Int64(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Ptr(self: LLVMTypeCore, pointee: LLVMType | t.CPtr) -> LLVMType | t.CPtr: pass - def Func(self: LLVMTypeCore, ret: LLVMType | t.CPtr, params: ParamNode | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass - def Array(self: LLVMTypeCore, elem_ty: LLVMType | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass - def Struct(self: LLVMTypeCore, fields: ParamNode | t.CPtr, fcount: t.CInt, name: t.CChar | t.CPtr) -> LLVMType | t.CPtr: pass - def Void(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Half(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Float(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Double(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def FP128(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def Label(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass - def NewParamNode(self: LLVMTypeCore, ty: LLVMType | t.CPtr) -> ParamNode | t.CPtr: pass - def ParamListAppend(self: LLVMTypeCore, head: ParamNode | t.CPtr, tail: ParamNode | t.CPtr, node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass - def PrintType(self: LLVMTypeCore, buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr) -> t.CInt: pass - -def TypePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - - -TYPEPRINT_MAX_DEPTH: t.CDefine = 100 - -def _TypePrintDepth(buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr, pool: memhub.MemBuddy | t.CPtr, depth: t.CInt) -> t.CInt: pass - -def _strappend(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass - -def _print_struct_body(buf: t.CChar | t.CPtr, size: t.CSizeT, fields: ParamNode | t.CPtr, pool: memhub.MemBuddy | t.CPtr, depth: t.CInt = 0) -> t.CInt: pass - -def PrintStructDefinition(buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - -def get_struct_name(ty: LLVMType | t.CPtr) -> t.CChar | t.CPtr: pass - -def get_struct_fields(ty: LLVMType | t.CPtr) -> ParamNode | t.CPtr: pass - -def get_struct_fcount(ty: LLVMType | t.CPtr) -> t.CInt: pass - - -DEEPCOPY_MAX_DEPTH: t.CDefine = 64 - -def DeepCopyType(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> LLVMType | t.CPtr: pass - -def _DeepCopyDepth(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, depth: t.CInt) -> LLVMType | t.CPtr: pass - -def _DeepCopyParamChain(pool: memhub.MemBuddy | t.CPtr, head: ParamNode | t.CPtr, depth: t.CInt) -> ParamNode | t.CPtr: pass - -def _DeepCopyStr(pool: memhub.MemBuddy | t.CPtr, s: t.CChar | t.CPtr) -> t.CChar | t.CPtr: pass diff --git a/Test/LLvmLiteTest/temp/6b3bc463fd044545.stub.ll.dep b/Test/LLvmLiteTest/temp/6b3bc463fd044545.stub.ll.dep deleted file mode 100644 index f0111df..0000000 --- a/Test/LLvmLiteTest/temp/6b3bc463fd044545.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|40c03bc03431ef81|63d0e4548b4c4672|6c658cc728d0bbf4|71e0a3ffcb3ebfad|874bac141c97bae9|928c0ff6d8c69ec9|a5e9a83e9db303ad|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/6b3bc463fd044545.vpi b/Test/LLvmLiteTest/temp/6b3bc463fd044545.vpi deleted file mode 100644 index fe69d8a..0000000 --- a/Test/LLvmLiteTest/temp/6b3bc463fd044545.vpi +++ /dev/null @@ -1,63 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__verify.vp -Module: llvmlite.__verify -""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -from linkedlist import GSListNode, GSList -from .__function import Function, BasicBlock, Line, Param -from .__module import LLVMModule - -VERIFY_OK: t.CDefine = 0 -VERIFY_ERR_NO_TERMINATOR: t.CDefine = 1 -VERIFY_ERR_DUPLICATE_DEF: t.CDefine = 2 -VERIFY_ERR_UNDEFINED_USE: t.CDefine = 3 -VERIFY_ERR_PHI_NOT_FIRST: t.CDefine = 4 - -@t.NoVTable -class NameEntry(GSListNode[NameEntry]): - Name: t.CChar | t.CPtr -class VerifyResult: - ErrorCount: t.CInt - WarningCount: t.CInt - ErrorCode: t.CInt - ErrorBuf: t.CChar | t.CPtr - ErrorBufSize: t.CSizeT - -def _new_verify_result(pool: memhub.MemBuddy | t.CPtr, buf_size: t.CSizeT) -> VerifyResult | t.CPtr: pass - -def _report_error(result: VerifyResult | t.CPtr, code: t.CInt, msg: t.CChar | t.CPtr) -> t.CInt: pass - -def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass - -def _new_name_table(pool: memhub.MemBuddy | t.CPtr) -> GSList[NameEntry] | t.CPtr: pass - - -NENTRY_SIZE: t.CDefine = 16 - -def _name_table_add(table: GSList[NameEntry] | t.CPtr, pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass - -def _name_table_contains(table: GSList[NameEntry] | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass - -def _is_char_name(ch: t.CChar) -> t.CInt: pass - -def _extract_def_name(pool: memhub.MemBuddy | t.CPtr, text: t.CChar | t.CPtr) -> t.CChar | t.CPtr: pass - -def _is_terminator(text: t.CChar | t.CPtr) -> t.CInt: pass - -def _is_phi(text: t.CChar | t.CPtr) -> t.CInt: pass - -def _check_uses_in_line(table: GSList[NameEntry] | t.CPtr, text: t.CChar | t.CPtr, def_name: t.CChar | t.CPtr) -> t.CInt: pass - -def _name_matches_at(text: t.CChar | t.CPtr, start: t.CInt, length: t.CInt, table: GSList[NameEntry] | t.CPtr) -> t.CInt: pass - -def _str_matches_at(text: t.CChar | t.CPtr, start: t.CInt, length: t.CInt, target: t.CChar | t.CPtr) -> t.CInt: pass - -def verify_function(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass - -def verify_module(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass diff --git a/Test/LLvmLiteTest/temp/874bac141c97bae9.stub.ll.dep b/Test/LLvmLiteTest/temp/874bac141c97bae9.stub.ll.dep deleted file mode 100644 index 4fc6dc2..0000000 --- a/Test/LLvmLiteTest/temp/874bac141c97bae9.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|63d0e4548b4c4672|6c658cc728d0bbf4|71e0a3ffcb3ebfad|928c0ff6d8c69ec9|a5e9a83e9db303ad|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/874bac141c97bae9.vpi b/Test/LLvmLiteTest/temp/874bac141c97bae9.vpi deleted file mode 100644 index 561b05b..0000000 --- a/Test/LLvmLiteTest/temp/874bac141c97bae9.vpi +++ /dev/null @@ -1,119 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__function.vp -Module: llvmlite.__function -""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -import stdio -from linkedlist import GSListNode, GSList -from .__types import LLVMType, ParamNode, TypePrint - -@t.NoVTable -class Line(GSListNode[Line]): - Buf: t.CChar | t.CPtr - Len: t.CSizeT -@t.NoVTable -class BasicBlock(GSListNode[BasicBlock]): - Name: t.CChar | t.CPtr - Lines: GSList[Line] | t.CPtr - IsTerminated: t.CInt -@t.NoVTable -class Param(GSListNode[Param]): - Ty: LLVMType | t.CPtr - Name: t.CChar | t.CPtr - Attrs: t.CChar | t.CPtr -@t.NoVTable -class Function(GSListNode[Function]): - Name: t.CChar | t.CPtr - RetTy: LLVMType | t.CPtr - Params: GSList[Param] | t.CPtr - Blocks: GSList[BasicBlock] | t.CPtr - IsDeclared: t.CInt - IsVarArg: t.CInt - Attrs: t.CChar | t.CPtr - -LINE_SIZE: t.CDefine = 24 - -def new_line(pool: memhub.MemBuddy | t.CPtr, text: t.CChar | t.CPtr) -> Line | t.CPtr: pass - -def _new_gslist(pool: memhub.MemBuddy | t.CPtr, list_size: t.CSizeT) -> t.CPtr: pass - - -BLOCK_SIZE: t.CDefine = 32 - -def new_basic_block(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass - - -PARAM_SIZE: t.CDefine = 32 - -def new_param(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass - - -FUNC_SIZE: t.CDefine = 56 - -def new_function(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass - -def function_add_param(func: Function | t.CPtr, param: Param | t.CPtr) -> t.CInt: pass - -def function_add_block(func: Function | t.CPtr, block: BasicBlock | t.CPtr) -> t.CInt: pass - -def function_move_block_to_end(func: Function | t.CPtr, block: BasicBlock | t.CPtr) -> t.CInt: pass - -def block_append_line(block: BasicBlock | t.CPtr, line: Line | t.CPtr) -> t.CInt: pass - -def block_set_terminated(block: BasicBlock | t.CPtr, val: t.CInt) -> t.CInt: pass - -def block_get_terminated(block: BasicBlock | t.CPtr) -> t.CInt: pass - -def block_append_text(pool: memhub.MemBuddy | t.CPtr, block: BasicBlock | t.CPtr, text: t.CChar | t.CPtr) -> t.CInt: pass - -def block_insert_text_before_terminator(pool: memhub.MemBuddy | t.CPtr, block: BasicBlock | t.CPtr, text: t.CChar | t.CPtr) -> t.CInt: pass - -def function_set_attrs(func: Function | t.CPtr, attrs: t.CChar | t.CPtr) -> t.CInt: pass - -def param_set_attrs(param: Param | t.CPtr, attrs: t.CChar | t.CPtr) -> t.CInt: pass - -def _ll_name_needs_quote(name: str) -> t.CInt: pass - -def _is_digit_ch(ch: t.CChar) -> t.CInt: pass - -def _map_get_i32(map_arr: t.CChar | t.CPtr, idx: t.CInt) -> t.CInt: pass - -def _map_set_i32(map_arr: t.CChar | t.CPtr, idx: t.CInt, val: t.CInt) -> t.CInt: pass - -def _scan_max_ssa_in_text(text: t.CChar | t.CPtr, cur_max: t.CInt) -> t.CInt: pass - -def _find_max_ssa_number(func: Function | t.CPtr) -> t.CInt: pass - -def _assign_new_numbers(text: t.CChar | t.CPtr, map_arr: t.CChar | t.CPtr, max_n: t.CInt, next_new: t.CInt) -> t.CInt: pass - -def _replace_ssa_numbers(text: t.CChar | t.CPtr, pool: memhub.MemBuddy | t.CPtr, map_arr: t.CChar | t.CPtr, max_n: t.CInt) -> t.CChar | t.CPtr: pass - -def RenumberSSA(func: Function | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - -def FunctionPrint(buf: t.CChar | t.CPtr, size: t.CSizeT, func: Function | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - -def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass - -def function_get_name(func: Function | t.CPtr) -> t.CChar | t.CPtr: pass - -def function_get_ret_ty(func: Function | t.CPtr) -> LLVMType | t.CPtr: pass - -def function_get_params(func: Function | t.CPtr) -> GSList[Param] | t.CPtr: pass - -def function_get_param_head(func: Function | t.CPtr) -> Param | t.CPtr: pass - -def function_get_next(func: Function | t.CPtr) -> Function | t.CPtr: pass - -def function_is_declared(func: Function | t.CPtr) -> t.CInt: pass - -def param_get_name(param: Param | t.CPtr) -> t.CChar | t.CPtr: pass - -def param_get_ty(param: Param | t.CPtr) -> LLVMType | t.CPtr: pass - -def param_get_next(param: Param | t.CPtr) -> Param | t.CPtr: pass diff --git a/Test/LLvmLiteTest/temp/_phase1_manifest.json b/Test/LLvmLiteTest/temp/_phase1_manifest.json index dd1596a..9c2512d 100644 --- a/Test/LLvmLiteTest/temp/_phase1_manifest.json +++ b/Test/LLvmLiteTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\LLvmLiteTest\\App\\main.vp": {"sha1": "5b8cf12a5862b640", "mtime": 1784566611.833192, "size": 50855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__init__.vp": {"sha1": "33d64eeb99369a85", "mtime": 1785480244.1533804, "size": 17045}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__builder.vp": {"sha1": "a7748ef067f79205", "mtime": 1785688461.307784, "size": 52267}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__function.vp": {"sha1": "874bac141c97bae9", "mtime": 1785342172.222551, "size": 30049}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__module.vp": {"sha1": "40c03bc03431ef81", "mtime": 1785883871.9098086, "size": 23144}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__types.vp": {"sha1": "63d0e4548b4c4672", "mtime": 1785919406.630486, "size": 27667}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__values.vp": {"sha1": "f9e36e2cd6fa659f", "mtime": 1784566611.8301415, "size": 6739}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__verify.vp": {"sha1": "6b3bc463fd044545", "mtime": 1784566611.82952, "size": 14751}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "f6ab8989f3545e83", "mtime": 1785882958.4542437, "size": 59045}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\LLvmLiteTest\\App\\main.vp": {"sha1": "967a46e9b6ccdfde", "mtime": 1786169754.7262282, "size": 51143}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__init__.vp": {"sha1": "717eb7bfaf23dbc3", "mtime": 1786210372.0621626, "size": 17067}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__builder.vp": {"sha1": "6d34c2e4e943eaa5", "mtime": 1786318260.854318, "size": 74293}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__function.vp": {"sha1": "7b90275225506d7d", "mtime": 1786318277.0655384, "size": 30533}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__module.vp": {"sha1": "01d8e043f100147a", "mtime": 1786318283.4530182, "size": 25852}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__types.vp": {"sha1": "afb6ea93f62bf768", "mtime": 1786356281.3707955, "size": 28609}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__values.vp": {"sha1": "bef89476dfde96fe", "mtime": 1786318261.8963718, "size": 7746}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__verify.vp": {"sha1": "1ab30dd423d0e622", "mtime": 1786318262.8905673, "size": 14985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "bba983c61a970f7c", "mtime": 1786320034.4835327, "size": 59458}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/_sha1_map.txt b/Test/LLvmLiteTest/temp/_sha1_map.txt index 08f4ef5..6a0d6dc 100644 --- a/Test/LLvmLiteTest/temp/_sha1_map.txt +++ b/Test/LLvmLiteTest/temp/_sha1_map.txt @@ -1,21 +1,21 @@ -04e5fe47ff2af528:includes/memhub.vp +01d8e043f100147a:includes/llvmlite\__module.vp +1ab30dd423d0e622:includes/llvmlite\__verify.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp -33d64eeb99369a85:includes/llvmlite\__init__.vp -40c03bc03431ef81:includes/llvmlite\__module.vp -5b8cf12a5862b640:main.vp -63d0e4548b4c4672:includes/llvmlite\__types.vp -6b3bc463fd044545:includes/llvmlite\__verify.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp +6d34c2e4e943eaa5:includes/llvmlite\__builder.vp +717eb7bfaf23dbc3:includes/llvmlite\__init__.vp 71e0a3ffcb3ebfad:includes/stdarg.vp 748d0424e8976fa0:includes/testcheck.vp -874bac141c97bae9:includes/llvmlite\__function.vp -928c0ff6d8c69ec9:includes/string.vp +7b90275225506d7d:includes/llvmlite\__function.vp +967a46e9b6ccdfde:main.vp a5e9a83e9db303ad:includes/linkedlist.vp -a7748ef067f79205:includes/llvmlite\__builder.vp aa246c6e6aa30484:includes/atom.vp +afb6ea93f62bf768:includes/llvmlite\__types.vp +bba983c61a970f7c:includes/viperlib.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp +bef89476dfde96fe:includes/llvmlite\__values.vp f5522571bcce7bcb:includes/stdint.vp -f6ab8989f3545e83:includes/viperlib.vp -f9e36e2cd6fa659f:includes/llvmlite\__values.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/LLvmLiteTest/temp/a7748ef067f79205.stub.ll.dep b/Test/LLvmLiteTest/temp/a7748ef067f79205.stub.ll.dep deleted file mode 100644 index d2f1ade..0000000 --- a/Test/LLvmLiteTest/temp/a7748ef067f79205.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|63d0e4548b4c4672|6c658cc728d0bbf4|71e0a3ffcb3ebfad|874bac141c97bae9|928c0ff6d8c69ec9|a5e9a83e9db303ad|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83|f9e36e2cd6fa659f \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/a7748ef067f79205.vpi b/Test/LLvmLiteTest/temp/a7748ef067f79205.vpi deleted file mode 100644 index a396b24..0000000 --- a/Test/LLvmLiteTest/temp/a7748ef067f79205.vpi +++ /dev/null @@ -1,229 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__builder.vp -Module: llvmlite.__builder -""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -import stdio -from linkedlist import GSListNode, GSList -from .__types import LLVMType, TypePrint -from .__values import Value, new_value, SSAValue -from .__function import Function, BasicBlock, block_append_text, block_set_terminated, block_get_terminated, function_move_block_to_end, _ll_name_needs_quote, block_insert_text_before_terminator - -@t.NoVTable -class IRBuilder: - Pool: memhub.MemBuddy | t.CPtr - Func: Function | t.CPtr - CurBlock: BasicBlock | t.CPtr - Counter: t.CInt - -BUILDER_SIZE: t.CDefine = 32 - -def new_builder(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr) -> IRBuilder | t.CPtr: pass - -def position_at_end(builder: IRBuilder | t.CPtr, block: BasicBlock | t.CPtr) -> t.CInt: pass - -def _alloc_ssa_name(builder: IRBuilder | t.CPtr) -> t.CChar | t.CPtr: pass - -def _type_str(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr) -> t.CChar | t.CPtr: pass - -def _emit(builder: IRBuilder | t.CPtr, text: t.CChar | t.CPtr) -> t.CInt: pass - -def _mark_terminated(builder: IRBuilder | t.CPtr) -> t.CInt: pass - -def builder_cur_block_is_terminated(builder: IRBuilder | t.CPtr) -> t.CInt: pass - -def build_alloca(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_alloca_at_entry(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_load(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr, ptr: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_store(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, ptr: Value | t.CPtr) -> t.CInt: pass - -def build_add(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_sub(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_mul(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_sdiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_udiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_srem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_urem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_and(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_or(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_xor(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_shl(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_lshr(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_ashr(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fadd(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fsub(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fmul(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fdiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_frem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fneg(builder: IRBuilder | t.CPtr, val: Value | t.CPtr) -> Value | t.CPtr: pass - -def _build_binop(builder: IRBuilder | t.CPtr, op: t.CChar | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - - -ICMP_EQ: t.CDefine = 0 -ICMP_NE: t.CDefine = 1 -ICMP_SGT: t.CDefine = 2 -ICMP_SGE: t.CDefine = 3 -ICMP_SLT: t.CDefine = 4 -ICMP_SLE: t.CDefine = 5 -ICMP_UGT: t.CDefine = 6 -ICMP_UGE: t.CDefine = 7 -ICMP_ULT: t.CDefine = 8 -ICMP_ULE: t.CDefine = 9 -FCMP_FALSE: t.CDefine = 0 -FCMP_OEQ: t.CDefine = 1 -FCMP_OGT: t.CDefine = 2 -FCMP_OGE: t.CDefine = 3 -FCMP_OLT: t.CDefine = 4 -FCMP_OLE: t.CDefine = 5 -FCMP_ONE: t.CDefine = 6 -FCMP_ORD: t.CDefine = 7 -FCMP_UNO: t.CDefine = 8 -FCMP_UEQ: t.CDefine = 9 -FCMP_UGT: t.CDefine = 10 -FCMP_UGE: t.CDefine = 11 -FCMP_ULT: t.CDefine = 12 -FCMP_ULE: t.CDefine = 13 -FCMP_UNE: t.CDefine = 14 -FCMP_TRUE: t.CDefine = 15 - -def _icmp_pred_str(pred: t.CInt) -> t.CChar | t.CPtr: pass - -def _fcmp_pred_str(pred: t.CInt) -> t.CChar | t.CPtr: pass - -def build_icmp(builder: IRBuilder | t.CPtr, pred: t.CInt, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_fcmp(builder: IRBuilder | t.CPtr, pred: t.CInt, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_br(builder: IRBuilder | t.CPtr, target: BasicBlock | t.CPtr) -> t.CInt: pass - -def build_cond_br(builder: IRBuilder | t.CPtr, cond: Value | t.CPtr, then_blk: BasicBlock | t.CPtr, else_blk: BasicBlock | t.CPtr) -> t.CInt: pass - -def build_ret(builder: IRBuilder | t.CPtr, val: Value | t.CPtr) -> t.CInt: pass - -def build_ret_void(builder: IRBuilder | t.CPtr) -> t.CInt: pass - -def build_call(builder: IRBuilder | t.CPtr, callee: t.CChar | t.CPtr, args: Value | t.CPtr, arg_count: t.CInt, ret_ty: LLVMType | t.CPtr, is_variadic: t.CInt = 0) -> Value | t.CPtr: pass - -def build_call_indirect(builder: IRBuilder | t.CPtr, callee_val: Value | t.CPtr, args: Value | t.CPtr, arg_count: t.CInt, ret_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_bitcast(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_sext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_trunc(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_zext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_ptrtoint(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_inttoptr(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_fpext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_fptrunc(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_fp2si(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_si2fp(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_fp2ui(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_ui2fp(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def _is_ptr_type(ty: LLVMType | t.CPtr) -> int: pass - -def build_gep(builder: IRBuilder | t.CPtr, elem_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, idx: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_gep_array(builder: IRBuilder | t.CPtr, array_ty: LLVMType | t.CPtr, elem_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, idx: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_gep_struct(builder: IRBuilder | t.CPtr, struct_ty: LLVMType | t.CPtr, field_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, field_idx: t.CInt) -> Value | t.CPtr: pass - - -@t.NoVTable -class PhiIncoming(GSListNode[PhiIncoming]): - Val: Value | t.CPtr - Block: BasicBlock | t.CPtr - -PHIINC_SIZE: t.CDefine = 24 - -def new_phi_incoming(pool: memhub.MemBuddy | t.CPtr, val: Value | t.CPtr, block: BasicBlock | t.CPtr) -> PhiIncoming | t.CPtr: pass - -def build_phi(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr, incoming_head: PhiIncoming | t.CPtr, count: t.CInt) -> Value | t.CPtr: pass - - -@t.NoVTable -class SwitchCase(GSListNode[SwitchCase]): - CaseVal: Value | t.CPtr - Block: BasicBlock | t.CPtr - -SWCASE_SIZE: t.CDefine = 24 - -def new_switch_case(pool: memhub.MemBuddy | t.CPtr, case_val: Value | t.CPtr, block: BasicBlock | t.CPtr) -> SwitchCase | t.CPtr: pass - -def build_switch(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, default_blk: BasicBlock | t.CPtr, cases_head: SwitchCase | t.CPtr, case_count: t.CInt) -> t.CInt: pass - -def build_select(builder: IRBuilder | t.CPtr, cond: Value | t.CPtr, true_val: Value | t.CPtr, false_val: Value | t.CPtr) -> Value | t.CPtr: pass - -def build_unreachable(builder: IRBuilder | t.CPtr) -> t.CInt: pass - - -ATOMIC_XCHG: t.CDefine = 0 -ATOMIC_ADD: t.CDefine = 1 -ATOMIC_SUB: t.CDefine = 2 -ATOMIC_AND: t.CDefine = 3 -ATOMIC_NAND: t.CDefine = 4 -ATOMIC_OR: t.CDefine = 5 -ATOMIC_XOR: t.CDefine = 6 -ATOMIC_MAX: t.CDefine = 7 -ATOMIC_MIN: t.CDefine = 8 -ATOMIC_UMAX: t.CDefine = 9 -ATOMIC_UMIN: t.CDefine = 10 -ATOMIC_ORDER_NOTATOMIC: t.CDefine = 0 -ATOMIC_ORDER_UNORDERED: t.CDefine = 1 -ATOMIC_ORDER_MONOTONIC: t.CDefine = 2 -ATOMIC_ORDER_ACQUIRE: t.CDefine = 3 -ATOMIC_ORDER_RELEASE: t.CDefine = 4 -ATOMIC_ORDER_ACQ_REL: t.CDefine = 5 -ATOMIC_ORDER_SEQ_CST: t.CDefine = 6 - -def _atomic_op_str(op: t.CInt) -> t.CChar | t.CPtr: pass - -def _atomic_order_str(ord: t.CInt) -> t.CChar | t.CPtr: pass - -def build_atomicrmw(builder: IRBuilder | t.CPtr, op: t.CInt, ptr: Value | t.CPtr, val: Value | t.CPtr, order: t.CInt) -> Value | t.CPtr: pass - -def build_cmpxchg(builder: IRBuilder | t.CPtr, ptr: Value | t.CPtr, cmp_val: Value | t.CPtr, new_val: Value | t.CPtr, succ_order: t.CInt, fail_order: t.CInt) -> Value | t.CPtr: pass - -def build_va_arg(builder: IRBuilder | t.CPtr, va_list_ptr: Value | t.CPtr, arg_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def build_inline_asm(builder: IRBuilder | t.CPtr, ret_ty: LLVMType | t.CPtr, asm_text: t.CChar | t.CPtr, constraints: t.CChar | t.CPtr, has_side_effects: t.CInt) -> Value | t.CPtr: pass - -def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass diff --git a/Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.vpi b/Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/LLvmLiteTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/LLvmLiteTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/LLvmLiteTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/f6ab8989f3545e83.vpi b/Test/LLvmLiteTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/LLvmLiteTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.stub.ll.dep b/Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.stub.ll.dep deleted file mode 100644 index 4fc6dc2..0000000 --- a/Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|63d0e4548b4c4672|6c658cc728d0bbf4|71e0a3ffcb3ebfad|928c0ff6d8c69ec9|a5e9a83e9db303ad|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.vpi b/Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.vpi deleted file mode 100644 index bce3987..0000000 --- a/Test/LLvmLiteTest/temp/f9e36e2cd6fa659f.vpi +++ /dev/null @@ -1,51 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__values.vp -Module: llvmlite.__values -""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -from linkedlist import GSListNode -from .__types import LLVMType, TypePrint - -@t.NoVTable -class Value(GSListNode[Value]): - Ty: LLVMType | t.CPtr - Name: t.CChar | t.CPtr - IsConst: t.CInt - IntVal: t.CInt64T - FloatVal: t.CDouble - -VALUE_SIZE: t.CDefine = 48 - -def new_value(pool: memhub.MemBuddy | t.CPtr) -> Value | t.CPtr: pass - -def ConstInt(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, val: t.CInt64T, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - -def ConstNull(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - -def ConstZero(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass - -def ConstFloat(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, val: t.CDouble) -> Value | t.CPtr: pass - -def SSAValue(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass - -def ValuePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, val: Value | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass - -def value_get_ty(val: Value | t.CPtr) -> LLVMType | t.CPtr: pass - -def value_get_next(val: Value | t.CPtr) -> Value | t.CPtr: pass - -def value_set_ty(val: Value | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass - -def value_set_next(val: Value | t.CPtr, nxt: Value | t.CPtr) -> t.CInt: pass - -def value_set_name(val: Value | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass - -def value_set_isconst(val: Value | t.CPtr, is_const: t.CInt) -> t.CInt: pass - -def _append_str(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass diff --git a/Test/ListTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/ListTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/ListTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/ListTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/ListTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ListTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/ListTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ListTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/ListTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ListTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/ListTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ListTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/ListTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/ListTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/ListTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/ListTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/ListTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/ListTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/ListTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/ListTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/ListTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/ListTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/ListTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/ListTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/ListTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/ListTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/ListTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/ListTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/ListTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/ListTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/ListTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/ListTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/ListTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/ListTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ListTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/ListTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/ListTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/ListTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ListTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/ListTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/ListTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/ListTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ListTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/ListTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/ListTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/ListTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/ListTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/ListTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ListTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/ListTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/ListTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/ListTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ListTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/ListTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/ListTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/ListTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/ListTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ListTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/ListTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ListTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/ListTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/ListTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/ListTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/ListTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/ListTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/ListTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/ListTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/ListTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/ListTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/ListTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/ListTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/ListTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/_sha1_map.txt b/Test/ListTest/.tpv_build/temp/_sha1_map.txt index f50cd8e..36d6281 100644 --- a/Test/ListTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/ListTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,13 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp 1ff2c5eb32359e40:main.vp diff --git a/Test/ListTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/ListTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/ListTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/ListTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/ListTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/ListTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/ListTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/ListTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/ListTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/ListTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/ListTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/ListTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/ListTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/ListTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ListTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/ListTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/ListTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/ListTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ListTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/ListTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/ListTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/ListTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/ListTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/ListTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/ListTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ListTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/ListTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/ListTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/ListTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/ListTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/ListTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/ListTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ListTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/ListTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/ListTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/ListTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/ListTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/ListTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/ListTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/ListTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/ListTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/ListTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/ListTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/ListTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/ListTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/ListTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/ListTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/ListTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ListTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/ListTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/ListTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/ListTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/ListTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/ListTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/ListTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/ListTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/ListTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/ListTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/ListTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/ListTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/ListTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/ListTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/ListTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/ListTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/ListTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/ListTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/ListTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/ListTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/ListTest/output/1ff2c5eb32359e40.deps.json b/Test/ListTest/output/1ff2c5eb32359e40.deps.json index b963d1a..cc207bf 100644 --- a/Test/ListTest/output/1ff2c5eb32359e40.deps.json +++ b/Test/ListTest/output/1ff2c5eb32359e40.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "_list": "7cadfe07e983fd90", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "40b053f21c0df07c", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "_list": "7cadfe07e983fd90", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ListTest/temp/7cadfe07e983fd90.stub.ll.dep b/Test/ListTest/temp/7cadfe07e983fd90.stub.ll.dep index 7df8e8d..389b8dd 100644 --- a/Test/ListTest/temp/7cadfe07e983fd90.stub.ll.dep +++ b/Test/ListTest/temp/7cadfe07e983fd90.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|40b053f21c0df07c|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/ListTest/temp/_phase1_manifest.json b/Test/ListTest/temp/_phase1_manifest.json index 1617fd6..ec7581e 100644 --- a/Test/ListTest/temp/_phase1_manifest.json +++ b/Test/ListTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ListTest\\App\\main.vp": {"sha1": "1ff2c5eb32359e40", "mtime": 1782828109.658356, "size": 2856}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ListTest\\App\\main.vp": {"sha1": "1ff2c5eb32359e40", "mtime": 1782828109.658356, "size": 2856}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/ListTest/temp/_sha1_map.txt b/Test/ListTest/temp/_sha1_map.txt index 54ba55f..a5b9f39 100644 --- a/Test/ListTest/temp/_sha1_map.txt +++ b/Test/ListTest/temp/_sha1_map.txt @@ -1,12 +1,12 @@ -04e5fe47ff2af528:includes/memhub.vp 1ff2c5eb32359e40:main.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +40b053f21c0df07c:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 748d0424e8976fa0:includes/testcheck.vp 7cadfe07e983fd90:includes/_list.vp -928c0ff6d8c69ec9:includes/string.vp aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/ListTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/ListTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/ListTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/ListTest/temp/c9f4be41ca1cc2b4.vpi b/Test/ListTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/ListTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/LoopTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/LoopTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/LoopTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LoopTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/LoopTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LoopTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/LoopTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/LoopTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/LoopTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/LoopTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/LoopTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/LoopTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/LoopTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/LoopTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/LoopTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/LoopTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/LoopTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/LoopTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/LoopTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/LoopTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/LoopTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/LoopTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/LoopTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/LoopTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/LoopTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/LoopTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/LoopTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/LoopTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/LoopTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/LoopTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/LoopTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LoopTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/LoopTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/LoopTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/LoopTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/LoopTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/LoopTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/LoopTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/LoopTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/LoopTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/LoopTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/LoopTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/LoopTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/LoopTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/LoopTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/LoopTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/LoopTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/LoopTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/LoopTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/LoopTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/LoopTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/LoopTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LoopTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/LoopTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/LoopTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/LoopTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/LoopTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LoopTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/LoopTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LoopTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/LoopTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/LoopTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/LoopTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/LoopTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/LoopTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/LoopTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/LoopTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/LoopTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/LoopTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/LoopTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/LoopTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/LoopTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/LoopTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/LoopTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/LoopTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/_sha1_map.txt b/Test/LoopTest/.tpv_build/temp/_sha1_map.txt index e2e1256..15f8d76 100644 --- a/Test/LoopTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/LoopTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 86e203c56ae4de20:main.vp diff --git a/Test/LoopTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/LoopTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/LoopTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/LoopTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/LoopTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/LoopTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/LoopTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/LoopTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/LoopTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/LoopTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/LoopTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/LoopTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/LoopTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/LoopTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/LoopTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/LoopTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/LoopTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/LoopTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/LoopTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/LoopTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/LoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/LoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/LoopTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/LoopTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/LoopTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/LoopTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/LoopTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LoopTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/LoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/LoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/LoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/LoopTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/LoopTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/LoopTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/LoopTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/LoopTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/LoopTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/LoopTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/LoopTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/LoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/LoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/LoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/LoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/LoopTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/LoopTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/LoopTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/LoopTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/LoopTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/LoopTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/LoopTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/LoopTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/LoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/LoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/LoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/LoopTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/LoopTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/LoopTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/LoopTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/LoopTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/LoopTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/LoopTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/LoopTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/LoopTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/LoopTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/LoopTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/LoopTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/LoopTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/LoopTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/LoopTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/LoopTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/MemhubTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/MemhubTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/MemhubTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/MemhubTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/MemhubTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/MemhubTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/MemhubTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/MemhubTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/MemhubTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/MemhubTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/MemhubTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/MemhubTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/MemhubTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/MemhubTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/MemhubTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/MemhubTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/MemhubTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/MemhubTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/MemhubTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/MemhubTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/MemhubTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/MemhubTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/MemhubTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/MemhubTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/MemhubTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/MemhubTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/MemhubTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/MemhubTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/MemhubTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/MemhubTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/MemhubTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/MemhubTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/MemhubTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/MemhubTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/MemhubTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/MemhubTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/MemhubTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/MemhubTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/MemhubTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/MemhubTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/MemhubTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/MemhubTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/MemhubTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/MemhubTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/MemhubTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/MemhubTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/MemhubTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/MemhubTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/MemhubTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/MemhubTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/MemhubTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/MemhubTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/MemhubTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/MemhubTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/MemhubTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/MemhubTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/MemhubTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/MemhubTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/MemhubTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/MemhubTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/MemhubTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/MemhubTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/MemhubTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/MemhubTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/MemhubTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/MemhubTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/MemhubTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/MemhubTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/MemhubTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/MemhubTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/MemhubTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/MemhubTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/_sha1_map.txt b/Test/MemhubTest/.tpv_build/temp/_sha1_map.txt index 30a3dcb..527fab4 100644 --- a/Test/MemhubTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/MemhubTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,13 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp 3ff210e50f345c7c:main.vp diff --git a/Test/MemhubTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/MemhubTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/MemhubTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/MemhubTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/MemhubTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/MemhubTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/MemhubTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/MemhubTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/MemhubTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/MemhubTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/MemhubTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/MemhubTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/MemhubTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/MemhubTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/MemhubTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/MemhubTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/MemhubTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/MemhubTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/MemhubTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/MemhubTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/MemhubTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/MemhubTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/MemhubTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/MemhubTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/MemhubTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/MemhubTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/MemhubTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/MemhubTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/MemhubTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/MemhubTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/MemhubTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/MemhubTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/MemhubTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/MemhubTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/MemhubTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/MemhubTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/MemhubTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/MemhubTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/MemhubTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/MemhubTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/MemhubTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/MemhubTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/MemhubTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/MemhubTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/MemhubTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/MemhubTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/MemhubTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/MemhubTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/MemhubTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/MemhubTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/MemhubTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/MemhubTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/MemhubTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/MemhubTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/MemhubTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/MemhubTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/MemhubTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/MemhubTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/MemhubTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/MemhubTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/MemhubTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/MemhubTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/MemhubTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/MemhubTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/MemhubTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/MemhubTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/MemhubTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/MemhubTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/MemhubTest/output/3ff210e50f345c7c.deps.json b/Test/MemhubTest/output/3ff210e50f345c7c.deps.json index 77e94dc..5f38cee 100644 --- a/Test/MemhubTest/output/3ff210e50f345c7c.deps.json +++ b/Test/MemhubTest/output/3ff210e50f345c7c.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "40b053f21c0df07c", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/MemhubTest/temp/_phase1_manifest.json b/Test/MemhubTest/temp/_phase1_manifest.json index c04470c..f69b142 100644 --- a/Test/MemhubTest/temp/_phase1_manifest.json +++ b/Test/MemhubTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\MemhubTest\\App\\main.vp": {"sha1": "3ff210e50f345c7c", "mtime": 1784566611.842932, "size": 3923}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\MemhubTest\\App\\main.vp": {"sha1": "3ff210e50f345c7c", "mtime": 1784566611.842932, "size": 3923}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/MemhubTest/temp/_sha1_map.txt b/Test/MemhubTest/temp/_sha1_map.txt index 0e374e7..3bb9fd7 100644 --- a/Test/MemhubTest/temp/_sha1_map.txt +++ b/Test/MemhubTest/temp/_sha1_map.txt @@ -1,11 +1,11 @@ -04e5fe47ff2af528:includes/memhub.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp 3ff210e50f345c7c:main.vp +40b053f21c0df07c:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/MemhubTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/MemhubTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/MemhubTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/MemhubTest/temp/c9f4be41ca1cc2b4.vpi b/Test/MemhubTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/MemhubTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/NewAstTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/NewAstTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/NewAstTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/NewAstTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NewAstTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/NewAstTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NewAstTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/NewAstTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/NewAstTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/NewAstTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/NewAstTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/NewAstTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/NewAstTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/NewAstTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/NewAstTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/22/22bc0df83b3f0e62.vpi b/Test/NewAstTest/.tpv_build/temp/22/22bc0df83b3f0e62.vpi deleted file mode 100644 index 0da2c6c..0000000 --- a/Test/NewAstTest/.tpv_build/temp/22/22bc0df83b3f0e62.vpi +++ /dev/null @@ -1,180 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperlib -from .tokens import TokOp -class ASTKind(t.CEnum): - Module: t.State - FunctionDef: t.State - ClassDef: t.State - Assign: t.State - If: t.State - For: t.State - While: t.State - Return: t.State - Expr: t.State - Name: t.State - Constant: t.State - BinOp: t.State - UnaryOp: t.State - Call: t.State - Compare: t.State - Expression: t.State - Interactive: t.State - FunctionType: t.State - Delete: t.State - AugAssign: t.State - AnnAssign: t.State - With: t.State - Raise: t.State - Try: t.State - Assert: t.State - Global: t.State - Nonlocal: t.State - Pass: t.State - Break: t.State - Continue: t.State - Import: t.State - ImportFrom: t.State - Match: t.State - BoolOp: t.State - Lambda: t.State - IfExp: t.State - Dict: t.State - Set: t.State - ListComp: t.State - SetComp: t.State - DictComp: t.State - GeneratorExp: t.State - Await: t.State - Yield: t.State - YieldFrom: t.State - FormattedValue: t.State - JoinedStr: t.State - Attribute: t.State - Subscript: t.State - Starred: t.State - List: t.State - Tuple: t.State - Slice: t.State - NamedExpr: t.State - ExceptHandler: t.State - Arguments: t.State - Arg: t.State - Keyword: t.State - Alias: t.State - WithItem: t.State - Comprehension: t.State - OpNode: t.State - MatchCase: t.State - MatchValue: t.State - MatchSingleton: t.State - MatchSequence: t.State - MatchMapping: t.State - MatchClass: t.State - MatchStar: t.State - MatchAs: t.State - MatchOr: t.State - -class ASTCtx(t.CEnum): - Load: t.State - Store: t.State - Del: t.State - -class OpKind(t.CEnum): - Add: t.State - Sub: t.State - Mult: t.State - MatMult: t.State - Div: t.State - Mod: t.State - Pow: t.State - LShift: t.State - RShift: t.State - BitOr: t.State - BitXor: t.State - BitAnd: t.State - FloorDiv: t.State - And: t.State - Or: t.State - Eq: t.State - Ne: t.State - Lt: t.State - Le: t.State - Gt: t.State - Ge: t.State - Is: t.State - IsNot: t.State - In: t.State - NotIn: t.State - Not: t.State - UAdd: t.State - USub: t.State - Invert: t.State - NoneOp: t.State - -CONST_INT: t.CDefine = 1 -CONST_FLOAT: t.CDefine = 2 -CONST_STR: t.CDefine = 3 -CONST_BOOL: t.CDefine = 4 -CONST_NONE: t.CDefine = 5 -CONST_CHAR: t.CDefine = 6 -FLAG_IS_ASYNC: t.CDefine = 1 -FLAG_SIMPLE: t.CDefine = 2 -FLAG_HAS_STAR: t.CDefine = 4 -class ASTFlag(t.CEnum): - IsAsync: t.State - Simple: t.State - HasStar: t.State - -def _copy_str(pool: memhub.MemManager | t.CPtr, src: str) -> str: pass - -def _set_pos(node: AST | t.CPtr, lineno: t.CInt, col_offset: t.CInt, end_lineno: t.CInt, end_col_offset: t.CInt): pass - -def _inherit_pos(node: AST | t.CPtr, ref: AST | t.CPtr): pass - -def _init_ast(node: AST | t.CPtr, pool: memhub.MemManager | t.CPtr, lineno: t.CInt, col: t.CInt): pass - -def _set_parent_list(lst: list[AST | t.CPtr] | t.CPtr, parent: AST | t.CPtr): pass - -def _append_child(lst: list[AST | t.CPtr] | t.CPtr, node: AST | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _binop_from_op(op_id: t.CInt) -> t.CInt: pass - -def _augop_from_op(op_id: t.CInt) -> t.CInt: pass - -def _cmpop_from_op(op_id: t.CInt) -> t.CInt: pass - -def _emit(buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT, text: str) -> t.CSizeT: pass - -def _emit_str(buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT, text: str) -> t.CSizeT: pass - -def _emit_int(buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT, val: t.CInt64T) -> t.CSizeT: pass - -def _op_name(op: t.CInt) -> str: pass - -def _dump_list(lst: list[AST | t.CPtr] | t.CPtr, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -def _dump_op_list(lst: t.CPtr, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -@t.CVTable -class AST: - parent: AST | t.CPtr - pool: memhub.MemManager | t.CPtr - lineno: t.CInt - col_offset: t.CInt - end_lineno: t.CInt - end_col_offset: t.CInt - children: list[AST | t.CPtr] | t.CPtr - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - def accept(self, visitor: t.CPtr): pass - def append(self, node: AST | t.CPtr): pass - -def dump(node: AST | t.CPtr, buf: t.CChar | t.CPtr, size: t.CSizeT): pass - diff --git a/Test/NewAstTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/NewAstTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/NewAstTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/NewAstTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/NewAstTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/NewAstTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/NewAstTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/NewAstTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/NewAstTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/NewAstTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/NewAstTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/NewAstTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/NewAstTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NewAstTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/NewAstTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/NewAstTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/NewAstTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/NewAstTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/43/4337fb260448bbe2.vpi b/Test/NewAstTest/.tpv_build/temp/43/4337fb260448bbe2.vpi deleted file mode 100644 index 93461ab..0000000 --- a/Test/NewAstTest/.tpv_build/temp/43/4337fb260448bbe2.vpi +++ /dev/null @@ -1,76 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from .base import AST, ASTKind, _init_ast, _copy_str, _set_parent_list, _emit, _emit_str, _emit_int, _dump_list -class ExceptHandler(AST): - type: AST | t.CPtr - name: str - def __new__(self, pool: memhub.MemManager | t.CPtr, type: AST | t.CPtr, name: str): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, type: AST | t.CPtr, name: str): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Arguments(AST): - args: list[AST | t.CPtr] | t.CPtr - vararg: AST | t.CPtr - kwarg: AST | t.CPtr - defaults: list[AST | t.CPtr] | t.CPtr - kw_defaults: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, args: list[AST | t.CPtr] | t.CPtr, vararg: AST | t.CPtr, kwarg: AST | t.CPtr, defaults: list[AST | t.CPtr] | t.CPtr, kw_defaults: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, args: list[AST | t.CPtr] | t.CPtr, vararg: AST | t.CPtr, kwarg: AST | t.CPtr, defaults: list[AST | t.CPtr] | t.CPtr, kw_defaults: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Arg(AST): - arg: str - annotation: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, arg: str, annotation: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, arg: str, annotation: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Keyword(AST): - arg: str - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, arg: str, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, arg: str, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Alias(AST): - name: str - asname: str - def __new__(self, pool: memhub.MemManager | t.CPtr, name: str, asname: str): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, name: str, asname: str): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class WithItem(AST): - context_expr: AST | t.CPtr - optional_vars: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, context_expr: AST | t.CPtr, optional_vars: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, context_expr: AST | t.CPtr, optional_vars: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Comprehension(AST): - target: AST | t.CPtr - iter: AST | t.CPtr - ifs: list[AST | t.CPtr] | t.CPtr - is_async: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, iter: AST | t.CPtr, ifs: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, iter: AST | t.CPtr, ifs: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - diff --git a/Test/NewAstTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/NewAstTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/NewAstTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/NewAstTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/NewAstTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/NewAstTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/NewAstTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/NewAstTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/NewAstTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/NewAstTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/NewAstTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/NewAstTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/NewAstTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/NewAstTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NewAstTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/NewAstTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NewAstTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/NewAstTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NewAstTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/NewAstTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/NewAstTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/NewAstTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/NewAstTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/NewAstTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/NewAstTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/NewAstTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/NewAstTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/NewAstTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/NewAstTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/NewAstTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/NewAstTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/_sha1_map.txt b/Test/NewAstTest/.tpv_build/temp/_sha1_map.txt index 9427780..613536e 100644 --- a/Test/NewAstTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/NewAstTest/.tpv_build/temp/_sha1_map.txt @@ -1,22 +1,21 @@ -4337fb260448bbe2:includes/ast/astaux.vp -22bc0df83b3f0e62:includes/ast/base.vp -b543bc1dfb592119:includes/ast/exprs.vp -f5d13f1be34f417a:includes/ast/lexer.vp -fde6db0747bdd959:includes/ast/parser.vp -657e182b27c2a022:includes/ast/stmts.vp -b547ac4f380bddb6:includes/ast/tokens.vp -de3357cb9182715e:includes/ast/__init__.vp +34dc6a647fa19b7b:includes/ast/astaux.vp +f467978339422f32:includes/ast/base.vp +c0def010dcebadb1:includes/ast/exprs.vp +688b9c1ad51d7c05:includes/ast/lexer.vp +3b2a307c9c7d0129:includes/ast/match.vp +6f68d4561b9de7c7:includes/ast/parser.vp +46ea1349c980c7f4:includes/ast/stmts.vp +eb09ac7f10988a63:includes/ast/tokens.vp +35245c385b0ddd7b:includes/ast/__init__.vp aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp 71e0a3ffcb3ebfad:includes/stdarg.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f6ab8989f3545e83:includes/viperlib.vp -e0f0afe3caa1e486:includes/_dict.vp +40b053f21c0df07c:includes/string.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp 7cadfe07e983fd90:includes/_list.vp +4175f14c5fbef360:main.vp diff --git a/Test/NewAstTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/NewAstTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/NewAstTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/NewAstTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/NewAstTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/NewAstTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/NewAstTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/NewAstTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/NewAstTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/NewAstTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/NewAstTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/NewAstTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/NewAstTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/NewAstTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/NewAstTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/b5/b543bc1dfb592119.vpi b/Test/NewAstTest/.tpv_build/temp/b5/b543bc1dfb592119.vpi deleted file mode 100644 index 293b26d..0000000 --- a/Test/NewAstTest/.tpv_build/temp/b5/b543bc1dfb592119.vpi +++ /dev/null @@ -1,265 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from .base import AST, ASTKind, ASTCtx, OpKind, _init_ast, _copy_str, _set_parent_list, _emit, _emit_str, _emit_int, _dump_list, _dump_op_list, _op_name, CONST_INT, CONST_FLOAT, CONST_STR, CONST_BOOL, CONST_NONE, CONST_CHAR -class Name(AST): - id: str - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, id: str, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, id: str, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Constant(AST): - int_val: t.CInt64T - float_val: t.CDouble - str_val: str - const_kind: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, const_kind: t.CInt, int_val: t.CInt64T, float_val: t.CDouble, str_val: str, lineno: t.CInt, col: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, const_kind: t.CInt, int_val: t.CInt64T, float_val: t.CDouble, str_val: str, lineno: t.CInt, col: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class BinOp(AST): - left: AST | t.CPtr - op: t.CInt - right: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, left: AST | t.CPtr, op: t.CInt, right: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, left: AST | t.CPtr, op: t.CInt, right: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class UnaryOp(AST): - op: t.CInt - operand: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt, operand: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt, operand: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Compare(AST): - left: AST | t.CPtr - ops: t.CPtr - comparators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, left: AST | t.CPtr, ops: t.CPtr, comparators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, left: AST | t.CPtr, ops: t.CPtr, comparators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Call(AST): - func: AST | t.CPtr - args: list[AST | t.CPtr] | t.CPtr - keywords: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, func: AST | t.CPtr, args: list[AST | t.CPtr] | t.CPtr, keywords: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, func: AST | t.CPtr, args: list[AST | t.CPtr] | t.CPtr, keywords: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class BoolOp(AST): - op: t.CInt - values: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt, values: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt, values: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Lambda(AST): - args: AST | t.CPtr - body: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, args: AST | t.CPtr, body: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, args: AST | t.CPtr, body: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class IfExp(AST): - test: AST | t.CPtr - body: AST | t.CPtr - orelse: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, body: AST | t.CPtr, orelse: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, body: AST | t.CPtr, orelse: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Dict(AST): - keys: list[AST | t.CPtr] | t.CPtr - values: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, keys: list[AST | t.CPtr] | t.CPtr, values: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, keys: list[AST | t.CPtr] | t.CPtr, values: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Set(AST): - elts: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class ListComp(AST): - elt: AST | t.CPtr - generators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class SetComp(AST): - elt: AST | t.CPtr - generators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class DictComp(AST): - key: AST | t.CPtr - value: AST | t.CPtr - generators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, key: AST | t.CPtr, value: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, key: AST | t.CPtr, value: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class GeneratorExp(AST): - elt: AST | t.CPtr - generators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Await(AST): - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Yield(AST): - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class YieldFrom(AST): - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class FormattedValue(AST): - value: AST | t.CPtr - conversion: t.CInt - format_spec: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, conversion: t.CInt, format_spec: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, conversion: t.CInt, format_spec: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class JoinedStr(AST): - values: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, values: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, values: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Attribute(AST): - value: AST | t.CPtr - attr: str - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, attr: str, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, attr: str, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Subscript(AST): - value: AST | t.CPtr - slice: AST | t.CPtr - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, slice: AST | t.CPtr, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, slice: AST | t.CPtr, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Starred(AST): - value: AST | t.CPtr - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class List(AST): - elts: list[AST | t.CPtr] | t.CPtr - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Tuple(AST): - elts: list[AST | t.CPtr] | t.CPtr - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Slice(AST): - lower: AST | t.CPtr - upper: AST | t.CPtr - step: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, lower: AST | t.CPtr, upper: AST | t.CPtr, step: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, lower: AST | t.CPtr, upper: AST | t.CPtr, step: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class NamedExpr(AST): - target: AST | t.CPtr - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class OpNode(AST): - op: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - diff --git a/Test/NewAstTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/NewAstTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/NewAstTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/NewAstTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NewAstTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/NewAstTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/NewAstTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/NewAstTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NewAstTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/NewAstTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/NewAstTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/NewAstTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NewAstTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/NewAstTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/NewAstTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/NewAstTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/NewAstTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/NewAstTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/NewAstTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/NewAstTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/NewAstTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/NewAstTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/f5/f5d13f1be34f417a.vpi b/Test/NewAstTest/.tpv_build/temp/f5/f5d13f1be34f417a.vpi deleted file mode 100644 index e80d701..0000000 --- a/Test/NewAstTest/.tpv_build/temp/f5/f5d13f1be34f417a.vpi +++ /dev/null @@ -1,64 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from .tokens import Token, TokenType, TokOp, _init_tables, _kw_lookup, _op_head, OpEntry, new_token, token_set_str, token_set_str_literal -LEXER_MAX_INDENT: t.CDefine = 256 -class Lexer: - src: str - pos: t.CSizeT - len: t.CSizeT - lineno: t.CInt - col: t.CInt - pool: memhub.MemManager | t.CPtr - indent_stack: t.CInt | t.CPtr - indent_top: t.CInt - paren_depth: t.CInt - tokens_head: Token | t.CPtr - tokens_tail: Token | t.CPtr - at_line_start: t.CInt - error_count: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - -def new_lexer(pool: memhub.MemManager | t.CPtr) -> Lexer | t.CPtr: pass - -def _lexer_init(lx: Lexer | t.CPtr, src: str, pool: memhub.MemManager | t.CPtr): pass - -def _peek(lx: Lexer | t.CPtr, offset: t.CSizeT) -> t.CChar: pass - -def _peek_cur(lx: Lexer | t.CPtr) -> t.CChar: pass - -def _advance(lx: Lexer | t.CPtr) -> t.CChar: pass - -def _is_alpha(ch: t.CChar) -> t.CInt: pass - -def _is_digit(ch: t.CChar) -> t.CInt: pass - -def _is_alnum(ch: t.CChar) -> t.CInt: pass - -def _is_hex(ch: t.CChar) -> t.CInt: pass - -def _is_space(ch: t.CChar) -> t.CInt: pass - -def _emit(lx: Lexer | t.CPtr, tok: Token | t.CPtr): pass - -def _make_op_token(lx: Lexer | t.CPtr, op_id: t.CInt, length: t.CInt, lineno: t.CInt, col: t.CInt) -> Token | t.CPtr: pass - -def _handle_indent(lx: Lexer | t.CPtr): pass - -def _read_name(lx: Lexer | t.CPtr): pass - -def _read_number(lx: Lexer | t.CPtr): pass - -def _emit_number(lx: Lexer | t.CPtr, start: t.CSizeT, start_lineno: t.CInt, start_col: t.CInt, is_float: t.CInt, is_complex: t.CInt, is_hex: t.CInt): pass - -def _read_string(lx: Lexer | t.CPtr): pass - -def _read_operator(lx: Lexer | t.CPtr): pass - -def tokenize(lx: Lexer | t.CPtr) -> Token | t.CPtr: pass - -tok: Token | t.CPtr diff --git a/Test/NewAstTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/NewAstTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/NewAstTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/NewAstTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NewAstTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/NewAstTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/NewAstTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/NewAstTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/NewAstTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/NewAstTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/NewAstTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/NewAstTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/NewAstTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/NewAstTest/.tpv_build/temp/fd/fde6db0747bdd959.vpi b/Test/NewAstTest/.tpv_build/temp/fd/fde6db0747bdd959.vpi deleted file mode 100644 index 79e90e2..0000000 --- a/Test/NewAstTest/.tpv_build/temp/fd/fde6db0747bdd959.vpi +++ /dev/null @@ -1,211 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from .tokens import Token, TokenType, Keyword, TokOp -from .base import AST, ASTCtx, ASTKind, OpKind, ASTFlag, _set_pos, _binop_from_op, _augop_from_op, _cmpop_from_op, _copy_str, _inherit_pos, _init_ast, CONST_INT, CONST_FLOAT, CONST_STR, CONST_BOOL, CONST_NONE, CONST_CHAR, FLAG_IS_ASYNC -from .exprs import BoolOp, BinOp, UnaryOp, Lambda, IfExp, Dict, Set, ListComp, SetComp, DictComp, GeneratorExp, Await, Yield, YieldFrom, FormattedValue, JoinedStr, Constant, NamedExpr, Attribute, Subscript, Starred, Name, List, Tuple, Slice, Call, Compare, OpNode -from .stmts import Module, Expression, Interactive, FunctionType, FunctionDef, ClassDef, Return, Delete, Assign, AugAssign, AnnAssign, For, While, If, With, Raise, Try, Assert, Global, Nonlocal, Pass, Break, Continue, Expr, Import, ImportFrom, Match -from .astaux import ExceptHandler, Arguments, Arg, Keyword as KwNode, Alias, WithItem, Comprehension -from .lexer import Lexer, _lexer_init, tokenize, new_lexer -class Parser: - tokens: Token | t.CPtr - cur: Token | t.CPtr - pool: memhub.MemManager | t.CPtr - error_count: t.CInt - pending_decorators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - -def new_parser(pool: memhub.MemManager | t.CPtr) -> Parser | t.CPtr: pass - -def _parser_init(ps: Parser | t.CPtr, tokens: Token | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _advance(ps: Parser | t.CPtr): pass - -def _cur_type(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_kw(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_str(ps: Parser | t.CPtr) -> str: pass - -def _cur_lineno(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_col(ps: Parser | t.CPtr) -> t.CInt: pass - -def _skip_nl(ps: Parser | t.CPtr): pass - -def _skip_nls_and_newlines(ps: Parser | t.CPtr): pass - -def _expect_type(ps: Parser | t.CPtr, ttype: t.CInt) -> t.CInt: pass - -def _expect_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _match_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _accept_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _new_const_int(pool: memhub.MemManager | t.CPtr, val: t.CInt64T, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_float(pool: memhub.MemManager | t.CPtr, val: t.CDouble, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_str(pool: memhub.MemManager | t.CPtr, val: str, lineno: t.CInt, col: t.CInt, is_dquote: t.CInt, is_triple: t.CInt, is_char: t.CInt) -> AST | t.CPtr: pass - -def _new_const_bool(pool: memhub.MemManager | t.CPtr, val: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_none(pool: memhub.MemManager | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _set_ctx(node: AST | t.CPtr, ctx: t.CInt): pass - -def _fix_store_ctx(node: AST | t.CPtr): pass - -def _parse_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_namedexpr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_lambda(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_or_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_and_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_not_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_comparison(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _match_comp_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _advance_comp_op(ps: Parser | t.CPtr): pass - -def _parse_bitor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_bitxor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_bitand(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_shift(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_arith(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_term(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_factor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_power(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_atom_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_call(ps: Parser | t.CPtr, func: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_subscript(ps: Parser | t.CPtr, value: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_slice(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_atom(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_paren(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_brace(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_sub_expr(ps: Parser | t.CPtr, src: str) -> AST | t.CPtr: pass - -def _parse_fstring(ps: Parser | t.CPtr, content: str, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_comprehension(ps: Parser | t.CPtr, elt: AST | t.CPtr, vtype: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_comp_for(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_target_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_target(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_yield(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_varargslist(ps: Parser | t.CPtr, is_lambda: t.CInt) -> AST | t.CPtr: pass - -def _parse_arg_def(ps: Parser | t.CPtr, is_lambda: t.CInt) -> AST | t.CPtr: pass - -def _parse_suite_into_children(ps: Parser | t.CPtr, parent: AST | t.CPtr): pass - -def _parse_statement_into(ps: Parser | t.CPtr, parent: AST | t.CPtr): pass - -def _parse_simple_stmt_into(ps: Parser | t.CPtr, parent: AST | t.CPtr): pass - -def _parse_small_stmt(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _maybe_tuple(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_testlist(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_expr_stmt(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_return(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_raise(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_global(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_nonlocal(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_from_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_alias_list(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_del(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_assert(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_compound(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_if(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_if_tail(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_while(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_for(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_try(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_except_handler(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_with(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_with_item(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_funcdef(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_classdef(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_match(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _make_name_ast(pool: memhub.MemManager | t.CPtr, node: Name | t.CPtr) -> AST | t.CPtr: pass - -def _parse_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_closed_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_sequence_pattern(ps: Parser | t.CPtr, close_op: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_mapping_pattern(ps: Parser | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_class_pattern(ps: Parser | t.CPtr, cls: AST | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_match_case(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_decorators(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_module_body(ps: Parser | t.CPtr, module_node: AST | t.CPtr): pass - -def parse_tokens(pool: memhub.MemManager | t.CPtr, tokens: Token | t.CPtr) -> AST | t.CPtr: pass - diff --git a/Test/NewAstTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/NewAstTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/NewAstTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/NewAstTest/output/4175f14c5fbef360.deps.json b/Test/NewAstTest/output/4175f14c5fbef360.deps.json index 87de032..1c20d09 100644 --- a/Test/NewAstTest/output/4175f14c5fbef360.deps.json +++ b/Test/NewAstTest/output/4175f14c5fbef360.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.lexer": "8219423928c874da", "lexer": "8219423928c874da", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "ast.parser": "fde6db0747bdd959", "parser": "fde6db0747bdd959"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "string": "4c39369ffedaddac", "ast.parser": "6b2a008dbdcddb7f", "parser": "6b2a008dbdcddb7f", "stdlib": "6c658cc728d0bbf4", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "viperlib": "bba983c61a970f7c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/NewAstTest/output/4dd6b3f1427d1cc5.deps.json b/Test/NewAstTest/output/4dd6b3f1427d1cc5.deps.json deleted file mode 100644 index ce7ee3d..0000000 --- a/Test/NewAstTest/output/4dd6b3f1427d1cc5.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "main": "4175f14c5fbef360", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.lexer": "8219423928c874da", "lexer": "8219423928c874da", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "ast.parser": "fde6db0747bdd959", "parser": "fde6db0747bdd959", "base.tokens": "b547ac4f380bddb6"} \ No newline at end of file diff --git a/Test/NewAstTest/output/657e182b27c2a022.deps.json b/Test/NewAstTest/output/657e182b27c2a022.deps.json deleted file mode 100644 index ce7ee3d..0000000 --- a/Test/NewAstTest/output/657e182b27c2a022.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "main": "4175f14c5fbef360", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "_list": "7cadfe07e983fd90", "ast.lexer": "8219423928c874da", "lexer": "8219423928c874da", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "ast.parser": "fde6db0747bdd959", "parser": "fde6db0747bdd959", "base.tokens": "b547ac4f380bddb6"} \ No newline at end of file diff --git a/Test/NewAstTest/output/_shared_sym_includes.pickle b/Test/NewAstTest/output/_shared_sym_includes.pickle deleted file mode 100644 index 54556ce6a182d972328bc2251ec13993f4f51b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1247159 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

-spYr% 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

#q;#P2u0b4ikUYY5Tt2A*3=P=imRU2K3vJ@E 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 t.CInt: pass - def __init__(self: MatchCase, pool: memhub.MemManager | t.CPtr, pattern: AST | t.CPtr, guard: AST | t.CPtr) -> t.CInt: pass - def kind(self: MatchCase) -> t.CInt: pass - def type_name(self: MatchCase) -> str: pass - def dump(self: MatchCase, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchValue(AST): - value: AST | t.CPtr - def __new__(self: MatchValue, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: MatchValue, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: MatchValue) -> t.CInt: pass - def type_name(self: MatchValue) -> str: pass - def dump(self: MatchValue, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchSingleton(AST): - value: AST | t.CPtr - def __new__(self: MatchSingleton, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: MatchSingleton, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: MatchSingleton) -> t.CInt: pass - def type_name(self: MatchSingleton) -> str: pass - def dump(self: MatchSingleton, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchSequence(AST): - patterns: list[AST | t.CPtr] | t.CPtr - def __new__(self: MatchSequence, pool: memhub.MemManager | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: MatchSequence, pool: memhub.MemManager | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: MatchSequence) -> t.CInt: pass - def type_name(self: MatchSequence) -> str: pass - def dump(self: MatchSequence, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchMapping(AST): - keys: list[AST | t.CPtr] | t.CPtr - patterns: list[AST | t.CPtr] | t.CPtr - rest: str - def __new__(self: MatchMapping, pool: memhub.MemManager | t.CPtr, keys: list[AST | t.CPtr] | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr, rest: str) -> t.CInt: pass - def __init__(self: MatchMapping, pool: memhub.MemManager | t.CPtr, keys: list[AST | t.CPtr] | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr, rest: str) -> t.CInt: pass - def kind(self: MatchMapping) -> t.CInt: pass - def type_name(self: MatchMapping) -> str: pass - def dump(self: MatchMapping, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchClass(AST): - cls: AST | t.CPtr - patterns: list[AST | t.CPtr] | t.CPtr - kwd_attrs: list[AST | t.CPtr] | t.CPtr - kwd_patterns: list[AST | t.CPtr] | t.CPtr - def __new__(self: MatchClass, pool: memhub.MemManager | t.CPtr, cls: AST | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr, kwd_attrs: list[AST | t.CPtr] | t.CPtr, kwd_patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: MatchClass, pool: memhub.MemManager | t.CPtr, cls: AST | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr, kwd_attrs: list[AST | t.CPtr] | t.CPtr, kwd_patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: MatchClass) -> t.CInt: pass - def type_name(self: MatchClass) -> str: pass - def dump(self: MatchClass, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchStar(AST): - name: str - def __new__(self: MatchStar, pool: memhub.MemManager | t.CPtr, name: str) -> t.CInt: pass - def __init__(self: MatchStar, pool: memhub.MemManager | t.CPtr, name: str) -> t.CInt: pass - def kind(self: MatchStar) -> t.CInt: pass - def type_name(self: MatchStar) -> str: pass - def dump(self: MatchStar, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchAs(AST): - pattern: AST | t.CPtr - name: str - def __new__(self: MatchAs, pool: memhub.MemManager | t.CPtr, pattern: AST | t.CPtr, name: str) -> t.CInt: pass - def __init__(self: MatchAs, pool: memhub.MemManager | t.CPtr, pattern: AST | t.CPtr, name: str) -> t.CInt: pass - def kind(self: MatchAs) -> t.CInt: pass - def type_name(self: MatchAs) -> str: pass - def dump(self: MatchAs, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchOr(AST): - patterns: list[AST | t.CPtr] | t.CPtr - def __new__(self: MatchOr, pool: memhub.MemManager | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: MatchOr, pool: memhub.MemManager | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: MatchOr) -> t.CInt: pass - def type_name(self: MatchOr) -> str: pass - def dump(self: MatchOr, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass \ No newline at end of file diff --git a/Test/NewAstTest/temp/657e182b27c2a022.stub.ll.dep b/Test/NewAstTest/temp/657e182b27c2a022.stub.ll.dep deleted file mode 100644 index 2812636..0000000 --- a/Test/NewAstTest/temp/657e182b27c2a022.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|71e0a3ffcb3ebfad|91497014ca775a64|928c0ff6d8c69ec9|aa246c6e6aa30484|b547ac4f380bddb6|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/NewAstTest/temp/657e182b27c2a022.vpi b/Test/NewAstTest/temp/657e182b27c2a022.vpi deleted file mode 100644 index 9d135aa..0000000 --- a/Test/NewAstTest/temp/657e182b27c2a022.vpi +++ /dev/null @@ -1,226 +0,0 @@ -""" -Auto-generated Python stub file from ast.stmts.vp -Module: ast.stmts -""" - - -import t, c -from stdint import * -import memhub -import string -from .base import AST, ASTKind, ASTCtx, OpKind, _init_ast, _copy_str, _set_parent_list, _emit, _emit_str, _emit_int, _dump_list, FLAG_IS_ASYNC - -@t.CVTable -class Module(AST): - def __new__(self: Module, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def __init__(self: Module, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def kind(self: Module) -> t.CInt: pass - def type_name(self: Module) -> str: pass - def dump(self: Module, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Assign(AST): - targets: list[AST | t.CPtr] | t.CPtr - value: AST | t.CPtr - def __new__(self: Assign, pool: memhub.MemManager | t.CPtr, targets: list[AST | t.CPtr] | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Assign, pool: memhub.MemManager | t.CPtr, targets: list[AST | t.CPtr] | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: Assign) -> t.CInt: pass - def type_name(self: Assign) -> str: pass - def dump(self: Assign, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class If(AST): - test: AST | t.CPtr - orelse: list[AST | t.CPtr] | t.CPtr - def __new__(self: If, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: If, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: If) -> t.CInt: pass - def type_name(self: If) -> str: pass - def dump(self: If, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class For(AST): - target: AST | t.CPtr - iter: AST | t.CPtr - orelse: list[AST | t.CPtr] | t.CPtr - flags: t.CInt - def __new__(self: For, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, iter: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def __init__(self: For, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, iter: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def kind(self: For) -> t.CInt: pass - def type_name(self: For) -> str: pass - def dump(self: For, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class While(AST): - test: AST | t.CPtr - orelse: list[AST | t.CPtr] | t.CPtr - def __new__(self: While, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: While, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: While) -> t.CInt: pass - def type_name(self: While) -> str: pass - def dump(self: While, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Return(AST): - value: AST | t.CPtr - def __new__(self: Return, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Return, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: Return) -> t.CInt: pass - def type_name(self: Return) -> str: pass - def dump(self: Return, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Expr(AST): - value: AST | t.CPtr - def __new__(self: Expr, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Expr, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: Expr) -> t.CInt: pass - def type_name(self: Expr) -> str: pass - def dump(self: Expr, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class FunctionDef(AST): - name: str - args: AST | t.CPtr - decorator_list: list[AST | t.CPtr] | t.CPtr - returns: AST | t.CPtr - flags: t.CInt - def __new__(self: FunctionDef, pool: memhub.MemManager | t.CPtr, name: str, args: AST | t.CPtr, decorator_list: list[AST | t.CPtr] | t.CPtr, returns: AST | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def __init__(self: FunctionDef, pool: memhub.MemManager | t.CPtr, name: str, args: AST | t.CPtr, decorator_list: list[AST | t.CPtr] | t.CPtr, returns: AST | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def kind(self: FunctionDef) -> t.CInt: pass - def type_name(self: FunctionDef) -> str: pass - def dump(self: FunctionDef, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Expression(AST): - body: AST | t.CPtr - def __new__(self: Expression, pool: memhub.MemManager | t.CPtr, body: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Expression, pool: memhub.MemManager | t.CPtr, body: AST | t.CPtr) -> t.CInt: pass - def kind(self: Expression) -> t.CInt: pass - def type_name(self: Expression) -> str: pass - def dump(self: Expression, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Interactive(AST): - body: AST | t.CPtr - def __new__(self: Interactive, pool: memhub.MemManager | t.CPtr, body: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Interactive, pool: memhub.MemManager | t.CPtr, body: AST | t.CPtr) -> t.CInt: pass - def kind(self: Interactive) -> t.CInt: pass - def type_name(self: Interactive) -> str: pass - def dump(self: Interactive, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class FunctionType(AST): - argtypes: list[AST | t.CPtr] | t.CPtr - returns: AST | t.CPtr - def __new__(self: FunctionType, pool: memhub.MemManager | t.CPtr, argtypes: list[AST | t.CPtr] | t.CPtr, returns: AST | t.CPtr) -> t.CInt: pass - def __init__(self: FunctionType, pool: memhub.MemManager | t.CPtr, argtypes: list[AST | t.CPtr] | t.CPtr, returns: AST | t.CPtr) -> t.CInt: pass - def kind(self: FunctionType) -> t.CInt: pass - def type_name(self: FunctionType) -> str: pass - def dump(self: FunctionType, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class ClassDef(AST): - name: str - bases: list[AST | t.CPtr] | t.CPtr - keywords: list[AST | t.CPtr] | t.CPtr - decorator_list: list[AST | t.CPtr] | t.CPtr - type_params: list[str] | t.CPtr - def __new__(self: ClassDef, pool: memhub.MemManager | t.CPtr, name: str, bases: list[AST | t.CPtr] | t.CPtr, keywords: list[AST | t.CPtr] | t.CPtr, decorator_list: list[AST | t.CPtr] | t.CPtr, type_params: list[str] | t.CPtr = None) -> t.CInt: pass - def __init__(self: ClassDef, pool: memhub.MemManager | t.CPtr, name: str, bases: list[AST | t.CPtr] | t.CPtr, keywords: list[AST | t.CPtr] | t.CPtr, decorator_list: list[AST | t.CPtr] | t.CPtr, type_params: list[str] | t.CPtr = None) -> t.CInt: pass - def kind(self: ClassDef) -> t.CInt: pass - def type_name(self: ClassDef) -> str: pass - def dump(self: ClassDef, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Delete(AST): - targets: list[AST | t.CPtr] | t.CPtr - def __new__(self: Delete, pool: memhub.MemManager | t.CPtr, targets: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Delete, pool: memhub.MemManager | t.CPtr, targets: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Delete) -> t.CInt: pass - def type_name(self: Delete) -> str: pass - def dump(self: Delete, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class AugAssign(AST): - target: AST | t.CPtr - op: t.CInt - value: AST | t.CPtr - def __new__(self: AugAssign, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, op: t.CInt, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: AugAssign, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, op: t.CInt, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: AugAssign) -> t.CInt: pass - def type_name(self: AugAssign) -> str: pass - def dump(self: AugAssign, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class AnnAssign(AST): - target: AST | t.CPtr - annotation: AST | t.CPtr - value: AST | t.CPtr - simple: t.CInt - def __new__(self: AnnAssign, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, annotation: AST | t.CPtr, value: AST | t.CPtr, simple: t.CInt) -> t.CInt: pass - def __init__(self: AnnAssign, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, annotation: AST | t.CPtr, value: AST | t.CPtr, simple: t.CInt) -> t.CInt: pass - def kind(self: AnnAssign) -> t.CInt: pass - def type_name(self: AnnAssign) -> str: pass - def dump(self: AnnAssign, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class With(AST): - items: list[AST | t.CPtr] | t.CPtr - flags: t.CInt - def __new__(self: With, pool: memhub.MemManager | t.CPtr, items: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def __init__(self: With, pool: memhub.MemManager | t.CPtr, items: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def kind(self: With) -> t.CInt: pass - def type_name(self: With) -> str: pass - def dump(self: With, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Raise(AST): - exc: AST | t.CPtr - cause: AST | t.CPtr - def __new__(self: Raise, pool: memhub.MemManager | t.CPtr, exc: AST | t.CPtr, cause: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Raise, pool: memhub.MemManager | t.CPtr, exc: AST | t.CPtr, cause: AST | t.CPtr) -> t.CInt: pass - def kind(self: Raise) -> t.CInt: pass - def type_name(self: Raise) -> str: pass - def dump(self: Raise, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Try(AST): - handlers: list[AST | t.CPtr] | t.CPtr - orelse: list[AST | t.CPtr] | t.CPtr - finalbody: list[AST | t.CPtr] | t.CPtr - def __new__(self: Try, pool: memhub.MemManager | t.CPtr, handlers: list[AST | t.CPtr] | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr, finalbody: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Try, pool: memhub.MemManager | t.CPtr, handlers: list[AST | t.CPtr] | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr, finalbody: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Try) -> t.CInt: pass - def type_name(self: Try) -> str: pass - def dump(self: Try, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Assert(AST): - test: AST | t.CPtr - msg: AST | t.CPtr - def __new__(self: Assert, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, msg: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Assert, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, msg: AST | t.CPtr) -> t.CInt: pass - def kind(self: Assert) -> t.CInt: pass - def type_name(self: Assert) -> str: pass - def dump(self: Assert, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Global(AST): - names: list[AST | t.CPtr] | t.CPtr - def __new__(self: Global, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Global, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Global) -> t.CInt: pass - def type_name(self: Global) -> str: pass - def dump(self: Global, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Nonlocal(AST): - names: list[AST | t.CPtr] | t.CPtr - def __new__(self: Nonlocal, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Nonlocal, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Nonlocal) -> t.CInt: pass - def type_name(self: Nonlocal) -> str: pass - def dump(self: Nonlocal, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Pass(AST): - def __new__(self: Pass, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def __init__(self: Pass, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def kind(self: Pass) -> t.CInt: pass - def type_name(self: Pass) -> str: pass - def dump(self: Pass, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Break(AST): - def __new__(self: Break, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def __init__(self: Break, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def kind(self: Break) -> t.CInt: pass - def type_name(self: Break) -> str: pass - def dump(self: Break, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Continue(AST): - def __new__(self: Continue, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def __init__(self: Continue, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def kind(self: Continue) -> t.CInt: pass - def type_name(self: Continue) -> str: pass - def dump(self: Continue, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Import(AST): - names: list[AST | t.CPtr] | t.CPtr - def __new__(self: Import, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Import, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Import) -> t.CInt: pass - def type_name(self: Import) -> str: pass - def dump(self: Import, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class ImportFrom(AST): - module: str - names: list[AST | t.CPtr] | t.CPtr - level: t.CInt - def __new__(self: ImportFrom, pool: memhub.MemManager | t.CPtr, module: str, names: list[AST | t.CPtr] | t.CPtr, level: t.CInt) -> t.CInt: pass - def __init__(self: ImportFrom, pool: memhub.MemManager | t.CPtr, module: str, names: list[AST | t.CPtr] | t.CPtr, level: t.CInt) -> t.CInt: pass - def kind(self: ImportFrom) -> t.CInt: pass - def type_name(self: ImportFrom) -> str: pass - def dump(self: ImportFrom, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Match(AST): - subject: AST | t.CPtr - cases: list[AST | t.CPtr] | t.CPtr - def __new__(self: Match, pool: memhub.MemManager | t.CPtr, subject: AST | t.CPtr, cases: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Match, pool: memhub.MemManager | t.CPtr, subject: AST | t.CPtr, cases: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Match) -> t.CInt: pass - def type_name(self: Match) -> str: pass - def dump(self: Match, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass \ No newline at end of file diff --git a/Test/NewAstTest/temp/7cadfe07e983fd90.stub.ll.dep b/Test/NewAstTest/temp/7cadfe07e983fd90.stub.ll.dep index 7df8e8d..d91b2c0 100644 --- a/Test/NewAstTest/temp/7cadfe07e983fd90.stub.ll.dep +++ b/Test/NewAstTest/temp/7cadfe07e983fd90.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/NewAstTest/temp/_phase1_manifest.json b/Test/NewAstTest/temp/_phase1_manifest.json index cd85226..b2cd7ac 100644 --- a/Test/NewAstTest/temp/_phase1_manifest.json +++ b/Test/NewAstTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\NewAstTest\\App\\main.vp": {"sha1": "4175f14c5fbef360", "mtime": 1783001020.789755, "size": 63423}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.vp": {"sha1": "fa67083915eb2e30", "mtime": 1786033550.3346176, "size": 3770}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.vp": {"sha1": "34dc6a647fa19b7b", "mtime": 1786033586.0642571, "size": 11475}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.vp": {"sha1": "91497014ca775a64", "mtime": 1786033954.7782319, "size": 15215}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.vp": {"sha1": "c14a7bd64dff8c0b", "mtime": 1786034120.289799, "size": 40831}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.vp": {"sha1": "8219423928c874da", "mtime": 1786034611.5303524, "size": 24712}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.vp": {"sha1": "4dd6b3f1427d1cc5", "mtime": 1782961799.8492737, "size": 12309}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.vp": {"sha1": "fde6db0747bdd959", "mtime": 1785348036.106818, "size": 87525}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.vp": {"sha1": "657e182b27c2a022", "mtime": 1783929993.759902, "size": 37926}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.vp": {"sha1": "b547ac4f380bddb6", "mtime": 1783165480.469121, "size": 13722}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "f6ab8989f3545e83", "mtime": 1785882958.4542437, "size": 59045}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\NewAstTest\\App\\main.vp": {"sha1": "4175f14c5fbef360", "mtime": 1783001020.789755, "size": 63423}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.vp": {"sha1": "876e256c06636777", "mtime": 1786370438.7959065, "size": 3919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.vp": {"sha1": "34dc6a647fa19b7b", "mtime": 1786033586.0642571, "size": 11475}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.vp": {"sha1": "71b20381eda0450a", "mtime": 1786370425.011384, "size": 16357}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.vp": {"sha1": "43ec967d0517abc1", "mtime": 1786370434.0783823, "size": 40976}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.vp": {"sha1": "d0072d5282b9b65f", "mtime": 1786095601.8036606, "size": 24838}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.vp": {"sha1": "3b2a307c9c7d0129", "mtime": 1786095636.9718795, "size": 12297}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.vp": {"sha1": "6b2a008dbdcddb7f", "mtime": 1786205592.4913094, "size": 102238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.vp": {"sha1": "46ea1349c980c7f4", "mtime": 1786369520.4458838, "size": 38239}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.vp": {"sha1": "cea844466f10ac61", "mtime": 1786196689.3449256, "size": 14506}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "bba983c61a970f7c", "mtime": 1786320034.4835327, "size": 59458}} \ No newline at end of file diff --git a/Test/NewAstTest/temp/_sha1_map.txt b/Test/NewAstTest/temp/_sha1_map.txt index 74132db..6875dec 100644 --- a/Test/NewAstTest/temp/_sha1_map.txt +++ b/Test/NewAstTest/temp/_sha1_map.txt @@ -1,20 +1,20 @@ -04e5fe47ff2af528:includes/memhub.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp 34dc6a647fa19b7b:includes/ast\astaux.vp +3b2a307c9c7d0129:includes/ast\match.vp 4175f14c5fbef360:main.vp -4dd6b3f1427d1cc5:includes/ast\match.vp -657e182b27c2a022:includes/ast\stmts.vp +43ec967d0517abc1:includes/ast\exprs.vp +46ea1349c980c7f4:includes/ast\stmts.vp +4c39369ffedaddac:includes/string.vp +6b2a008dbdcddb7f:includes/ast\parser.vp 6c658cc728d0bbf4:includes/stdlib.vp +71b20381eda0450a:includes/ast\base.vp 71e0a3ffcb3ebfad:includes/stdarg.vp 7cadfe07e983fd90:includes/_list.vp -8219423928c874da:includes/ast\lexer.vp -91497014ca775a64:includes/ast\base.vp -928c0ff6d8c69ec9:includes/string.vp +876e256c06636777:includes/ast\__init__.vp aa246c6e6aa30484:includes/atom.vp -b547ac4f380bddb6:includes/ast\tokens.vp -c14a7bd64dff8c0b:includes/ast\exprs.vp -c9f4be41ca1cc2b4:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +cea844466f10ac61:includes/ast\tokens.vp +d0072d5282b9b65f:includes/ast\lexer.vp f5522571bcce7bcb:includes/stdint.vp -f6ab8989f3545e83:includes/viperlib.vp -fa67083915eb2e30:includes/ast\__init__.vp -fde6db0747bdd959:includes/ast\parser.vp diff --git a/Test/NewAstTest/temp/b547ac4f380bddb6.stub.ll.dep b/Test/NewAstTest/temp/b547ac4f380bddb6.stub.ll.dep deleted file mode 100644 index 7df8e8d..0000000 --- a/Test/NewAstTest/temp/b547ac4f380bddb6.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/NewAstTest/temp/b547ac4f380bddb6.vpi b/Test/NewAstTest/temp/b547ac4f380bddb6.vpi deleted file mode 100644 index 308d33b..0000000 --- a/Test/NewAstTest/temp/b547ac4f380bddb6.vpi +++ /dev/null @@ -1,166 +0,0 @@ -""" -Auto-generated Python stub file from ast.tokens.vp -Module: ast.tokens -""" - - -import t, c -from stdint import * -import memhub -import string - -class TokenType(t.CEnum): - EndMarker: t.State - NewLine: t.State - Indent: t.State - Dedent: t.State - Name: t.State - Number: t.State - String: t.State - FStringStart: t.State - FStringMiddle: t.State - FStringEnd: t.State - Op: t.State - Nl: t.State - Comment: t.State - Encoding: t.State -class Keyword(t.CEnum): - NotKeyword: t.State - False_: t.State - None_: t.State - True_: t.State - And: t.State - As: t.State - Assert: t.State - Async: t.State - Await: t.State - Break: t.State - Class: t.State - Continue: t.State - Def: t.State - Del: t.State - Elif: t.State - Else: t.State - Except: t.State - Finally: t.State - For: t.State - From: t.State - Global: t.State - If: t.State - Import: t.State - In: t.State - Is: t.State - Lambda: t.State - Nonlocal: t.State - Not: t.State - Or: t.State - Pass: t.State - Raise: t.State - Return: t.State - Try: t.State - While: t.State - With: t.State - Yield: t.State - Match: t.State - Case: t.State - Type: t.State -class TokOp(t.CEnum): - LPar: t.State - RPar: t.State - Lsqb: t.State - Rsqb: t.State - LBrace: t.State - RBrace: t.State - Comma: t.State - Colon: t.State - Dot: t.State - Semi: t.State - At: t.State - Equal: t.State - RArrow: t.State - PlusEq: t.State - MinusEq: t.State - StarEq: t.State - SlashEq: t.State - DSlashEq: t.State - PercentEq: t.State - AtEq: t.State - AmpEq: t.State - VBarEq: t.State - CaretEq: t.State - GtGtEq: t.State - LtLtEq: t.State - StarEqEq: t.State - DSlash: t.State - StarStar: t.State - LtLt: t.State - GtGt: t.State - LessEq: t.State - GreaterEq: t.State - EqEq: t.State - ExclaimEq: t.State - Less: t.State - Greater: t.State - Plus: t.State - Minus: t.State - Star: t.State - Slash: t.State - Percent: t.State - Amp: t.State - VBar: t.State - Caret: t.State - Tilde: t.State - ColonEq: t.State - Ellipsis: t.State - Bang: t.State -class Token: - type: t.CInt - op_subtype: t.CInt - kw_subtype: t.CInt - str_val: str - int_val: t.CInt64T - float_val: t.CDouble - is_float: t.CInt - is_complex: t.CInt - lineno: t.CInt - col_offset: t.CInt - end_lineno: t.CInt - end_col_offset: t.CInt - next: Token | t.CPtr - def __new__(self: Token, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass -class KwEntry: - name: str - kw_id: t.CInt - next: KwEntry | t.CPtr - def __new__(self: KwEntry, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -_kw_head: t.CExtern | KwEntry | t.CPtr -_kw_pool: t.CExtern | memhub.MemManager | t.CPtr - -def _kw_intern(pool: memhub.MemManager | t.CPtr, name: str, kw_id: t.CInt) -> t.CInt: pass - -def _kw_lookup(name: str) -> t.CInt: pass - -def _init_keywords(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - - -class OpEntry: - name: str - op_id: t.CInt - length: t.CInt - next: OpEntry | t.CPtr - def __new__(self: OpEntry, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -_op_head: t.CExtern | OpEntry | t.CPtr - -def _op_intern(pool: memhub.MemManager | t.CPtr, name: str, op_id: t.CInt) -> t.CInt: pass - -def _init_operators(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -def _init_tables(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -def new_token(pool: memhub.MemManager | t.CPtr, ttype: t.CInt, lineno: t.CInt, col_offset: t.CInt) -> Token | t.CPtr: pass - -def token_set_str(pool: memhub.MemManager | t.CPtr, tok: Token | t.CPtr, src: str, start: t.CSizeT, length: t.CSizeT) -> t.CInt: pass - -def token_set_str_literal(pool: memhub.MemManager | t.CPtr, tok: Token | t.CPtr, text: str) -> t.CInt: pass diff --git a/Test/NewAstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/NewAstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/NewAstTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/NewAstTest/temp/c9f4be41ca1cc2b4.vpi b/Test/NewAstTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/NewAstTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/NewAstTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/NewAstTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/NewAstTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/NewAstTest/temp/f6ab8989f3545e83.vpi b/Test/NewAstTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/NewAstTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/NewAstTest/temp/fde6db0747bdd959.stub.ll.dep b/Test/NewAstTest/temp/fde6db0747bdd959.stub.ll.dep deleted file mode 100644 index 5fa80eb..0000000 --- a/Test/NewAstTest/temp/fde6db0747bdd959.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|34dc6a647fa19b7b|4dd6b3f1427d1cc5|657e182b27c2a022|6c658cc728d0bbf4|71e0a3ffcb3ebfad|8219423928c874da|91497014ca775a64|928c0ff6d8c69ec9|aa246c6e6aa30484|b547ac4f380bddb6|c14a7bd64dff8c0b|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/NewAstTest/temp/fde6db0747bdd959.vpi b/Test/NewAstTest/temp/fde6db0747bdd959.vpi deleted file mode 100644 index 91be63a..0000000 --- a/Test/NewAstTest/temp/fde6db0747bdd959.vpi +++ /dev/null @@ -1,215 +0,0 @@ -""" -Auto-generated Python stub file from ast.parser.vp -Module: ast.parser -""" - - -import t, c -from stdint import * -import memhub -import string -from .tokens import Token, TokenType, Keyword, TokOp -from .base import AST, ASTCtx, ASTKind, OpKind, ASTFlag, _set_pos, _binop_from_op, _augop_from_op, _cmpop_from_op, _copy_str, _inherit_pos, _init_ast, CONST_INT, CONST_FLOAT, CONST_STR, CONST_BOOL, CONST_NONE, CONST_CHAR, FLAG_IS_ASYNC -from .exprs import BoolOp, BinOp, UnaryOp, Lambda, IfExp, Dict, Set, ListComp, SetComp, DictComp, GeneratorExp, Await, Yield, YieldFrom, FormattedValue, JoinedStr, Constant, NamedExpr, Attribute, Subscript, Starred, Name, List, Tuple, Slice, Call, Compare, OpNode -from .stmts import Module, Expression, Interactive, FunctionType, FunctionDef, ClassDef, Return, Delete, Assign, AugAssign, AnnAssign, For, While, If, With, Raise, Try, Assert, Global, Nonlocal, Pass, Break, Continue, Expr, Import, ImportFrom, Match -from .astaux import ExceptHandler, Arguments, Arg, Keyword as KwNode, Alias, WithItem, Comprehension -from .match import MatchCase, MatchValue, MatchSingleton, MatchSequence, MatchMapping, MatchClass, MatchStar, MatchAs, MatchOr -from .lexer import Lexer, _lexer_init, tokenize, new_lexer - -class Parser: - tokens: Token | t.CPtr - cur: Token | t.CPtr - pool: memhub.MemManager | t.CPtr - error_count: t.CInt - pending_decorators: list[AST | t.CPtr] | t.CPtr - def __new__(self: Parser, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -def new_parser(pool: memhub.MemManager | t.CPtr) -> Parser | t.CPtr: pass - -def _parser_init(ps: Parser | t.CPtr, tokens: Token | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -def _advance(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_type(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_kw(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_str(ps: Parser | t.CPtr) -> str: pass - -def _cur_lineno(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_col(ps: Parser | t.CPtr) -> t.CInt: pass - -def _skip_nl(ps: Parser | t.CPtr) -> t.CInt: pass - -def _skip_nls_and_newlines(ps: Parser | t.CPtr) -> t.CInt: pass - -def _expect_type(ps: Parser | t.CPtr, ttype: t.CInt) -> t.CInt: pass - -def _expect_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _match_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _accept_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _new_const_int(pool: memhub.MemManager | t.CPtr, val: t.CInt64T, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_float(pool: memhub.MemManager | t.CPtr, val: t.CDouble, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_str(pool: memhub.MemManager | t.CPtr, val: str, lineno: t.CInt, col: t.CInt, is_dquote: t.CInt = 1, is_triple: t.CInt = 0, is_char: t.CInt = 0) -> AST | t.CPtr: pass - -def _new_const_bool(pool: memhub.MemManager | t.CPtr, val: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_none(pool: memhub.MemManager | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _set_ctx(node: AST | t.CPtr, ctx: t.CInt) -> t.CInt: pass - -def _fix_store_ctx(node: AST | t.CPtr) -> t.CInt: pass - -def _parse_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_namedexpr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_lambda(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_or_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_and_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_not_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_comparison(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _match_comp_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _advance_comp_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _parse_bitor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_bitxor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_bitand(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_shift(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_arith(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_term(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_factor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_power(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_atom_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_call(ps: Parser | t.CPtr, func: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_subscript(ps: Parser | t.CPtr, value: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_slice(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_atom(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_paren(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_brace(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_sub_expr(ps: Parser | t.CPtr, src: str) -> AST | t.CPtr: pass - -def _parse_fstring(ps: Parser | t.CPtr, content: str, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_comprehension(ps: Parser | t.CPtr, elt: AST | t.CPtr, vtype: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_comp_for(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_target_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_target(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_yield(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_varargslist(ps: Parser | t.CPtr, is_lambda: t.CInt = 0) -> AST | t.CPtr: pass - -def _parse_arg_def(ps: Parser | t.CPtr, is_lambda: t.CInt = 0) -> AST | t.CPtr: pass - -def _parse_suite_into_children(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass - -def _parse_statement_into(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass - -def _parse_simple_stmt_into(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass - -def _parse_small_stmt(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _maybe_tuple(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_testlist(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_expr_stmt(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_return(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_raise(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_global(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_nonlocal(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_from_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_alias_list(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_del(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_assert(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_compound(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_if(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_if_tail(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_while(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_for(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_try(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_except_handler(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_with(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_with_item(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_funcdef(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_classdef(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_match(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _make_name_ast(pool: memhub.MemManager | t.CPtr, node: Name | t.CPtr) -> AST | t.CPtr: pass - -def _parse_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_closed_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_sequence_pattern(ps: Parser | t.CPtr, close_op: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_mapping_pattern(ps: Parser | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_class_pattern(ps: Parser | t.CPtr, cls: AST | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_match_case(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_decorators(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_module_body(ps: Parser | t.CPtr, module_node: AST | t.CPtr) -> t.CInt: pass - -def parse_tokens(pool: memhub.MemManager | t.CPtr, tokens: Token | t.CPtr) -> AST | t.CPtr: pass diff --git a/Test/NoVTableTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/NoVTableTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/NoVTableTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/NoVTableTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/NoVTableTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/NoVTableTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/NoVTableTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/NoVTableTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/NoVTableTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/NoVTableTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/22/22650858c377c847.vpi b/Test/NoVTableTest/.tpv_build/temp/22/22650858c377c847.vpi deleted file mode 100644 index 302ec61..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/22/22650858c377c847.vpi +++ /dev/null @@ -1,60 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -import stdio -import string -import testcheck -import linkedlist -import viperlib -import stdlib -class Node(linkedlist.LinkedNode): - value: t.CInt - -def test_append(): pass - -def test_prev_link(): pass - -def test_last_child(): pass - -def test_remove(): pass - -def test_remove_child(): pass - -def test_insert_ops(): pass - -def test_index_access(): pass - -def test_sibling_traverse(): pass - -def test_unlink(): pass - -class SNode(linkedlist.SListNode): - value: t.CInt - -def test_slist(): pass - -def test_sprintf_vararg(): pass - -@t.NoVTable -class GSListNode[T]: - Next: T | t.CPtr - -@t.NoVTable -class GSList[T]: - Head: T | t.CPtr - Tail: T | t.CPtr - Count: t.CSizeT - def __init__(self): pass - def append(self, node: T): pass - def count(self) -> t.CSizeT: pass - def at(self, index: t.CSizeT) -> T | t.CPtr: pass - -class GNode(GSListNode[GNode]): - Value: t.CInt - -def test_generic_slist(): pass - -def main() -> t.CInt: pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/NoVTableTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/NoVTableTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/NoVTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/NoVTableTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/NoVTableTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/NoVTableTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/NoVTableTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/NoVTableTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/NoVTableTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/NoVTableTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/NoVTableTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/NoVTableTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/NoVTableTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/NoVTableTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/NoVTableTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/NoVTableTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/NoVTableTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/NoVTableTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/NoVTableTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/NoVTableTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/NoVTableTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/NoVTableTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/NoVTableTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/NoVTableTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/NoVTableTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/NoVTableTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/NoVTableTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/NoVTableTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/NoVTableTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/NoVTableTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/NoVTableTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/NoVTableTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/_sha1_map.txt b/Test/NoVTableTest/.tpv_build/temp/_sha1_map.txt index 7e5ee27..a5425d8 100644 --- a/Test/NoVTableTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/NoVTableTest/.tpv_build/temp/_sha1_map.txt @@ -1,19 +1,16 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp +ac87eb59087b9c33:includes/builtins.vp a5e9a83e9db303ad:includes/linkedlist.vp -f9d023d1df2bc9c5:includes/memhub.vp +2a61eed4abe49e06:includes/memhub.vp 71e0a3ffcb3ebfad:includes/stdarg.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f6ab8989f3545e83:includes/viperlib.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp -22650858c377c847:main.vp +5c06b01dba1a8433:main.vp diff --git a/Test/NoVTableTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/NoVTableTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/NoVTableTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/NoVTableTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/NoVTableTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/NoVTableTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/NoVTableTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/NoVTableTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/NoVTableTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/NoVTableTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/NoVTableTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/NoVTableTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/NoVTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/NoVTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/NoVTableTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/NoVTableTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/NoVTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/NoVTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/NoVTableTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/NoVTableTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/NoVTableTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/NoVTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/NoVTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/NoVTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/NoVTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/NoVTableTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/NoVTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi b/Test/NoVTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi deleted file mode 100644 index c09feb3..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import viperio -from stdarg import arg, va_arg -TEMP_BUF_SIZE: t.CDefine = 68 -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/NoVTableTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/NoVTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/NoVTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/NoVTableTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/NoVTableTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/NoVTableTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/NoVTableTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/NoVTableTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/NoVTableTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/NoVTableTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/NoVTableTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/NoVTableTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/NoVTableTest/output/22650858c377c847.deps.json b/Test/NoVTableTest/output/22650858c377c847.deps.json deleted file mode 100644 index 80a5dd6..0000000 --- a/Test/NoVTableTest/output/22650858c377c847.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "linkedlist": "a5e9a83e9db303ad", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/NoVTableTest/temp/22650858c377c847.doc.json b/Test/NoVTableTest/temp/22650858c377c847.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/NoVTableTest/temp/22650858c377c847.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/NoVTableTest/temp/22650858c377c847.vpi b/Test/NoVTableTest/temp/22650858c377c847.vpi deleted file mode 100644 index 9904a6b..0000000 --- a/Test/NoVTableTest/temp/22650858c377c847.vpi +++ /dev/null @@ -1,64 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - -import c - - -import t -import stdio -import string -import testcheck -import linkedlist -import viperlib -import stdlib - -class Node(linkedlist.LinkedNode): - value: t.CInt - -def test_append() -> t.CInt: pass - -def test_prev_link() -> t.CInt: pass - -def test_last_child() -> t.CInt: pass - -def test_remove() -> t.CInt: pass - -def test_remove_child() -> t.CInt: pass - -def test_insert_ops() -> t.CInt: pass - -def test_index_access() -> t.CInt: pass - -def test_sibling_traverse() -> t.CInt: pass - -def test_unlink() -> t.CInt: pass - - -class SNode(linkedlist.SListNode): - value: t.CInt - -def test_slist() -> t.CInt: pass - -def test_sprintf_vararg() -> t.CInt: pass - - -@t.NoVTable -class GSListNode[T]: - Next: T | t.CPtr -@t.NoVTable -class GSList[T]: - Head: T | t.CPtr - Tail: T | t.CPtr - Count: t.CSizeT - def __init__(self: GSList) -> t.CInt: pass - def append(self: GSList, node: T) -> t.CInt: pass - def count(self: GSList) -> t.CSizeT: pass - def at(self: GSList, index: t.CSizeT) -> T | t.CPtr: pass -class GNode(GSListNode[GNode]): - Value: t.CInt - -def test_generic_slist() -> t.CInt: pass - -def main() -> t.CInt: pass diff --git a/Test/NoVTableTest/temp/_phase1_manifest.json b/Test/NoVTableTest/temp/_phase1_manifest.json index e6096e3..f0ab0fb 100644 --- a/Test/NoVTableTest/temp/_phase1_manifest.json +++ b/Test/NoVTableTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\NoVTableTest\\App\\main.vp": {"sha1": "22650858c377c847", "mtime": 1782800242.9985914, "size": 17052}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "f6ab8989f3545e83", "mtime": 1785882958.4542437, "size": 59045}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\NoVTableTest\\App\\main.vp": {"sha1": "5c06b01dba1a8433", "mtime": 1786179523.9853659, "size": 17051}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.vp": {"sha1": "a5e9a83e9db303ad", "mtime": 1785337078.812168, "size": 17137}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "bba983c61a970f7c", "mtime": 1786320034.4835327, "size": 59458}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/NoVTableTest/temp/_sha1_map.txt b/Test/NoVTableTest/temp/_sha1_map.txt index 1bae583..f754e94 100644 --- a/Test/NoVTableTest/temp/_sha1_map.txt +++ b/Test/NoVTableTest/temp/_sha1_map.txt @@ -1,12 +1,12 @@ -22650858c377c847:main.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp +5c06b01dba1a8433:main.vp 6c658cc728d0bbf4:includes/stdlib.vp 71e0a3ffcb3ebfad:includes/stdarg.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp a5e9a83e9db303ad:includes/linkedlist.vp +bba983c61a970f7c:includes/viperlib.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp -f6ab8989f3545e83:includes/viperlib.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/NoVTableTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/NoVTableTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/NoVTableTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/NoVTableTest/temp/c9f4be41ca1cc2b4.vpi b/Test/NoVTableTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/NoVTableTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/NoVTableTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/NoVTableTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/NoVTableTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/NoVTableTest/temp/f6ab8989f3545e83.vpi b/Test/NoVTableTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/NoVTableTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/PointerTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/PointerTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/PointerTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/PointerTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/PointerTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/PointerTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/PointerTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/PointerTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/PointerTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/PointerTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/PointerTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/PointerTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/PointerTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/PointerTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/PointerTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/PointerTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/PointerTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/PointerTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/PointerTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/PointerTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/PointerTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/PointerTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/PointerTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/PointerTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/PointerTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/PointerTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/PointerTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/PointerTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/PointerTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/PointerTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/PointerTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/PointerTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/PointerTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/PointerTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/PointerTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/PointerTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/PointerTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/PointerTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/PointerTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/PointerTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/PointerTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/PointerTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/PointerTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/PointerTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/PointerTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/PointerTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/PointerTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/PointerTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/PointerTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/PointerTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/PointerTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/PointerTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/PointerTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/PointerTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/PointerTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/PointerTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/PointerTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/PointerTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/PointerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/PointerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi b/Test/PointerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index 837f0e5..0000000 --- a/Test/PointerTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine = 4096 -MEM_RESERVE: t.CDefine = 8192 -MEM_DECOMMIT: t.CDefine = 16384 -MEM_RELEASE: t.CDefine = 32768 -MEM_FREE: t.CDefine = 65536 -MEM_RESET: t.CDefine = 524288 -MEM_TOP_DOWN: t.CDefine = 1048576 -MEM_WRITE_WATCH: t.CDefine = 2097152 -MEM_PHYSICAL: t.CDefine = 4194304 -MEM_LARGE_PAGES: t.CDefine = 536870912 -PAGE_NOACCESS: t.CDefine = 1 -PAGE_READONLY: t.CDefine = 2 -PAGE_READWRITE: t.CDefine = 4 -PAGE_WRITECOPY: t.CDefine = 8 -PAGE_EXECUTE: t.CDefine = 16 -PAGE_EXECUTE_READ: t.CDefine = 32 -PAGE_EXECUTE_READWRITE: t.CDefine = 64 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 128 -PAGE_GUARD: t.CDefine = 256 -PAGE_NOCACHE: t.CDefine = 512 -PAGE_WRITECOMBINE: t.CDefine = 1024 -HEAP_NO_SERIALIZE: t.CDefine = 1 -HEAP_GROWABLE: t.CDefine = 2 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 4 -HEAP_ZERO_MEMORY: t.CDefine = 8 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 16 -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/PointerTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/PointerTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/PointerTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/PointerTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/PointerTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/PointerTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/PointerTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/PointerTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/PointerTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/PointerTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/PointerTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/PointerTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/PointerTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/_sha1_map.txt b/Test/PointerTest/.tpv_build/temp/_sha1_map.txt index 9cb4f67..86c09ba 100644 --- a/Test/PointerTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/PointerTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,14 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -72e2d5ccb7cedcf1:includes/w32/win32memory.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +fb67ebda973806ad:includes/w32/win32memory.vp 7cadfe07e983fd90:includes/_list.vp -b436212dcff1be29:main.vp +bf425c85f84c38e1:main.vp diff --git a/Test/PointerTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/PointerTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/PointerTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/PointerTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/PointerTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/PointerTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/PointerTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/PointerTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/PointerTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/PointerTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/PointerTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/PointerTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/PointerTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/b4/b436212dcff1be29.vpi b/Test/PointerTest/.tpv_build/temp/b4/b436212dcff1be29.vpi deleted file mode 100644 index 15d7e8a..0000000 --- a/Test/PointerTest/.tpv_build/temp/b4/b436212dcff1be29.vpi +++ /dev/null @@ -1,43 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -import stdio -import string -import w32.win32console -import w32.win32memory -import testcheck -_g_val: t.CInt = 0 -_g_ptr: t.CUInt32T | t.CPtr = None -def test_global_write(): pass - -def test_global_write_no_decl(): pass - -def test_global_ptr(): pass - -def test_global_ptr_no_decl(): pass - -def test_pointer_arithmetic(): pass - -def test_array_decay(): pass - -def test_pointer_cast(): pass - -def test_pointer_offset(): pass - -class TestStruct: - a: t.CInt - b: t.CInt - c: t.CUInt64T - -def test_struct_pointer(): pass - -def test_memcpy_pointers(): pass - -def fill_array(arr: t.CUInt32T | t.CPtr, count: t.CInt, val: t.CUInt32T): pass - -def test_pointer_param(): pass - -def main() -> t.CInt | t.CExport: pass - diff --git a/Test/PointerTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/PointerTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/PointerTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/PointerTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/PointerTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/PointerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/PointerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/PointerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/PointerTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/PointerTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/PointerTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/PointerTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/PointerTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/PointerTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/PointerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/PointerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/PointerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/PointerTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/PointerTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/PointerTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/PointerTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/PointerTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/PointerTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/PointerTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/PointerTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/PointerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/PointerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/PointerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/PointerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/PointerTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/PointerTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/PointerTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/PointerTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/PointerTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/PointerTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/PointerTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/PointerTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/PointerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/PointerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/PointerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/PointerTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/PointerTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/PointerTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/PointerTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/PointerTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/PointerTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/PointerTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/PointerTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/PointerTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/PointerTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/PointerTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/PointerTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/PointerTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/PointerTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/PointerTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/PointerTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/PointerTest/output/b436212dcff1be29.deps.json b/Test/PointerTest/output/b436212dcff1be29.deps.json deleted file mode 100644 index a783ef5..0000000 --- a/Test/PointerTest/output/b436212dcff1be29.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"stdio": "285b6aa29a34754d", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/PointerTest/temp/_phase1_manifest.json b/Test/PointerTest/temp/_phase1_manifest.json index 315c69f..30786dd 100644 --- a/Test/PointerTest/temp/_phase1_manifest.json +++ b/Test/PointerTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\PointerTest\\App\\main.vp": {"sha1": "b436212dcff1be29", "mtime": 1782266285.034029, "size": 9274}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\PointerTest\\App\\main.vp": {"sha1": "bf425c85f84c38e1", "mtime": 1786207610.0272152, "size": 9374}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/PointerTest/temp/_sha1_map.txt b/Test/PointerTest/temp/_sha1_map.txt index 13d05ee..0e50af8 100644 --- a/Test/PointerTest/temp/_sha1_map.txt +++ b/Test/PointerTest/temp/_sha1_map.txt @@ -1,8 +1,8 @@ 285b6aa29a34754d:includes/stdio.vp +40b053f21c0df07c:includes/string.vp 72e2d5ccb7cedcf1:includes/w32\win32memory.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp -b436212dcff1be29:main.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp +bf425c85f84c38e1:main.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/PointerTest/temp/b436212dcff1be29.doc.json b/Test/PointerTest/temp/b436212dcff1be29.doc.json deleted file mode 100644 index c6f42ec..0000000 --- a/Test/PointerTest/temp/b436212dcff1be29.doc.json +++ /dev/null @@ -1 +0,0 @@ -{"test_global_write": "测试:缺少 global 声明时,赋值是否修改模块级变量", "test_global_write_no_decl": "测试:没有 global 声明时,赋值是否创建局部变量", "test_global_ptr_no_decl": "测试:没有 global 声明时,指针赋值是否创建局部变量", "test_pointer_arithmetic": "测试指针算术:偏移计算是否正确", "test_array_decay": "测试 list[t.CChar, N] 传递给 t.CConst | str 参数", "test_pointer_cast": "测试指针与整数之间的类型转换", "test_pointer_offset": "测试指针偏移:CUInt8T* + N 应该偏移 N 字节,CUInt32T* + N 应该偏移 N*4 字节", "test_struct_pointer": "测试结构体指针的成员访问", "test_memcpy_pointers": "测试 memcpy 在指针之间的数据复制", "test_pointer_param": "测试指针作为函数参数传递"} \ No newline at end of file diff --git a/Test/PointerTest/temp/b436212dcff1be29.vpi b/Test/PointerTest/temp/b436212dcff1be29.vpi deleted file mode 100644 index d383ecb..0000000 --- a/Test/PointerTest/temp/b436212dcff1be29.vpi +++ /dev/null @@ -1,48 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -from stdint import * -import t, c -import stdio -import string -import w32.win32console -import w32.win32memory -import testcheck - -_g_val: t.CExtern | t.CInt -_g_ptr: t.CExtern | t.CUInt32T | t.CPtr - -def test_global_write() -> t.CInt: pass - -def test_global_write_no_decl() -> t.CInt: pass - -def test_global_ptr() -> t.CInt: pass - -def test_global_ptr_no_decl() -> t.CInt: pass - -def test_pointer_arithmetic() -> t.CInt: pass - -def test_array_decay() -> t.CInt: pass - -def test_pointer_cast() -> t.CInt: pass - -def test_pointer_offset() -> t.CInt: pass - - -class TestStruct: - a: t.CInt - b: t.CInt - c: t.CUInt64T - -def test_struct_pointer() -> t.CInt: pass - -def test_memcpy_pointers() -> t.CInt: pass - -def fill_array(arr: t.CUInt32T | t.CPtr, count: t.CInt, val: t.CUInt32T) -> t.CInt: pass - -def test_pointer_param() -> t.CInt: pass - -def main() -> t.CInt | t.CExport: pass diff --git a/Test/ShortCircuitTest/.tpv_build/temp/_sha1_map.txt b/Test/ShortCircuitTest/.tpv_build/temp/_sha1_map.txt index 9412fce..33b0935 100644 --- a/Test/ShortCircuitTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/ShortCircuitTest/.tpv_build/temp/_sha1_map.txt @@ -1 +1,13 @@ +aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp +f5522571bcce7bcb:includes/stdint.vp +285b6aa29a34754d:includes/stdio.vp +6c658cc728d0bbf4:includes/stdlib.vp +40b053f21c0df07c:includes/string.vp +748d0424e8976fa0:includes/testcheck.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +7cadfe07e983fd90:includes/_list.vp a711c9c66fd7c6ca:main.vp diff --git a/Test/ShortCircuitTest/output/a711c9c66fd7c6ca.deps.json b/Test/ShortCircuitTest/output/a711c9c66fd7c6ca.deps.json index ff257cb..2d73e69 100644 --- a/Test/ShortCircuitTest/output/a711c9c66fd7c6ca.deps.json +++ b/Test/ShortCircuitTest/output/a711c9c66fd7c6ca.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"stdio": "285b6aa29a34754d", "string": "40b053f21c0df07c", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ShortCircuitTest/temp/_phase1_manifest.json b/Test/ShortCircuitTest/temp/_phase1_manifest.json index f268078..068b1fc 100644 --- a/Test/ShortCircuitTest/temp/_phase1_manifest.json +++ b/Test/ShortCircuitTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ShortCircuitTest\\App\\main.vp": {"sha1": "a711c9c66fd7c6ca", "mtime": 1782355546.5909688, "size": 4497}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ShortCircuitTest\\App\\main.vp": {"sha1": "a711c9c66fd7c6ca", "mtime": 1782355546.5909688, "size": 4497}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/ShortCircuitTest/temp/_sha1_map.txt b/Test/ShortCircuitTest/temp/_sha1_map.txt index 3683d27..a5c3fcc 100644 --- a/Test/ShortCircuitTest/temp/_sha1_map.txt +++ b/Test/ShortCircuitTest/temp/_sha1_map.txt @@ -1,7 +1,7 @@ 285b6aa29a34754d:includes/stdio.vp +40b053f21c0df07c:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp a711c9c66fd7c6ca:main.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp f5522571bcce7bcb:includes/stdint.vp diff --git a/Test/SimdTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/SimdTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/SimdTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/SimdTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/SimdTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SimdTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/SimdTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SimdTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/SimdTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/SimdTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/SimdTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/SimdTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/SimdTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/SimdTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/SimdTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/SimdTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/SimdTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/SimdTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/SimdTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/SimdTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/SimdTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/SimdTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/SimdTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/SimdTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/SimdTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/SimdTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/SimdTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/SimdTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/SimdTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/SimdTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/SimdTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/SimdTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/SimdTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/SimdTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SimdTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/SimdTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/SimdTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/SimdTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SimdTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/SimdTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/SimdTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/SimdTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SimdTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/SimdTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/SimdTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/SimdTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/SimdTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/SimdTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SimdTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/SimdTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/SimdTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/SimdTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SimdTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/SimdTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/SimdTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/SimdTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/SimdTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SimdTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/SimdTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SimdTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/SimdTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/SimdTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/SimdTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/SimdTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/SimdTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/SimdTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/SimdTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/SimdTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/SimdTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/SimdTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/SimdTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/SimdTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/_sha1_map.txt b/Test/SimdTest/.tpv_build/temp/_sha1_map.txt index 0078d7e..f3fc8bc 100644 --- a/Test/SimdTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/SimdTest/.tpv_build/temp/_sha1_map.txt @@ -1,18 +1,16 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp -c3a6aed1f1fb8b1e:includes/numpy/__init__.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp +185f39ff5c3b0450:includes/numpy/__init__.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -3f7c5e78d8652535:includes/vipermath.vp -6dde8fc09b24666c:includes/vipersimd.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +0d841163d475941f:includes/vipermath.vp +71d08e9c33520cfa:includes/vipersimd.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp +90f67f777f23b84b:main.vp diff --git a/Test/SimdTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/SimdTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/SimdTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/SimdTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/SimdTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/SimdTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/SimdTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/SimdTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/SimdTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/SimdTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/SimdTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/SimdTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/SimdTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/SimdTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SimdTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/SimdTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/SimdTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/SimdTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SimdTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/SimdTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/SimdTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.vpi b/Test/SimdTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.vpi deleted file mode 100644 index b9037fd..0000000 --- a/Test/SimdTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.vpi +++ /dev/null @@ -1,235 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import stdlib -import string -import vipermath -import stdio -import t, c -import memhub -MAX_NDIM: t.CDefine = 4 -float64: t.CTypedef = t.CDouble -float32: t.CTypedef = t.CFloat -int64: t.CTypedef = t.CLong -int32: t.CTypedef = t.CInt -uint8: t.CTypedef = t.CUnsignedChar -pi: t.CDefine -e: t.CDefine -@t.Object -class ndarray[T]: - data: T | t.CPtr - shape: t.CArray[t.CSizeT, MAX_NDIM] - strides: t.CArray[t.CSizeT, MAX_NDIM] - ndim: t.CInt - size: t.CSizeT - owns_data: t.CInt - pool: memhub.MemManager | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, n: t.CSizeT): pass - def __add__(self, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __sub__(self, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __mul__(self, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __truediv__(self, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __floordiv__(self, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __mod__(self, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __neg__(self) -> ndarray[T] | t.CPtr: pass - def __len__(self) -> t.CInt: pass - def at2d(self, row: t.CSizeT, col: t.CSizeT) -> T: pass - def set2d(self, row: t.CSizeT, col: t.CSizeT, val: T): pass - def delete(self): pass - def fill(self, val: T): pass - def copy(self) -> ndarray[T] | t.CPtr: pass - def reshape(self, new_shape: INTPTR, new_ndim: t.CInt) -> ndarray[T] | t.CPtr: pass - def sum(self) -> T: pass - def mean(self) -> T: pass - def min(self) -> T: pass - def max(self) -> T: pass - def argmax(self) -> t.CInt: pass - def argmin(self) -> t.CInt: pass - def dot(self, other: ndarray[T] | t.CPtr) -> T: pass - def T(self) -> ndarray[T] | t.CPtr: pass - def print_arr(self): pass - -Float64Array: t.CTypedef = ndarray[t.CDouble] -Float32Array: t.CTypedef = ndarray[t.CFloat] -Int64Array: t.CTypedef = ndarray[t.CLong] -Int32Array: t.CTypedef = ndarray[t.CInt] -Uint8Array: t.CTypedef = ndarray[t.CUnsignedChar] -def _alloc_ndarray(pool: memhub.MemManager | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def _compute_strides(a: ndarray[t.CDouble] | t.CPtr): pass - -def _empty_like(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr, data: t.CDouble | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def zeros(pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def ones(pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def full(pool: memhub.MemManager | t.CPtr, n: t.CSizeT, val: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def arange(pool: memhub.MemManager | t.CPtr, start: t.CDouble, stop: t.CDouble, step: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def linspace(pool: memhub.MemManager | t.CPtr, start: t.CDouble, stop: t.CDouble, num: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def empty2d(pool: memhub.MemManager | t.CPtr, rows: t.CSizeT, cols: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def zeros2d(pool: memhub.MemManager | t.CPtr, rows: t.CSizeT, cols: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def ones2d(pool: memhub.MemManager | t.CPtr, rows: t.CSizeT, cols: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def eye(pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def diag(pool: memhub.MemManager | t.CPtr, vals: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_abs(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_sqrt(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_exp(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_log(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_sin(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_cos(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_tan(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_pow(a: ndarray[t.CDouble] | t.CPtr, p: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def add_scalar(a: ndarray[t.CDouble] | t.CPtr, s: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def mul_scalar(a: ndarray[t.CDouble] | t.CPtr, s: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def sub_scalar(a: ndarray[t.CDouble] | t.CPtr, s: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def div_scalar(a: ndarray[t.CDouble] | t.CPtr, s: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def matmul(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def dot_product(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_sum(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_mean(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_min(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_max(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_argmax(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def np_argmin(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def var(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def std(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def norm(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def clip(a: ndarray[t.CDouble] | t.CPtr, lo: t.CDouble, hi: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def concatenate(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def sort_arr(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def reverse(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_log10(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_log2(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_floor(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_ceil(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_round(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_sign(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_tanh(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_sinh(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_cosh(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_arcsin(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_arccos(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_arctan(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_arctan2(y: ndarray[t.CDouble] | t.CPtr, x: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_degrees(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_radians(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_isnan(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_isinf(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_maximum(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_minimum(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def cumsum(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def diff(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def flatten(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def trace(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def outer(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_where(condition: ndarray[t.CDouble] | t.CPtr, x: ndarray[t.CDouble] | t.CPtr, y: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_count_nonzero(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def np_all(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def np_any(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def np_equal(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_not_equal(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_less(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_greater(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_less_equal(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_greater_equal(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def empty(pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def full2d(pool: memhub.MemManager | t.CPtr, rows: t.CSizeT, cols: t.CSizeT, val: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def zeros_like(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def ones_like(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def arange1(pool: memhub.MemManager | t.CPtr, stop: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def linspace2(pool: memhub.MemManager | t.CPtr, start: t.CDouble, stop: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def meshgrid(x: ndarray[t.CDouble] | t.CPtr, y: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def det2x2(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def inv2x2(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def cross3(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_interp(x: t.CDouble, xp: ndarray[t.CDouble] | t.CPtr, fp: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def prod(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def median(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def percentile(a: ndarray[t.CDouble] | t.CPtr, q: t.CDouble) -> t.CDouble: pass - diff --git a/Test/SimdTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/SimdTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SimdTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/SimdTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/SimdTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/SimdTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SimdTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/SimdTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/SimdTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/SimdTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/SimdTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/SimdTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/SimdTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/SimdTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/SimdTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/SimdTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/SimdTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/SimdTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/SimdTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SimdTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/SimdTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/SimdTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/SimdTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/SimdTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/SimdTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/SimdTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/SimdTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/SimdTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/SimdTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/SimdTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/SimdTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/SimdTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/SimdTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/SimdTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/SimdTest/output/3f7c5e78d8652535.deps.json b/Test/SimdTest/output/3f7c5e78d8652535.deps.json deleted file mode 100644 index 3ead2c0..0000000 --- a/Test/SimdTest/output/3f7c5e78d8652535.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "vipermath": "3f7c5e78d8652535", "stdlib": "6c658cc728d0bbf4", "vipersimd": "6dde8fc09b24666c", "testcheck": "748d0424e8976fa0", "main": "90f67f777f23b84b", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SimdTest/output/6dde8fc09b24666c.deps.json b/Test/SimdTest/output/6dde8fc09b24666c.deps.json deleted file mode 100644 index 3ead2c0..0000000 --- a/Test/SimdTest/output/6dde8fc09b24666c.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "vipermath": "3f7c5e78d8652535", "stdlib": "6c658cc728d0bbf4", "vipersimd": "6dde8fc09b24666c", "testcheck": "748d0424e8976fa0", "main": "90f67f777f23b84b", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SimdTest/output/90f67f777f23b84b.deps.json b/Test/SimdTest/output/90f67f777f23b84b.deps.json index a9caa4c..b06c49e 100644 --- a/Test/SimdTest/output/90f67f777f23b84b.deps.json +++ b/Test/SimdTest/output/90f67f777f23b84b.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "vipermath": "3f7c5e78d8652535", "stdlib": "6c658cc728d0bbf4", "vipersimd": "6dde8fc09b24666c", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"vipermath": "0d841163d475941f", "numpy.__init__": "185f39ff5c3b0450", "__init__": "185f39ff5c3b0450", "numpy": "185f39ff5c3b0450", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "vipersimd": "71d08e9c33520cfa", "testcheck": "748d0424e8976fa0", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SimdTest/output/_shared_sym_includes.pickle b/Test/SimdTest/output/_shared_sym_includes.pickle index 156bd3de0cb9c5eb904cf841a1ade4b6e65874a3..9d6e7978eba1059a4adcd32b8bded2a405544fbc 100644 GIT binary patch literal 683544 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

|HF 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 literal 600486 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®N#`EJs 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 G+Wrdyh#L(6 diff --git a/Test/SimdTest/output/aa246c6e6aa30484.deps.json b/Test/SimdTest/output/aa246c6e6aa30484.deps.json index 3ead2c0..b71b6cf 100644 --- a/Test/SimdTest/output/aa246c6e6aa30484.deps.json +++ b/Test/SimdTest/output/aa246c6e6aa30484.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "vipermath": "3f7c5e78d8652535", "stdlib": "6c658cc728d0bbf4", "vipersimd": "6dde8fc09b24666c", "testcheck": "748d0424e8976fa0", "main": "90f67f777f23b84b", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"vipermath": "0d841163d475941f", "numpy.__init__": "185f39ff5c3b0450", "__init__": "185f39ff5c3b0450", "numpy": "185f39ff5c3b0450", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "vipersimd": "71d08e9c33520cfa", "testcheck": "748d0424e8976fa0", "main": "90f67f777f23b84b", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SimdTest/output/c3a6aed1f1fb8b1e.deps.json b/Test/SimdTest/output/c3a6aed1f1fb8b1e.deps.json deleted file mode 100644 index 3ead2c0..0000000 --- a/Test/SimdTest/output/c3a6aed1f1fb8b1e.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "vipermath": "3f7c5e78d8652535", "stdlib": "6c658cc728d0bbf4", "vipersimd": "6dde8fc09b24666c", "testcheck": "748d0424e8976fa0", "main": "90f67f777f23b84b", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SimdTest/output/c9f4be41ca1cc2b4.deps.json b/Test/SimdTest/output/c9f4be41ca1cc2b4.deps.json deleted file mode 100644 index 3ead2c0..0000000 --- a/Test/SimdTest/output/c9f4be41ca1cc2b4.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "vipermath": "3f7c5e78d8652535", "stdlib": "6c658cc728d0bbf4", "vipersimd": "6dde8fc09b24666c", "testcheck": "748d0424e8976fa0", "main": "90f67f777f23b84b", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SimdTest/temp/3f7c5e78d8652535.stub.ll.dep b/Test/SimdTest/temp/3f7c5e78d8652535.stub.ll.dep deleted file mode 100644 index e69de29..0000000 diff --git a/Test/SimdTest/temp/3f7c5e78d8652535.vpi b/Test/SimdTest/temp/3f7c5e78d8652535.vpi deleted file mode 100644 index b7c7585..0000000 --- a/Test/SimdTest/temp/3f7c5e78d8652535.vpi +++ /dev/null @@ -1,128 +0,0 @@ -""" -Auto-generated Python stub file from vipermath.vp -Module: vipermath -""" - - -import t, c - -U_M_PI: t.CDefine = 3.14159265358979323846 -U_M_E: t.CDefine = 2.71828182845904523536 -U_M_PI_2: t.CDefine = 1.57079632679489661923 -U_M_PI_4: t.CDefine = 0.78539816339744830962 -U_M_1_PI: t.CDefine = 0.31830988618379067154 -U_M_2_PI: t.CDefine = 0.63661977236758134308 -U_M_LN2: t.CDefine = 0.69314718055994530942 -U_M_LN10: t.CDefine = 2.30258509299404568402 -U_M_2_SQRT_PI: t.CDefine = 1.77245385090551602730 - -def radians(degrees: t.CDouble) -> t.CDouble: pass - -def degrees(radians: t.CDouble) -> t.CDouble: pass - -def sin(x: t.CDouble) -> t.CDouble: pass - -def cos(x: t.CDouble) -> t.CDouble: pass - -def tan(x: t.CDouble) -> t.CDouble: pass - -def asin(x: t.CDouble) -> t.CDouble: pass - -def acos(x: t.CDouble) -> t.CDouble: pass - -def _atan_core(x: t.CDouble) -> t.CDouble: pass - -def atan(x: t.CDouble) -> t.CDouble: pass - -def atan2(y: t.CDouble, x: t.CDouble) -> t.CDouble: pass - -def sinh(x: t.CDouble) -> t.CDouble: pass - -def cosh(x: t.CDouble) -> t.CDouble: pass - -def tanh(x: t.CDouble) -> t.CDouble: pass - -def exp(x: t.CDouble) -> t.CDouble: pass - -def log(x: t.CDouble) -> t.CDouble: pass - -def sqrt(x: t.CDouble) -> t.CDouble: pass - -def abs(x: t.CInt) -> t.CInt: pass - -def fabs(x: t.CDouble) -> t.CDouble: pass - -def labs(x: t.CLong) -> t.CLong: pass - -def factorial(n: t.CInt) -> t.CDouble: pass - -def combination(n: t.CInt, k: t.CInt) -> t.CDouble: pass - -def permutation(n: t.CInt, k: t.CInt) -> t.CDouble: pass - -def pow(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def powf(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def cbrt(x: t.CDouble) -> t.CDouble: pass - -def hypot(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def floor(x: t.CDouble) -> t.CDouble: pass - -def ceil(x: t.CDouble) -> t.CDouble: pass - -def round(x: t.CDouble) -> t.CDouble: pass - -def trunc(x: t.CDouble) -> t.CDouble: pass - -def fmod(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def fmodf(x: float, y: float) -> float: pass - -def modf(x: t.CDouble, iptr: t.CDouble | t.CPtr) -> t.CDouble: pass - -def log10(x: t.CDouble) -> t.CDouble: pass - -def log2(x: t.CDouble) -> t.CDouble: pass - -def exp2(x: t.CDouble) -> t.CDouble: pass - -def expm1(x: t.CDouble) -> t.CDouble: pass - -def log1p(x: t.CDouble) -> t.CDouble: pass - -def asinh(x: t.CDouble) -> t.CDouble: pass - -def acosh(x: t.CDouble) -> t.CDouble: pass - -def atanh(x: t.CDouble) -> t.CDouble: pass - -def gamma(x: t.CDouble) -> t.CDouble: pass - -def erf(x: t.CDouble) -> t.CDouble: pass - -def erfc(x: t.CDouble) -> t.CDouble: pass - -def sqrtf(x: t.CFloat) -> t.CFloat: pass - -def sinf(x: t.CFloat) -> t.CFloat: pass - -def cosf(x: t.CFloat) -> t.CFloat: pass - -def tanf(x: t.CFloat) -> t.CFloat: pass - -def fabsf(x: t.CFloat) -> t.CFloat: pass - -def floorf(x: t.CFloat) -> t.CFloat: pass - -def ceilf(x: t.CFloat) -> t.CFloat: pass - - -class _U(t.CUnion): - d: t.CDouble - u: t.CUInt64T - -def isnan(x: t.CDouble) -> t.CStatic | t.CInt: pass - -def isinf(x: t.CDouble) -> t.CStatic | t.CInt: pass diff --git a/Test/SimdTest/temp/6dde8fc09b24666c.stub.ll.dep b/Test/SimdTest/temp/6dde8fc09b24666c.stub.ll.dep deleted file mode 100644 index e69de29..0000000 diff --git a/Test/SimdTest/temp/6dde8fc09b24666c.vpi b/Test/SimdTest/temp/6dde8fc09b24666c.vpi deleted file mode 100644 index f7c3196..0000000 --- a/Test/SimdTest/temp/6dde8fc09b24666c.vpi +++ /dev/null @@ -1,91 +0,0 @@ -""" -Auto-generated Python stub file from vipersimd.vp -Module: vipersimd -""" - - -import t, c - -def simd_add4d(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_sub4d(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_mul4d(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_div4d(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_sqrt4d(a: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_neg4d(a: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_abs4d(a: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_max4d(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_min4d(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_mul_scalar4d(a: t.CPtr, scalar: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_add_scalar4d(a: t.CPtr, scalar: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_hsum4d(a: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_dot4d(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_fma4d(a: t.CPtr, b: t.CPtr, c_val: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_add4f(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_sub4f(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_mul4f(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_div4f(a: t.CPtr, b: t.CPtr, out: t.CPtr) -> t.CVoid: pass - -def simd_add_array(a: t.CPtr, b: t.CPtr, out: t.CPtr, n: t.CSizeT) -> t.CVoid: pass - -def simd_sub_array(a: t.CPtr, b: t.CPtr, out: t.CPtr, n: t.CSizeT) -> t.CVoid: pass - -def simd_mul_array(a: t.CPtr, b: t.CPtr, out: t.CPtr, n: t.CSizeT) -> t.CVoid: pass - -def simd_div_array(a: t.CPtr, b: t.CPtr, out: t.CPtr, n: t.CSizeT) -> t.CVoid: pass - -def simd_sqrt_array(a: t.CPtr, out: t.CPtr, n: t.CSizeT) -> t.CVoid: pass - -def simd_abs_array(a: t.CPtr, out: t.CPtr, n: t.CSizeT) -> t.CVoid: pass - -def simd_neg_array(a: t.CPtr, out: t.CPtr, n: t.CSizeT) -> t.CVoid: pass - -def simd_dot_array(a: t.CPtr, b: t.CPtr, n: t.CSizeT, out: t.CPtr) -> t.CVoid: pass - -def simd_sqrt(x: t.CDouble) -> t.CDouble: pass - -def simd_fabs(x: t.CDouble) -> t.CDouble: pass - -def simd_floor(x: t.CDouble) -> t.CDouble: pass - -def simd_ceil(x: t.CDouble) -> t.CDouble: pass - -def simd_round(x: t.CDouble) -> t.CDouble: pass - -def simd_trunc(x: t.CDouble) -> t.CDouble: pass - -def simd_fma(a: t.CDouble, b: t.CDouble, c_val: t.CDouble) -> t.CDouble: pass - -def simd_copysign(mag: t.CDouble, sign: t.CDouble) -> t.CDouble: pass - -def simd_neg(x: t.CDouble) -> t.CDouble: pass - -def simd_minnum(a: t.CDouble, b: t.CDouble) -> t.CDouble: pass - -def simd_maxnum(a: t.CDouble, b: t.CDouble) -> t.CDouble: pass - -def simd_exp(x: t.CDouble) -> t.CDouble: pass - -def simd_log(x: t.CDouble) -> t.CDouble: pass - -def simd_sin(x: t.CDouble) -> t.CDouble: pass - -def simd_cos(x: t.CDouble) -> t.CDouble: pass - -def simd_pow(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass diff --git a/Test/SimdTest/temp/_phase1_manifest.json b/Test/SimdTest/temp/_phase1_manifest.json index 861b4f1..e73b979 100644 --- a/Test/SimdTest/temp/_phase1_manifest.json +++ b/Test/SimdTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SimdTest\\App\\main.vp": {"sha1": "90f67f777f23b84b", "mtime": 1784566611.8616376, "size": 17408}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\numpy\\__init__.vp": {"sha1": "c3a6aed1f1fb8b1e", "mtime": 1784446436.2910569, "size": 39111}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipermath.vp": {"sha1": "3f7c5e78d8652535", "mtime": 1781532528.2518907, "size": 15412}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipersimd.vp": {"sha1": "6dde8fc09b24666c", "mtime": 1785318562.31538, "size": 15568}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SimdTest\\App\\main.vp": {"sha1": "90f67f777f23b84b", "mtime": 1786196139.8334105, "size": 17408}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\numpy\\__init__.vp": {"sha1": "185f39ff5c3b0450", "mtime": 1786178582.3689485, "size": 39247}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipermath.vp": {"sha1": "0d841163d475941f", "mtime": 1786193728.6869502, "size": 15615}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipersimd.vp": {"sha1": "71d08e9c33520cfa", "mtime": 1786176404.994234, "size": 16080}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/SimdTest/temp/_sha1_map.txt b/Test/SimdTest/temp/_sha1_map.txt index 1cabca9..836dcc3 100644 --- a/Test/SimdTest/temp/_sha1_map.txt +++ b/Test/SimdTest/temp/_sha1_map.txt @@ -1,14 +1,14 @@ -04e5fe47ff2af528:includes/memhub.vp +0d841163d475941f:includes/vipermath.vp +185f39ff5c3b0450:includes/numpy\__init__.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp -3f7c5e78d8652535:includes/vipermath.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp -6dde8fc09b24666c:includes/vipersimd.vp +71d08e9c33520cfa:includes/vipersimd.vp 748d0424e8976fa0:includes/testcheck.vp 90f67f777f23b84b:main.vp -928c0ff6d8c69ec9:includes/string.vp aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c3a6aed1f1fb8b1e:includes/numpy\__init__.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/SimdTest/temp/c3a6aed1f1fb8b1e.stub.ll.dep b/Test/SimdTest/temp/c3a6aed1f1fb8b1e.stub.ll.dep deleted file mode 100644 index e69de29..0000000 diff --git a/Test/SimdTest/temp/c3a6aed1f1fb8b1e.vpi b/Test/SimdTest/temp/c3a6aed1f1fb8b1e.vpi deleted file mode 100644 index fd928e3..0000000 --- a/Test/SimdTest/temp/c3a6aed1f1fb8b1e.vpi +++ /dev/null @@ -1,240 +0,0 @@ -""" -Auto-generated Python stub file from numpy.__init__.vp -Module: numpy.__init__ -""" - - -from stdint import * -import stdlib -import string -import vipermath -import stdio -import t, c -import memhub - -MAX_NDIM: t.CDefine = 4 -float64: t.CTypedef = t.CDouble -float32: t.CTypedef = t.CFloat -int64: t.CTypedef = t.CLong -int32: t.CTypedef = t.CInt -uint8: t.CTypedef = t.CUnsignedChar -pi: t.CDefine = 3.14159265358979323846 -e: t.CDefine = 2.71828182845904523536 - -@t.Object -class ndarray[T]: - data: T | t.CPtr - shape: t.CArray[t.CSizeT, MAX_NDIM] - strides: t.CArray[t.CSizeT, MAX_NDIM] - ndim: t.CInt - size: t.CSizeT - owns_data: t.CInt - pool: memhub.MemManager | t.CPtr - def __new__(self: ndarray, pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> t.CInt: pass - def __add__(self: ndarray, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __sub__(self: ndarray, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __mul__(self: ndarray, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __truediv__(self: ndarray, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __floordiv__(self: ndarray, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __mod__(self: ndarray, other: ndarray[T] | t.CPtr) -> ndarray[T] | t.CPtr: pass - def __neg__(self: ndarray) -> ndarray[T] | t.CPtr: pass - def __len__(self: ndarray) -> t.CInt: pass - def at2d(self: ndarray, row: t.CSizeT, col: t.CSizeT) -> T: pass - def set2d(self: ndarray, row: t.CSizeT, col: t.CSizeT, val: T) -> t.CInt: pass - def delete(self: ndarray) -> t.CInt: pass - def fill(self: ndarray, val: T) -> t.CInt: pass - def copy(self: ndarray) -> ndarray[T] | t.CPtr: pass - def reshape(self: ndarray, new_shape: INTPTR, new_ndim: t.CInt) -> ndarray[T] | t.CPtr: pass - def sum(self: ndarray) -> T: pass - def mean(self: ndarray) -> T: pass - def min(self: ndarray) -> T: pass - def max(self: ndarray) -> T: pass - def argmax(self: ndarray) -> t.CInt: pass - def argmin(self: ndarray) -> t.CInt: pass - def dot(self: ndarray, other: ndarray[T] | t.CPtr) -> T: pass - def T(self: ndarray) -> ndarray[T] | t.CPtr: pass - def print_arr(self: ndarray) -> t.CInt: pass - -Float64Array: t.CTypedef = ndarray[t.CDouble] -Float32Array: t.CTypedef = ndarray[t.CFloat] -Int64Array: t.CTypedef = ndarray[t.CLong] -Int32Array: t.CTypedef = ndarray[t.CInt] -Uint8Array: t.CTypedef = ndarray[t.CUnsignedChar] - -def _alloc_ndarray(pool: memhub.MemManager | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def _compute_strides(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def _empty_like(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr, data: t.CDouble | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def zeros(pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def ones(pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def full(pool: memhub.MemManager | t.CPtr, n: t.CSizeT, val: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def arange(pool: memhub.MemManager | t.CPtr, start: t.CDouble, stop: t.CDouble, step: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def linspace(pool: memhub.MemManager | t.CPtr, start: t.CDouble, stop: t.CDouble, num: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def empty2d(pool: memhub.MemManager | t.CPtr, rows: t.CSizeT, cols: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def zeros2d(pool: memhub.MemManager | t.CPtr, rows: t.CSizeT, cols: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def ones2d(pool: memhub.MemManager | t.CPtr, rows: t.CSizeT, cols: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def eye(pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def diag(pool: memhub.MemManager | t.CPtr, vals: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_abs(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_sqrt(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_exp(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_log(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_sin(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_cos(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_tan(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_pow(a: ndarray[t.CDouble] | t.CPtr, p: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def add_scalar(a: ndarray[t.CDouble] | t.CPtr, s: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def mul_scalar(a: ndarray[t.CDouble] | t.CPtr, s: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def sub_scalar(a: ndarray[t.CDouble] | t.CPtr, s: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def div_scalar(a: ndarray[t.CDouble] | t.CPtr, s: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def matmul(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def dot_product(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_sum(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_mean(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_min(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_max(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def np_argmax(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def np_argmin(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def var(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def std(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def norm(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def clip(a: ndarray[t.CDouble] | t.CPtr, lo: t.CDouble, hi: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def concatenate(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def sort_arr(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def reverse(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_log10(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_log2(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_floor(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_ceil(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_round(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_sign(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_tanh(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_sinh(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_cosh(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_arcsin(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_arccos(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_arctan(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_arctan2(y: ndarray[t.CDouble] | t.CPtr, x: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_degrees(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_radians(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_isnan(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_isinf(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_maximum(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_minimum(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def cumsum(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def diff(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def flatten(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def trace(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def outer(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_where(condition: ndarray[t.CDouble] | t.CPtr, x: ndarray[t.CDouble] | t.CPtr, y: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_count_nonzero(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def np_all(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def np_any(a: ndarray[t.CDouble] | t.CPtr) -> t.CInt: pass - -def np_equal(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_not_equal(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_less(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_greater(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_less_equal(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_greater_equal(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def empty(pool: memhub.MemManager | t.CPtr, n: t.CSizeT) -> ndarray[t.CDouble] | t.CPtr: pass - -def full2d(pool: memhub.MemManager | t.CPtr, rows: t.CSizeT, cols: t.CSizeT, val: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def zeros_like(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def ones_like(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def arange1(pool: memhub.MemManager | t.CPtr, stop: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def linspace2(pool: memhub.MemManager | t.CPtr, start: t.CDouble, stop: t.CDouble) -> ndarray[t.CDouble] | t.CPtr: pass - -def meshgrid(x: ndarray[t.CDouble] | t.CPtr, y: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def det2x2(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def inv2x2(a: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def cross3(a: ndarray[t.CDouble] | t.CPtr, b: ndarray[t.CDouble] | t.CPtr) -> ndarray[t.CDouble] | t.CPtr: pass - -def np_interp(x: t.CDouble, xp: ndarray[t.CDouble] | t.CPtr, fp: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def prod(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def median(a: ndarray[t.CDouble] | t.CPtr) -> t.CDouble: pass - -def percentile(a: ndarray[t.CDouble] | t.CPtr, q: t.CDouble) -> t.CDouble: pass diff --git a/Test/SimdTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/SimdTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/SimdTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SimdTest/temp/c9f4be41ca1cc2b4.vpi b/Test/SimdTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/SimdTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/SlotsBugTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/SlotsBugTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/22/22bc0df83b3f0e62.vpi b/Test/SlotsBugTest/.tpv_build/temp/22/22bc0df83b3f0e62.vpi deleted file mode 100644 index 0da2c6c..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/22/22bc0df83b3f0e62.vpi +++ /dev/null @@ -1,180 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperlib -from .tokens import TokOp -class ASTKind(t.CEnum): - Module: t.State - FunctionDef: t.State - ClassDef: t.State - Assign: t.State - If: t.State - For: t.State - While: t.State - Return: t.State - Expr: t.State - Name: t.State - Constant: t.State - BinOp: t.State - UnaryOp: t.State - Call: t.State - Compare: t.State - Expression: t.State - Interactive: t.State - FunctionType: t.State - Delete: t.State - AugAssign: t.State - AnnAssign: t.State - With: t.State - Raise: t.State - Try: t.State - Assert: t.State - Global: t.State - Nonlocal: t.State - Pass: t.State - Break: t.State - Continue: t.State - Import: t.State - ImportFrom: t.State - Match: t.State - BoolOp: t.State - Lambda: t.State - IfExp: t.State - Dict: t.State - Set: t.State - ListComp: t.State - SetComp: t.State - DictComp: t.State - GeneratorExp: t.State - Await: t.State - Yield: t.State - YieldFrom: t.State - FormattedValue: t.State - JoinedStr: t.State - Attribute: t.State - Subscript: t.State - Starred: t.State - List: t.State - Tuple: t.State - Slice: t.State - NamedExpr: t.State - ExceptHandler: t.State - Arguments: t.State - Arg: t.State - Keyword: t.State - Alias: t.State - WithItem: t.State - Comprehension: t.State - OpNode: t.State - MatchCase: t.State - MatchValue: t.State - MatchSingleton: t.State - MatchSequence: t.State - MatchMapping: t.State - MatchClass: t.State - MatchStar: t.State - MatchAs: t.State - MatchOr: t.State - -class ASTCtx(t.CEnum): - Load: t.State - Store: t.State - Del: t.State - -class OpKind(t.CEnum): - Add: t.State - Sub: t.State - Mult: t.State - MatMult: t.State - Div: t.State - Mod: t.State - Pow: t.State - LShift: t.State - RShift: t.State - BitOr: t.State - BitXor: t.State - BitAnd: t.State - FloorDiv: t.State - And: t.State - Or: t.State - Eq: t.State - Ne: t.State - Lt: t.State - Le: t.State - Gt: t.State - Ge: t.State - Is: t.State - IsNot: t.State - In: t.State - NotIn: t.State - Not: t.State - UAdd: t.State - USub: t.State - Invert: t.State - NoneOp: t.State - -CONST_INT: t.CDefine = 1 -CONST_FLOAT: t.CDefine = 2 -CONST_STR: t.CDefine = 3 -CONST_BOOL: t.CDefine = 4 -CONST_NONE: t.CDefine = 5 -CONST_CHAR: t.CDefine = 6 -FLAG_IS_ASYNC: t.CDefine = 1 -FLAG_SIMPLE: t.CDefine = 2 -FLAG_HAS_STAR: t.CDefine = 4 -class ASTFlag(t.CEnum): - IsAsync: t.State - Simple: t.State - HasStar: t.State - -def _copy_str(pool: memhub.MemManager | t.CPtr, src: str) -> str: pass - -def _set_pos(node: AST | t.CPtr, lineno: t.CInt, col_offset: t.CInt, end_lineno: t.CInt, end_col_offset: t.CInt): pass - -def _inherit_pos(node: AST | t.CPtr, ref: AST | t.CPtr): pass - -def _init_ast(node: AST | t.CPtr, pool: memhub.MemManager | t.CPtr, lineno: t.CInt, col: t.CInt): pass - -def _set_parent_list(lst: list[AST | t.CPtr] | t.CPtr, parent: AST | t.CPtr): pass - -def _append_child(lst: list[AST | t.CPtr] | t.CPtr, node: AST | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _binop_from_op(op_id: t.CInt) -> t.CInt: pass - -def _augop_from_op(op_id: t.CInt) -> t.CInt: pass - -def _cmpop_from_op(op_id: t.CInt) -> t.CInt: pass - -def _emit(buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT, text: str) -> t.CSizeT: pass - -def _emit_str(buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT, text: str) -> t.CSizeT: pass - -def _emit_int(buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT, val: t.CInt64T) -> t.CSizeT: pass - -def _op_name(op: t.CInt) -> str: pass - -def _dump_list(lst: list[AST | t.CPtr] | t.CPtr, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -def _dump_op_list(lst: t.CPtr, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -@t.CVTable -class AST: - parent: AST | t.CPtr - pool: memhub.MemManager | t.CPtr - lineno: t.CInt - col_offset: t.CInt - end_lineno: t.CInt - end_col_offset: t.CInt - children: list[AST | t.CPtr] | t.CPtr - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - def accept(self, visitor: t.CPtr): pass - def append(self, node: AST | t.CPtr): pass - -def dump(node: AST | t.CPtr, buf: t.CChar | t.CPtr, size: t.CSizeT): pass - diff --git a/Test/SlotsBugTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/SlotsBugTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/SlotsBugTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/43/4337fb260448bbe2.vpi b/Test/SlotsBugTest/.tpv_build/temp/43/4337fb260448bbe2.vpi deleted file mode 100644 index 93461ab..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/43/4337fb260448bbe2.vpi +++ /dev/null @@ -1,76 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from .base import AST, ASTKind, _init_ast, _copy_str, _set_parent_list, _emit, _emit_str, _emit_int, _dump_list -class ExceptHandler(AST): - type: AST | t.CPtr - name: str - def __new__(self, pool: memhub.MemManager | t.CPtr, type: AST | t.CPtr, name: str): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, type: AST | t.CPtr, name: str): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Arguments(AST): - args: list[AST | t.CPtr] | t.CPtr - vararg: AST | t.CPtr - kwarg: AST | t.CPtr - defaults: list[AST | t.CPtr] | t.CPtr - kw_defaults: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, args: list[AST | t.CPtr] | t.CPtr, vararg: AST | t.CPtr, kwarg: AST | t.CPtr, defaults: list[AST | t.CPtr] | t.CPtr, kw_defaults: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, args: list[AST | t.CPtr] | t.CPtr, vararg: AST | t.CPtr, kwarg: AST | t.CPtr, defaults: list[AST | t.CPtr] | t.CPtr, kw_defaults: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Arg(AST): - arg: str - annotation: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, arg: str, annotation: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, arg: str, annotation: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Keyword(AST): - arg: str - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, arg: str, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, arg: str, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Alias(AST): - name: str - asname: str - def __new__(self, pool: memhub.MemManager | t.CPtr, name: str, asname: str): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, name: str, asname: str): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class WithItem(AST): - context_expr: AST | t.CPtr - optional_vars: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, context_expr: AST | t.CPtr, optional_vars: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, context_expr: AST | t.CPtr, optional_vars: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Comprehension(AST): - target: AST | t.CPtr - iter: AST | t.CPtr - ifs: list[AST | t.CPtr] | t.CPtr - is_async: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, iter: AST | t.CPtr, ifs: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, iter: AST | t.CPtr, ifs: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: bytes, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - diff --git a/Test/SlotsBugTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/SlotsBugTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/SlotsBugTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/SlotsBugTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/SlotsBugTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/_sha1_map.txt b/Test/SlotsBugTest/.tpv_build/temp/_sha1_map.txt index 9427780..bc78da8 100644 --- a/Test/SlotsBugTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/SlotsBugTest/.tpv_build/temp/_sha1_map.txt @@ -1,22 +1,21 @@ -4337fb260448bbe2:includes/ast/astaux.vp -22bc0df83b3f0e62:includes/ast/base.vp -b543bc1dfb592119:includes/ast/exprs.vp -f5d13f1be34f417a:includes/ast/lexer.vp -fde6db0747bdd959:includes/ast/parser.vp -657e182b27c2a022:includes/ast/stmts.vp -b547ac4f380bddb6:includes/ast/tokens.vp -de3357cb9182715e:includes/ast/__init__.vp +34dc6a647fa19b7b:includes/ast/astaux.vp +f467978339422f32:includes/ast/base.vp +c0def010dcebadb1:includes/ast/exprs.vp +688b9c1ad51d7c05:includes/ast/lexer.vp +3b2a307c9c7d0129:includes/ast/match.vp +6f68d4561b9de7c7:includes/ast/parser.vp +46ea1349c980c7f4:includes/ast/stmts.vp +eb09ac7f10988a63:includes/ast/tokens.vp +35245c385b0ddd7b:includes/ast/__init__.vp aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp 71e0a3ffcb3ebfad:includes/stdarg.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f6ab8989f3545e83:includes/viperlib.vp -e0f0afe3caa1e486:includes/_dict.vp +40b053f21c0df07c:includes/string.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp 7cadfe07e983fd90:includes/_list.vp +0ef89e1f17596302:main.vp diff --git a/Test/SlotsBugTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/SlotsBugTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/SlotsBugTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/SlotsBugTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/SlotsBugTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/b5/b543bc1dfb592119.vpi b/Test/SlotsBugTest/.tpv_build/temp/b5/b543bc1dfb592119.vpi deleted file mode 100644 index 293b26d..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/b5/b543bc1dfb592119.vpi +++ /dev/null @@ -1,265 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from .base import AST, ASTKind, ASTCtx, OpKind, _init_ast, _copy_str, _set_parent_list, _emit, _emit_str, _emit_int, _dump_list, _dump_op_list, _op_name, CONST_INT, CONST_FLOAT, CONST_STR, CONST_BOOL, CONST_NONE, CONST_CHAR -class Name(AST): - id: str - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, id: str, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, id: str, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Constant(AST): - int_val: t.CInt64T - float_val: t.CDouble - str_val: str - const_kind: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, const_kind: t.CInt, int_val: t.CInt64T, float_val: t.CDouble, str_val: str, lineno: t.CInt, col: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, const_kind: t.CInt, int_val: t.CInt64T, float_val: t.CDouble, str_val: str, lineno: t.CInt, col: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class BinOp(AST): - left: AST | t.CPtr - op: t.CInt - right: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, left: AST | t.CPtr, op: t.CInt, right: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, left: AST | t.CPtr, op: t.CInt, right: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class UnaryOp(AST): - op: t.CInt - operand: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt, operand: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt, operand: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Compare(AST): - left: AST | t.CPtr - ops: t.CPtr - comparators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, left: AST | t.CPtr, ops: t.CPtr, comparators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, left: AST | t.CPtr, ops: t.CPtr, comparators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Call(AST): - func: AST | t.CPtr - args: list[AST | t.CPtr] | t.CPtr - keywords: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, func: AST | t.CPtr, args: list[AST | t.CPtr] | t.CPtr, keywords: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, func: AST | t.CPtr, args: list[AST | t.CPtr] | t.CPtr, keywords: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class BoolOp(AST): - op: t.CInt - values: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt, values: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt, values: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Lambda(AST): - args: AST | t.CPtr - body: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, args: AST | t.CPtr, body: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, args: AST | t.CPtr, body: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class IfExp(AST): - test: AST | t.CPtr - body: AST | t.CPtr - orelse: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, body: AST | t.CPtr, orelse: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, body: AST | t.CPtr, orelse: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Dict(AST): - keys: list[AST | t.CPtr] | t.CPtr - values: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, keys: list[AST | t.CPtr] | t.CPtr, values: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, keys: list[AST | t.CPtr] | t.CPtr, values: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Set(AST): - elts: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class ListComp(AST): - elt: AST | t.CPtr - generators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class SetComp(AST): - elt: AST | t.CPtr - generators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class DictComp(AST): - key: AST | t.CPtr - value: AST | t.CPtr - generators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, key: AST | t.CPtr, value: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, key: AST | t.CPtr, value: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class GeneratorExp(AST): - elt: AST | t.CPtr - generators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elt: AST | t.CPtr, generators: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Await(AST): - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Yield(AST): - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class YieldFrom(AST): - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class FormattedValue(AST): - value: AST | t.CPtr - conversion: t.CInt - format_spec: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, conversion: t.CInt, format_spec: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, conversion: t.CInt, format_spec: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class JoinedStr(AST): - values: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, values: list[AST | t.CPtr] | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, values: list[AST | t.CPtr] | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Attribute(AST): - value: AST | t.CPtr - attr: str - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, attr: str, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, attr: str, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Subscript(AST): - value: AST | t.CPtr - slice: AST | t.CPtr - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, slice: AST | t.CPtr, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, slice: AST | t.CPtr, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Starred(AST): - value: AST | t.CPtr - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class List(AST): - elts: list[AST | t.CPtr] | t.CPtr - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Tuple(AST): - elts: list[AST | t.CPtr] | t.CPtr - ctx: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr, ctx: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elts: list[AST | t.CPtr] | t.CPtr, ctx: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class Slice(AST): - lower: AST | t.CPtr - upper: AST | t.CPtr - step: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, lower: AST | t.CPtr, upper: AST | t.CPtr, step: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, lower: AST | t.CPtr, upper: AST | t.CPtr, step: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class NamedExpr(AST): - target: AST | t.CPtr - value: AST | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, value: AST | t.CPtr): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, value: AST | t.CPtr): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - -class OpNode(AST): - op: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, op: t.CInt): pass - def kind(self) -> t.CInt: pass - def type_name(self) -> str: pass - def dump(self, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass - diff --git a/Test/SlotsBugTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/SlotsBugTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/SlotsBugTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/f5/f5d13f1be34f417a.vpi b/Test/SlotsBugTest/.tpv_build/temp/f5/f5d13f1be34f417a.vpi deleted file mode 100644 index e80d701..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/f5/f5d13f1be34f417a.vpi +++ /dev/null @@ -1,64 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from .tokens import Token, TokenType, TokOp, _init_tables, _kw_lookup, _op_head, OpEntry, new_token, token_set_str, token_set_str_literal -LEXER_MAX_INDENT: t.CDefine = 256 -class Lexer: - src: str - pos: t.CSizeT - len: t.CSizeT - lineno: t.CInt - col: t.CInt - pool: memhub.MemManager | t.CPtr - indent_stack: t.CInt | t.CPtr - indent_top: t.CInt - paren_depth: t.CInt - tokens_head: Token | t.CPtr - tokens_tail: Token | t.CPtr - at_line_start: t.CInt - error_count: t.CInt - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - -def new_lexer(pool: memhub.MemManager | t.CPtr) -> Lexer | t.CPtr: pass - -def _lexer_init(lx: Lexer | t.CPtr, src: str, pool: memhub.MemManager | t.CPtr): pass - -def _peek(lx: Lexer | t.CPtr, offset: t.CSizeT) -> t.CChar: pass - -def _peek_cur(lx: Lexer | t.CPtr) -> t.CChar: pass - -def _advance(lx: Lexer | t.CPtr) -> t.CChar: pass - -def _is_alpha(ch: t.CChar) -> t.CInt: pass - -def _is_digit(ch: t.CChar) -> t.CInt: pass - -def _is_alnum(ch: t.CChar) -> t.CInt: pass - -def _is_hex(ch: t.CChar) -> t.CInt: pass - -def _is_space(ch: t.CChar) -> t.CInt: pass - -def _emit(lx: Lexer | t.CPtr, tok: Token | t.CPtr): pass - -def _make_op_token(lx: Lexer | t.CPtr, op_id: t.CInt, length: t.CInt, lineno: t.CInt, col: t.CInt) -> Token | t.CPtr: pass - -def _handle_indent(lx: Lexer | t.CPtr): pass - -def _read_name(lx: Lexer | t.CPtr): pass - -def _read_number(lx: Lexer | t.CPtr): pass - -def _emit_number(lx: Lexer | t.CPtr, start: t.CSizeT, start_lineno: t.CInt, start_col: t.CInt, is_float: t.CInt, is_complex: t.CInt, is_hex: t.CInt): pass - -def _read_string(lx: Lexer | t.CPtr): pass - -def _read_operator(lx: Lexer | t.CPtr): pass - -def tokenize(lx: Lexer | t.CPtr) -> Token | t.CPtr: pass - -tok: Token | t.CPtr diff --git a/Test/SlotsBugTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/SlotsBugTest/.tpv_build/temp/fd/fde6db0747bdd959.vpi b/Test/SlotsBugTest/.tpv_build/temp/fd/fde6db0747bdd959.vpi deleted file mode 100644 index 79e90e2..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/fd/fde6db0747bdd959.vpi +++ /dev/null @@ -1,211 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from .tokens import Token, TokenType, Keyword, TokOp -from .base import AST, ASTCtx, ASTKind, OpKind, ASTFlag, _set_pos, _binop_from_op, _augop_from_op, _cmpop_from_op, _copy_str, _inherit_pos, _init_ast, CONST_INT, CONST_FLOAT, CONST_STR, CONST_BOOL, CONST_NONE, CONST_CHAR, FLAG_IS_ASYNC -from .exprs import BoolOp, BinOp, UnaryOp, Lambda, IfExp, Dict, Set, ListComp, SetComp, DictComp, GeneratorExp, Await, Yield, YieldFrom, FormattedValue, JoinedStr, Constant, NamedExpr, Attribute, Subscript, Starred, Name, List, Tuple, Slice, Call, Compare, OpNode -from .stmts import Module, Expression, Interactive, FunctionType, FunctionDef, ClassDef, Return, Delete, Assign, AugAssign, AnnAssign, For, While, If, With, Raise, Try, Assert, Global, Nonlocal, Pass, Break, Continue, Expr, Import, ImportFrom, Match -from .astaux import ExceptHandler, Arguments, Arg, Keyword as KwNode, Alias, WithItem, Comprehension -from .lexer import Lexer, _lexer_init, tokenize, new_lexer -class Parser: - tokens: Token | t.CPtr - cur: Token | t.CPtr - pool: memhub.MemManager | t.CPtr - error_count: t.CInt - pending_decorators: list[AST | t.CPtr] | t.CPtr - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - -def new_parser(pool: memhub.MemManager | t.CPtr) -> Parser | t.CPtr: pass - -def _parser_init(ps: Parser | t.CPtr, tokens: Token | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _advance(ps: Parser | t.CPtr): pass - -def _cur_type(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_kw(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_str(ps: Parser | t.CPtr) -> str: pass - -def _cur_lineno(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_col(ps: Parser | t.CPtr) -> t.CInt: pass - -def _skip_nl(ps: Parser | t.CPtr): pass - -def _skip_nls_and_newlines(ps: Parser | t.CPtr): pass - -def _expect_type(ps: Parser | t.CPtr, ttype: t.CInt) -> t.CInt: pass - -def _expect_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _match_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _accept_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _new_const_int(pool: memhub.MemManager | t.CPtr, val: t.CInt64T, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_float(pool: memhub.MemManager | t.CPtr, val: t.CDouble, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_str(pool: memhub.MemManager | t.CPtr, val: str, lineno: t.CInt, col: t.CInt, is_dquote: t.CInt, is_triple: t.CInt, is_char: t.CInt) -> AST | t.CPtr: pass - -def _new_const_bool(pool: memhub.MemManager | t.CPtr, val: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_none(pool: memhub.MemManager | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _set_ctx(node: AST | t.CPtr, ctx: t.CInt): pass - -def _fix_store_ctx(node: AST | t.CPtr): pass - -def _parse_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_namedexpr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_lambda(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_or_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_and_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_not_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_comparison(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _match_comp_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _advance_comp_op(ps: Parser | t.CPtr): pass - -def _parse_bitor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_bitxor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_bitand(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_shift(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_arith(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_term(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_factor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_power(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_atom_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_call(ps: Parser | t.CPtr, func: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_subscript(ps: Parser | t.CPtr, value: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_slice(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_atom(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_paren(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_brace(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_sub_expr(ps: Parser | t.CPtr, src: str) -> AST | t.CPtr: pass - -def _parse_fstring(ps: Parser | t.CPtr, content: str, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_comprehension(ps: Parser | t.CPtr, elt: AST | t.CPtr, vtype: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_comp_for(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_target_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_target(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_yield(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_varargslist(ps: Parser | t.CPtr, is_lambda: t.CInt) -> AST | t.CPtr: pass - -def _parse_arg_def(ps: Parser | t.CPtr, is_lambda: t.CInt) -> AST | t.CPtr: pass - -def _parse_suite_into_children(ps: Parser | t.CPtr, parent: AST | t.CPtr): pass - -def _parse_statement_into(ps: Parser | t.CPtr, parent: AST | t.CPtr): pass - -def _parse_simple_stmt_into(ps: Parser | t.CPtr, parent: AST | t.CPtr): pass - -def _parse_small_stmt(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _maybe_tuple(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_testlist(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_expr_stmt(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_return(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_raise(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_global(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_nonlocal(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_from_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_alias_list(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_del(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_assert(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_compound(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_if(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_if_tail(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_while(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_for(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_try(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_except_handler(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_with(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_with_item(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_funcdef(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_classdef(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_match(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _make_name_ast(pool: memhub.MemManager | t.CPtr, node: Name | t.CPtr) -> AST | t.CPtr: pass - -def _parse_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_closed_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_sequence_pattern(ps: Parser | t.CPtr, close_op: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_mapping_pattern(ps: Parser | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_class_pattern(ps: Parser | t.CPtr, cls: AST | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_match_case(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_decorators(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_module_body(ps: Parser | t.CPtr, module_node: AST | t.CPtr): pass - -def parse_tokens(pool: memhub.MemManager | t.CPtr, tokens: Token | t.CPtr) -> AST | t.CPtr: pass - diff --git a/Test/SlotsBugTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/SlotsBugTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/SlotsBugTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/SlotsBugTest/output/44bd5632a417f7ac.deps.json b/Test/SlotsBugTest/output/44bd5632a417f7ac.deps.json index 9320ba2..5259866 100644 --- a/Test/SlotsBugTest/output/44bd5632a417f7ac.deps.json +++ b/Test/SlotsBugTest/output/44bd5632a417f7ac.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "ast.lexer": "8219423928c874da", "lexer": "8219423928c874da", "ast.base": "91497014ca775a64", "base": "91497014ca775a64", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "ast.exprs": "c14a7bd64dff8c0b", "exprs": "c14a7bd64dff8c0b", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "ast.__init__": "fa67083915eb2e30", "__init__": "fa67083915eb2e30", "ast": "fa67083915eb2e30", "ast.parser": "fde6db0747bdd959", "parser": "fde6db0747bdd959"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "ast.astaux": "34dc6a647fa19b7b", "astaux": "34dc6a647fa19b7b", "ast.match": "3b2a307c9c7d0129", "match": "3b2a307c9c7d0129", "string": "40b053f21c0df07c", "ast.exprs": "43ec967d0517abc1", "exprs": "43ec967d0517abc1", "ast.stmts": "46ea1349c980c7f4", "stmts": "46ea1349c980c7f4", "stdlib": "6c658cc728d0bbf4", "ast.base": "71b20381eda0450a", "base": "71b20381eda0450a", "stdarg": "71e0a3ffcb3ebfad", "ast.__init__": "876e256c06636777", "__init__": "876e256c06636777", "ast": "876e256c06636777", "atom": "aa246c6e6aa30484", "viperlib": "bba983c61a970f7c", "ast.tokens": "cea844466f10ac61", "tokens": "cea844466f10ac61", "ast.lexer": "d0072d5282b9b65f", "lexer": "d0072d5282b9b65f", "ast.parser": "ee85a98dc101e131", "parser": "ee85a98dc101e131", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.stub.ll.dep b/Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.stub.ll.dep deleted file mode 100644 index 2812636..0000000 --- a/Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|71e0a3ffcb3ebfad|91497014ca775a64|928c0ff6d8c69ec9|aa246c6e6aa30484|b547ac4f380bddb6|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.vpi b/Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.vpi deleted file mode 100644 index 5e310d6..0000000 --- a/Test/SlotsBugTest/temp/4dd6b3f1427d1cc5.vpi +++ /dev/null @@ -1,82 +0,0 @@ -""" -Auto-generated Python stub file from ast.match.vp -Module: ast.match -""" - - -import t, c -from stdint import * -import memhub -import string -from .base import AST, ASTKind, _init_ast, _copy_str, _set_parent_list, _emit, _emit_str, _emit_int, _dump_list - -class MatchCase(AST): - pattern: AST | t.CPtr - guard: AST | t.CPtr - def __new__(self: MatchCase, pool: memhub.MemManager | t.CPtr, pattern: AST | t.CPtr, guard: AST | t.CPtr) -> t.CInt: pass - def __init__(self: MatchCase, pool: memhub.MemManager | t.CPtr, pattern: AST | t.CPtr, guard: AST | t.CPtr) -> t.CInt: pass - def kind(self: MatchCase) -> t.CInt: pass - def type_name(self: MatchCase) -> str: pass - def dump(self: MatchCase, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchValue(AST): - value: AST | t.CPtr - def __new__(self: MatchValue, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: MatchValue, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: MatchValue) -> t.CInt: pass - def type_name(self: MatchValue) -> str: pass - def dump(self: MatchValue, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchSingleton(AST): - value: AST | t.CPtr - def __new__(self: MatchSingleton, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: MatchSingleton, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: MatchSingleton) -> t.CInt: pass - def type_name(self: MatchSingleton) -> str: pass - def dump(self: MatchSingleton, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchSequence(AST): - patterns: list[AST | t.CPtr] | t.CPtr - def __new__(self: MatchSequence, pool: memhub.MemManager | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: MatchSequence, pool: memhub.MemManager | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: MatchSequence) -> t.CInt: pass - def type_name(self: MatchSequence) -> str: pass - def dump(self: MatchSequence, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchMapping(AST): - keys: list[AST | t.CPtr] | t.CPtr - patterns: list[AST | t.CPtr] | t.CPtr - rest: str - def __new__(self: MatchMapping, pool: memhub.MemManager | t.CPtr, keys: list[AST | t.CPtr] | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr, rest: str) -> t.CInt: pass - def __init__(self: MatchMapping, pool: memhub.MemManager | t.CPtr, keys: list[AST | t.CPtr] | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr, rest: str) -> t.CInt: pass - def kind(self: MatchMapping) -> t.CInt: pass - def type_name(self: MatchMapping) -> str: pass - def dump(self: MatchMapping, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchClass(AST): - cls: AST | t.CPtr - patterns: list[AST | t.CPtr] | t.CPtr - kwd_attrs: list[AST | t.CPtr] | t.CPtr - kwd_patterns: list[AST | t.CPtr] | t.CPtr - def __new__(self: MatchClass, pool: memhub.MemManager | t.CPtr, cls: AST | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr, kwd_attrs: list[AST | t.CPtr] | t.CPtr, kwd_patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: MatchClass, pool: memhub.MemManager | t.CPtr, cls: AST | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr, kwd_attrs: list[AST | t.CPtr] | t.CPtr, kwd_patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: MatchClass) -> t.CInt: pass - def type_name(self: MatchClass) -> str: pass - def dump(self: MatchClass, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchStar(AST): - name: str - def __new__(self: MatchStar, pool: memhub.MemManager | t.CPtr, name: str) -> t.CInt: pass - def __init__(self: MatchStar, pool: memhub.MemManager | t.CPtr, name: str) -> t.CInt: pass - def kind(self: MatchStar) -> t.CInt: pass - def type_name(self: MatchStar) -> str: pass - def dump(self: MatchStar, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchAs(AST): - pattern: AST | t.CPtr - name: str - def __new__(self: MatchAs, pool: memhub.MemManager | t.CPtr, pattern: AST | t.CPtr, name: str) -> t.CInt: pass - def __init__(self: MatchAs, pool: memhub.MemManager | t.CPtr, pattern: AST | t.CPtr, name: str) -> t.CInt: pass - def kind(self: MatchAs) -> t.CInt: pass - def type_name(self: MatchAs) -> str: pass - def dump(self: MatchAs, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class MatchOr(AST): - patterns: list[AST | t.CPtr] | t.CPtr - def __new__(self: MatchOr, pool: memhub.MemManager | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: MatchOr, pool: memhub.MemManager | t.CPtr, patterns: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: MatchOr) -> t.CInt: pass - def type_name(self: MatchOr) -> str: pass - def dump(self: MatchOr, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/657e182b27c2a022.stub.ll.dep b/Test/SlotsBugTest/temp/657e182b27c2a022.stub.ll.dep deleted file mode 100644 index 2812636..0000000 --- a/Test/SlotsBugTest/temp/657e182b27c2a022.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|71e0a3ffcb3ebfad|91497014ca775a64|928c0ff6d8c69ec9|aa246c6e6aa30484|b547ac4f380bddb6|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/657e182b27c2a022.vpi b/Test/SlotsBugTest/temp/657e182b27c2a022.vpi deleted file mode 100644 index 9d135aa..0000000 --- a/Test/SlotsBugTest/temp/657e182b27c2a022.vpi +++ /dev/null @@ -1,226 +0,0 @@ -""" -Auto-generated Python stub file from ast.stmts.vp -Module: ast.stmts -""" - - -import t, c -from stdint import * -import memhub -import string -from .base import AST, ASTKind, ASTCtx, OpKind, _init_ast, _copy_str, _set_parent_list, _emit, _emit_str, _emit_int, _dump_list, FLAG_IS_ASYNC - -@t.CVTable -class Module(AST): - def __new__(self: Module, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def __init__(self: Module, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def kind(self: Module) -> t.CInt: pass - def type_name(self: Module) -> str: pass - def dump(self: Module, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Assign(AST): - targets: list[AST | t.CPtr] | t.CPtr - value: AST | t.CPtr - def __new__(self: Assign, pool: memhub.MemManager | t.CPtr, targets: list[AST | t.CPtr] | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Assign, pool: memhub.MemManager | t.CPtr, targets: list[AST | t.CPtr] | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: Assign) -> t.CInt: pass - def type_name(self: Assign) -> str: pass - def dump(self: Assign, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class If(AST): - test: AST | t.CPtr - orelse: list[AST | t.CPtr] | t.CPtr - def __new__(self: If, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: If, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: If) -> t.CInt: pass - def type_name(self: If) -> str: pass - def dump(self: If, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class For(AST): - target: AST | t.CPtr - iter: AST | t.CPtr - orelse: list[AST | t.CPtr] | t.CPtr - flags: t.CInt - def __new__(self: For, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, iter: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def __init__(self: For, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, iter: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def kind(self: For) -> t.CInt: pass - def type_name(self: For) -> str: pass - def dump(self: For, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class While(AST): - test: AST | t.CPtr - orelse: list[AST | t.CPtr] | t.CPtr - def __new__(self: While, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: While, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: While) -> t.CInt: pass - def type_name(self: While) -> str: pass - def dump(self: While, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Return(AST): - value: AST | t.CPtr - def __new__(self: Return, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Return, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: Return) -> t.CInt: pass - def type_name(self: Return) -> str: pass - def dump(self: Return, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Expr(AST): - value: AST | t.CPtr - def __new__(self: Expr, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Expr, pool: memhub.MemManager | t.CPtr, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: Expr) -> t.CInt: pass - def type_name(self: Expr) -> str: pass - def dump(self: Expr, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class FunctionDef(AST): - name: str - args: AST | t.CPtr - decorator_list: list[AST | t.CPtr] | t.CPtr - returns: AST | t.CPtr - flags: t.CInt - def __new__(self: FunctionDef, pool: memhub.MemManager | t.CPtr, name: str, args: AST | t.CPtr, decorator_list: list[AST | t.CPtr] | t.CPtr, returns: AST | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def __init__(self: FunctionDef, pool: memhub.MemManager | t.CPtr, name: str, args: AST | t.CPtr, decorator_list: list[AST | t.CPtr] | t.CPtr, returns: AST | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def kind(self: FunctionDef) -> t.CInt: pass - def type_name(self: FunctionDef) -> str: pass - def dump(self: FunctionDef, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Expression(AST): - body: AST | t.CPtr - def __new__(self: Expression, pool: memhub.MemManager | t.CPtr, body: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Expression, pool: memhub.MemManager | t.CPtr, body: AST | t.CPtr) -> t.CInt: pass - def kind(self: Expression) -> t.CInt: pass - def type_name(self: Expression) -> str: pass - def dump(self: Expression, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Interactive(AST): - body: AST | t.CPtr - def __new__(self: Interactive, pool: memhub.MemManager | t.CPtr, body: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Interactive, pool: memhub.MemManager | t.CPtr, body: AST | t.CPtr) -> t.CInt: pass - def kind(self: Interactive) -> t.CInt: pass - def type_name(self: Interactive) -> str: pass - def dump(self: Interactive, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class FunctionType(AST): - argtypes: list[AST | t.CPtr] | t.CPtr - returns: AST | t.CPtr - def __new__(self: FunctionType, pool: memhub.MemManager | t.CPtr, argtypes: list[AST | t.CPtr] | t.CPtr, returns: AST | t.CPtr) -> t.CInt: pass - def __init__(self: FunctionType, pool: memhub.MemManager | t.CPtr, argtypes: list[AST | t.CPtr] | t.CPtr, returns: AST | t.CPtr) -> t.CInt: pass - def kind(self: FunctionType) -> t.CInt: pass - def type_name(self: FunctionType) -> str: pass - def dump(self: FunctionType, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class ClassDef(AST): - name: str - bases: list[AST | t.CPtr] | t.CPtr - keywords: list[AST | t.CPtr] | t.CPtr - decorator_list: list[AST | t.CPtr] | t.CPtr - type_params: list[str] | t.CPtr - def __new__(self: ClassDef, pool: memhub.MemManager | t.CPtr, name: str, bases: list[AST | t.CPtr] | t.CPtr, keywords: list[AST | t.CPtr] | t.CPtr, decorator_list: list[AST | t.CPtr] | t.CPtr, type_params: list[str] | t.CPtr = None) -> t.CInt: pass - def __init__(self: ClassDef, pool: memhub.MemManager | t.CPtr, name: str, bases: list[AST | t.CPtr] | t.CPtr, keywords: list[AST | t.CPtr] | t.CPtr, decorator_list: list[AST | t.CPtr] | t.CPtr, type_params: list[str] | t.CPtr = None) -> t.CInt: pass - def kind(self: ClassDef) -> t.CInt: pass - def type_name(self: ClassDef) -> str: pass - def dump(self: ClassDef, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Delete(AST): - targets: list[AST | t.CPtr] | t.CPtr - def __new__(self: Delete, pool: memhub.MemManager | t.CPtr, targets: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Delete, pool: memhub.MemManager | t.CPtr, targets: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Delete) -> t.CInt: pass - def type_name(self: Delete) -> str: pass - def dump(self: Delete, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class AugAssign(AST): - target: AST | t.CPtr - op: t.CInt - value: AST | t.CPtr - def __new__(self: AugAssign, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, op: t.CInt, value: AST | t.CPtr) -> t.CInt: pass - def __init__(self: AugAssign, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, op: t.CInt, value: AST | t.CPtr) -> t.CInt: pass - def kind(self: AugAssign) -> t.CInt: pass - def type_name(self: AugAssign) -> str: pass - def dump(self: AugAssign, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class AnnAssign(AST): - target: AST | t.CPtr - annotation: AST | t.CPtr - value: AST | t.CPtr - simple: t.CInt - def __new__(self: AnnAssign, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, annotation: AST | t.CPtr, value: AST | t.CPtr, simple: t.CInt) -> t.CInt: pass - def __init__(self: AnnAssign, pool: memhub.MemManager | t.CPtr, target: AST | t.CPtr, annotation: AST | t.CPtr, value: AST | t.CPtr, simple: t.CInt) -> t.CInt: pass - def kind(self: AnnAssign) -> t.CInt: pass - def type_name(self: AnnAssign) -> str: pass - def dump(self: AnnAssign, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class With(AST): - items: list[AST | t.CPtr] | t.CPtr - flags: t.CInt - def __new__(self: With, pool: memhub.MemManager | t.CPtr, items: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def __init__(self: With, pool: memhub.MemManager | t.CPtr, items: list[AST | t.CPtr] | t.CPtr, is_async: t.CInt) -> t.CInt: pass - def kind(self: With) -> t.CInt: pass - def type_name(self: With) -> str: pass - def dump(self: With, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Raise(AST): - exc: AST | t.CPtr - cause: AST | t.CPtr - def __new__(self: Raise, pool: memhub.MemManager | t.CPtr, exc: AST | t.CPtr, cause: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Raise, pool: memhub.MemManager | t.CPtr, exc: AST | t.CPtr, cause: AST | t.CPtr) -> t.CInt: pass - def kind(self: Raise) -> t.CInt: pass - def type_name(self: Raise) -> str: pass - def dump(self: Raise, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Try(AST): - handlers: list[AST | t.CPtr] | t.CPtr - orelse: list[AST | t.CPtr] | t.CPtr - finalbody: list[AST | t.CPtr] | t.CPtr - def __new__(self: Try, pool: memhub.MemManager | t.CPtr, handlers: list[AST | t.CPtr] | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr, finalbody: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Try, pool: memhub.MemManager | t.CPtr, handlers: list[AST | t.CPtr] | t.CPtr, orelse: list[AST | t.CPtr] | t.CPtr, finalbody: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Try) -> t.CInt: pass - def type_name(self: Try) -> str: pass - def dump(self: Try, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Assert(AST): - test: AST | t.CPtr - msg: AST | t.CPtr - def __new__(self: Assert, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, msg: AST | t.CPtr) -> t.CInt: pass - def __init__(self: Assert, pool: memhub.MemManager | t.CPtr, test: AST | t.CPtr, msg: AST | t.CPtr) -> t.CInt: pass - def kind(self: Assert) -> t.CInt: pass - def type_name(self: Assert) -> str: pass - def dump(self: Assert, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Global(AST): - names: list[AST | t.CPtr] | t.CPtr - def __new__(self: Global, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Global, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Global) -> t.CInt: pass - def type_name(self: Global) -> str: pass - def dump(self: Global, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Nonlocal(AST): - names: list[AST | t.CPtr] | t.CPtr - def __new__(self: Nonlocal, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Nonlocal, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Nonlocal) -> t.CInt: pass - def type_name(self: Nonlocal) -> str: pass - def dump(self: Nonlocal, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Pass(AST): - def __new__(self: Pass, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def __init__(self: Pass, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def kind(self: Pass) -> t.CInt: pass - def type_name(self: Pass) -> str: pass - def dump(self: Pass, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Break(AST): - def __new__(self: Break, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def __init__(self: Break, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def kind(self: Break) -> t.CInt: pass - def type_name(self: Break) -> str: pass - def dump(self: Break, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Continue(AST): - def __new__(self: Continue, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def __init__(self: Continue, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - def kind(self: Continue) -> t.CInt: pass - def type_name(self: Continue) -> str: pass - def dump(self: Continue, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Import(AST): - names: list[AST | t.CPtr] | t.CPtr - def __new__(self: Import, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Import, pool: memhub.MemManager | t.CPtr, names: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Import) -> t.CInt: pass - def type_name(self: Import) -> str: pass - def dump(self: Import, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class ImportFrom(AST): - module: str - names: list[AST | t.CPtr] | t.CPtr - level: t.CInt - def __new__(self: ImportFrom, pool: memhub.MemManager | t.CPtr, module: str, names: list[AST | t.CPtr] | t.CPtr, level: t.CInt) -> t.CInt: pass - def __init__(self: ImportFrom, pool: memhub.MemManager | t.CPtr, module: str, names: list[AST | t.CPtr] | t.CPtr, level: t.CInt) -> t.CInt: pass - def kind(self: ImportFrom) -> t.CInt: pass - def type_name(self: ImportFrom) -> str: pass - def dump(self: ImportFrom, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass -class Match(AST): - subject: AST | t.CPtr - cases: list[AST | t.CPtr] | t.CPtr - def __new__(self: Match, pool: memhub.MemManager | t.CPtr, subject: AST | t.CPtr, cases: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def __init__(self: Match, pool: memhub.MemManager | t.CPtr, subject: AST | t.CPtr, cases: list[AST | t.CPtr] | t.CPtr) -> t.CInt: pass - def kind(self: Match) -> t.CInt: pass - def type_name(self: Match) -> str: pass - def dump(self: Match, buf: t.CChar | t.CPtr, size: t.CSizeT, pos: t.CSizeT) -> t.CSizeT: pass \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/_phase1_manifest.json b/Test/SlotsBugTest/temp/_phase1_manifest.json index 5e69f0f..08c7dad 100644 --- a/Test/SlotsBugTest/temp/_phase1_manifest.json +++ b/Test/SlotsBugTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SlotsBugTest\\App\\main.vp": {"sha1": "44bd5632a417f7ac", "mtime": 1784741370.3609664, "size": 714}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.vp": {"sha1": "fa67083915eb2e30", "mtime": 1786033550.3346176, "size": 3770}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.vp": {"sha1": "34dc6a647fa19b7b", "mtime": 1786033586.0642571, "size": 11475}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.vp": {"sha1": "91497014ca775a64", "mtime": 1786033954.7782319, "size": 15215}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.vp": {"sha1": "c14a7bd64dff8c0b", "mtime": 1786034120.289799, "size": 40831}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.vp": {"sha1": "8219423928c874da", "mtime": 1786034611.5303524, "size": 24712}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.vp": {"sha1": "4dd6b3f1427d1cc5", "mtime": 1782961799.8492737, "size": 12309}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.vp": {"sha1": "fde6db0747bdd959", "mtime": 1785348036.106818, "size": 87525}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.vp": {"sha1": "657e182b27c2a022", "mtime": 1783929993.759902, "size": 37926}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.vp": {"sha1": "b547ac4f380bddb6", "mtime": 1783165480.469121, "size": 13722}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "f6ab8989f3545e83", "mtime": 1785882958.4542437, "size": 59045}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SlotsBugTest\\App\\main.vp": {"sha1": "44bd5632a417f7ac", "mtime": 1784741370.3609664, "size": 714}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.vp": {"sha1": "876e256c06636777", "mtime": 1786370438.7959065, "size": 3919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.vp": {"sha1": "34dc6a647fa19b7b", "mtime": 1786033586.0642571, "size": 11475}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.vp": {"sha1": "71b20381eda0450a", "mtime": 1786370425.011384, "size": 16357}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.vp": {"sha1": "43ec967d0517abc1", "mtime": 1786370434.0783823, "size": 40976}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.vp": {"sha1": "d0072d5282b9b65f", "mtime": 1786095601.8036606, "size": 24838}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.vp": {"sha1": "3b2a307c9c7d0129", "mtime": 1786095636.9718795, "size": 12297}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.vp": {"sha1": "ee85a98dc101e131", "mtime": 1786533765.2045004, "size": 102005}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.vp": {"sha1": "46ea1349c980c7f4", "mtime": 1786369520.4458838, "size": 38239}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.vp": {"sha1": "cea844466f10ac61", "mtime": 1786196689.3449256, "size": 14506}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "bba983c61a970f7c", "mtime": 1786320034.4835327, "size": 59458}} \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/_sha1_map.txt b/Test/SlotsBugTest/temp/_sha1_map.txt index 2001037..fff072c 100644 --- a/Test/SlotsBugTest/temp/_sha1_map.txt +++ b/Test/SlotsBugTest/temp/_sha1_map.txt @@ -1,19 +1,19 @@ -04e5fe47ff2af528:includes/memhub.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp 34dc6a647fa19b7b:includes/ast\astaux.vp +3b2a307c9c7d0129:includes/ast\match.vp +40b053f21c0df07c:includes/string.vp +43ec967d0517abc1:includes/ast\exprs.vp 44bd5632a417f7ac:main.vp -4dd6b3f1427d1cc5:includes/ast\match.vp -657e182b27c2a022:includes/ast\stmts.vp +46ea1349c980c7f4:includes/ast\stmts.vp 6c658cc728d0bbf4:includes/stdlib.vp +71b20381eda0450a:includes/ast\base.vp 71e0a3ffcb3ebfad:includes/stdarg.vp -8219423928c874da:includes/ast\lexer.vp -91497014ca775a64:includes/ast\base.vp -928c0ff6d8c69ec9:includes/string.vp +876e256c06636777:includes/ast\__init__.vp aa246c6e6aa30484:includes/atom.vp -b547ac4f380bddb6:includes/ast\tokens.vp -c14a7bd64dff8c0b:includes/ast\exprs.vp -c9f4be41ca1cc2b4:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +cea844466f10ac61:includes/ast\tokens.vp +d0072d5282b9b65f:includes/ast\lexer.vp +ee85a98dc101e131:includes/ast\parser.vp f5522571bcce7bcb:includes/stdint.vp -f6ab8989f3545e83:includes/viperlib.vp -fa67083915eb2e30:includes/ast\__init__.vp -fde6db0747bdd959:includes/ast\parser.vp diff --git a/Test/SlotsBugTest/temp/b547ac4f380bddb6.stub.ll.dep b/Test/SlotsBugTest/temp/b547ac4f380bddb6.stub.ll.dep deleted file mode 100644 index 7df8e8d..0000000 --- a/Test/SlotsBugTest/temp/b547ac4f380bddb6.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/b547ac4f380bddb6.vpi b/Test/SlotsBugTest/temp/b547ac4f380bddb6.vpi deleted file mode 100644 index 308d33b..0000000 --- a/Test/SlotsBugTest/temp/b547ac4f380bddb6.vpi +++ /dev/null @@ -1,166 +0,0 @@ -""" -Auto-generated Python stub file from ast.tokens.vp -Module: ast.tokens -""" - - -import t, c -from stdint import * -import memhub -import string - -class TokenType(t.CEnum): - EndMarker: t.State - NewLine: t.State - Indent: t.State - Dedent: t.State - Name: t.State - Number: t.State - String: t.State - FStringStart: t.State - FStringMiddle: t.State - FStringEnd: t.State - Op: t.State - Nl: t.State - Comment: t.State - Encoding: t.State -class Keyword(t.CEnum): - NotKeyword: t.State - False_: t.State - None_: t.State - True_: t.State - And: t.State - As: t.State - Assert: t.State - Async: t.State - Await: t.State - Break: t.State - Class: t.State - Continue: t.State - Def: t.State - Del: t.State - Elif: t.State - Else: t.State - Except: t.State - Finally: t.State - For: t.State - From: t.State - Global: t.State - If: t.State - Import: t.State - In: t.State - Is: t.State - Lambda: t.State - Nonlocal: t.State - Not: t.State - Or: t.State - Pass: t.State - Raise: t.State - Return: t.State - Try: t.State - While: t.State - With: t.State - Yield: t.State - Match: t.State - Case: t.State - Type: t.State -class TokOp(t.CEnum): - LPar: t.State - RPar: t.State - Lsqb: t.State - Rsqb: t.State - LBrace: t.State - RBrace: t.State - Comma: t.State - Colon: t.State - Dot: t.State - Semi: t.State - At: t.State - Equal: t.State - RArrow: t.State - PlusEq: t.State - MinusEq: t.State - StarEq: t.State - SlashEq: t.State - DSlashEq: t.State - PercentEq: t.State - AtEq: t.State - AmpEq: t.State - VBarEq: t.State - CaretEq: t.State - GtGtEq: t.State - LtLtEq: t.State - StarEqEq: t.State - DSlash: t.State - StarStar: t.State - LtLt: t.State - GtGt: t.State - LessEq: t.State - GreaterEq: t.State - EqEq: t.State - ExclaimEq: t.State - Less: t.State - Greater: t.State - Plus: t.State - Minus: t.State - Star: t.State - Slash: t.State - Percent: t.State - Amp: t.State - VBar: t.State - Caret: t.State - Tilde: t.State - ColonEq: t.State - Ellipsis: t.State - Bang: t.State -class Token: - type: t.CInt - op_subtype: t.CInt - kw_subtype: t.CInt - str_val: str - int_val: t.CInt64T - float_val: t.CDouble - is_float: t.CInt - is_complex: t.CInt - lineno: t.CInt - col_offset: t.CInt - end_lineno: t.CInt - end_col_offset: t.CInt - next: Token | t.CPtr - def __new__(self: Token, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass -class KwEntry: - name: str - kw_id: t.CInt - next: KwEntry | t.CPtr - def __new__(self: KwEntry, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -_kw_head: t.CExtern | KwEntry | t.CPtr -_kw_pool: t.CExtern | memhub.MemManager | t.CPtr - -def _kw_intern(pool: memhub.MemManager | t.CPtr, name: str, kw_id: t.CInt) -> t.CInt: pass - -def _kw_lookup(name: str) -> t.CInt: pass - -def _init_keywords(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - - -class OpEntry: - name: str - op_id: t.CInt - length: t.CInt - next: OpEntry | t.CPtr - def __new__(self: OpEntry, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -_op_head: t.CExtern | OpEntry | t.CPtr - -def _op_intern(pool: memhub.MemManager | t.CPtr, name: str, op_id: t.CInt) -> t.CInt: pass - -def _init_operators(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -def _init_tables(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -def new_token(pool: memhub.MemManager | t.CPtr, ttype: t.CInt, lineno: t.CInt, col_offset: t.CInt) -> Token | t.CPtr: pass - -def token_set_str(pool: memhub.MemManager | t.CPtr, tok: Token | t.CPtr, src: str, start: t.CSizeT, length: t.CSizeT) -> t.CInt: pass - -def token_set_str_literal(pool: memhub.MemManager | t.CPtr, tok: Token | t.CPtr, text: str) -> t.CInt: pass diff --git a/Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.vpi b/Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/SlotsBugTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/SlotsBugTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/SlotsBugTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/f6ab8989f3545e83.vpi b/Test/SlotsBugTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/SlotsBugTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/SlotsBugTest/temp/fde6db0747bdd959.stub.ll.dep b/Test/SlotsBugTest/temp/fde6db0747bdd959.stub.ll.dep deleted file mode 100644 index 5fa80eb..0000000 --- a/Test/SlotsBugTest/temp/fde6db0747bdd959.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|34dc6a647fa19b7b|4dd6b3f1427d1cc5|657e182b27c2a022|6c658cc728d0bbf4|71e0a3ffcb3ebfad|8219423928c874da|91497014ca775a64|928c0ff6d8c69ec9|aa246c6e6aa30484|b547ac4f380bddb6|c14a7bd64dff8c0b|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6ab8989f3545e83 \ No newline at end of file diff --git a/Test/SlotsBugTest/temp/fde6db0747bdd959.vpi b/Test/SlotsBugTest/temp/fde6db0747bdd959.vpi deleted file mode 100644 index 91be63a..0000000 --- a/Test/SlotsBugTest/temp/fde6db0747bdd959.vpi +++ /dev/null @@ -1,215 +0,0 @@ -""" -Auto-generated Python stub file from ast.parser.vp -Module: ast.parser -""" - - -import t, c -from stdint import * -import memhub -import string -from .tokens import Token, TokenType, Keyword, TokOp -from .base import AST, ASTCtx, ASTKind, OpKind, ASTFlag, _set_pos, _binop_from_op, _augop_from_op, _cmpop_from_op, _copy_str, _inherit_pos, _init_ast, CONST_INT, CONST_FLOAT, CONST_STR, CONST_BOOL, CONST_NONE, CONST_CHAR, FLAG_IS_ASYNC -from .exprs import BoolOp, BinOp, UnaryOp, Lambda, IfExp, Dict, Set, ListComp, SetComp, DictComp, GeneratorExp, Await, Yield, YieldFrom, FormattedValue, JoinedStr, Constant, NamedExpr, Attribute, Subscript, Starred, Name, List, Tuple, Slice, Call, Compare, OpNode -from .stmts import Module, Expression, Interactive, FunctionType, FunctionDef, ClassDef, Return, Delete, Assign, AugAssign, AnnAssign, For, While, If, With, Raise, Try, Assert, Global, Nonlocal, Pass, Break, Continue, Expr, Import, ImportFrom, Match -from .astaux import ExceptHandler, Arguments, Arg, Keyword as KwNode, Alias, WithItem, Comprehension -from .match import MatchCase, MatchValue, MatchSingleton, MatchSequence, MatchMapping, MatchClass, MatchStar, MatchAs, MatchOr -from .lexer import Lexer, _lexer_init, tokenize, new_lexer - -class Parser: - tokens: Token | t.CPtr - cur: Token | t.CPtr - pool: memhub.MemManager | t.CPtr - error_count: t.CInt - pending_decorators: list[AST | t.CPtr] | t.CPtr - def __new__(self: Parser, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -def new_parser(pool: memhub.MemManager | t.CPtr) -> Parser | t.CPtr: pass - -def _parser_init(ps: Parser | t.CPtr, tokens: Token | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass - -def _advance(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_type(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_kw(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_str(ps: Parser | t.CPtr) -> str: pass - -def _cur_lineno(ps: Parser | t.CPtr) -> t.CInt: pass - -def _cur_col(ps: Parser | t.CPtr) -> t.CInt: pass - -def _skip_nl(ps: Parser | t.CPtr) -> t.CInt: pass - -def _skip_nls_and_newlines(ps: Parser | t.CPtr) -> t.CInt: pass - -def _expect_type(ps: Parser | t.CPtr, ttype: t.CInt) -> t.CInt: pass - -def _expect_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _match_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _accept_op(ps: Parser | t.CPtr, op_id: t.CInt) -> t.CInt: pass - -def _new_const_int(pool: memhub.MemManager | t.CPtr, val: t.CInt64T, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_float(pool: memhub.MemManager | t.CPtr, val: t.CDouble, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_str(pool: memhub.MemManager | t.CPtr, val: str, lineno: t.CInt, col: t.CInt, is_dquote: t.CInt = 1, is_triple: t.CInt = 0, is_char: t.CInt = 0) -> AST | t.CPtr: pass - -def _new_const_bool(pool: memhub.MemManager | t.CPtr, val: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _new_const_none(pool: memhub.MemManager | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _set_ctx(node: AST | t.CPtr, ctx: t.CInt) -> t.CInt: pass - -def _fix_store_ctx(node: AST | t.CPtr) -> t.CInt: pass - -def _parse_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_namedexpr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_lambda(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_or_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_and_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_not_test(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_comparison(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _match_comp_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _advance_comp_op(ps: Parser | t.CPtr) -> t.CInt: pass - -def _parse_bitor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_bitxor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_bitand(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_shift(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_arith(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_term(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_factor(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_power(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_atom_expr(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_call(ps: Parser | t.CPtr, func: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_subscript(ps: Parser | t.CPtr, value: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_slice(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_atom(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_paren(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_brace(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_sub_expr(ps: Parser | t.CPtr, src: str) -> AST | t.CPtr: pass - -def _parse_fstring(ps: Parser | t.CPtr, content: str, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_comprehension(ps: Parser | t.CPtr, elt: AST | t.CPtr, vtype: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_comp_for(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_target_list(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_target(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_yield(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_varargslist(ps: Parser | t.CPtr, is_lambda: t.CInt = 0) -> AST | t.CPtr: pass - -def _parse_arg_def(ps: Parser | t.CPtr, is_lambda: t.CInt = 0) -> AST | t.CPtr: pass - -def _parse_suite_into_children(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass - -def _parse_statement_into(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass - -def _parse_simple_stmt_into(ps: Parser | t.CPtr, parent: AST | t.CPtr) -> t.CInt: pass - -def _parse_small_stmt(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _maybe_tuple(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_testlist(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_expr_stmt(ps: Parser | t.CPtr, first: AST | t.CPtr) -> AST | t.CPtr: pass - -def _parse_return(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_raise(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_global(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_nonlocal(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_from_import(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_alias_list(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_del(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_assert(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_compound(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_if(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_if_tail(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_while(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_for(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_try(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_except_handler(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_with(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_with_item(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_funcdef(ps: Parser | t.CPtr, is_async: t.CInt) -> AST | t.CPtr: pass - -def _parse_classdef(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_match(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _make_name_ast(pool: memhub.MemManager | t.CPtr, node: Name | t.CPtr) -> AST | t.CPtr: pass - -def _parse_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_closed_pattern(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_sequence_pattern(ps: Parser | t.CPtr, close_op: t.CInt, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_mapping_pattern(ps: Parser | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_class_pattern(ps: Parser | t.CPtr, cls: AST | t.CPtr, lineno: t.CInt, col: t.CInt) -> AST | t.CPtr: pass - -def _parse_match_case(ps: Parser | t.CPtr) -> AST | t.CPtr: pass - -def _parse_decorators(ps: Parser | t.CPtr) -> list[AST | t.CPtr] | t.CPtr: pass - -def _parse_module_body(ps: Parser | t.CPtr, module_node: AST | t.CPtr) -> t.CInt: pass - -def parse_tokens(pool: memhub.MemManager | t.CPtr, tokens: Token | t.CPtr) -> AST | t.CPtr: pass diff --git a/Test/SprintfTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/SprintfTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/SprintfTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/SprintfTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/SprintfTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SprintfTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/SprintfTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SprintfTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/SprintfTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/SprintfTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/SprintfTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/SprintfTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/SprintfTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/SprintfTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/SprintfTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/SprintfTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/SprintfTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/SprintfTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/SprintfTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/SprintfTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/SprintfTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/SprintfTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/SprintfTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/SprintfTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/SprintfTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/SprintfTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/SprintfTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/SprintfTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/SprintfTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/SprintfTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/SprintfTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/SprintfTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/SprintfTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/SprintfTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SprintfTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/SprintfTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/SprintfTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/SprintfTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SprintfTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/SprintfTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/SprintfTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/SprintfTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SprintfTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/SprintfTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/SprintfTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/SprintfTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/SprintfTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/SprintfTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SprintfTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/SprintfTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/SprintfTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/SprintfTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SprintfTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/SprintfTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/SprintfTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/SprintfTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/SprintfTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SprintfTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/SprintfTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SprintfTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/SprintfTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/SprintfTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/SprintfTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/SprintfTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/SprintfTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/SprintfTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/SprintfTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/SprintfTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/SprintfTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/SprintfTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/SprintfTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/SprintfTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/_sha1_map.txt b/Test/SprintfTest/.tpv_build/temp/_sha1_map.txt index b911951..25cc4d4 100644 --- a/Test/SprintfTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/SprintfTest/.tpv_build/temp/_sha1_map.txt @@ -1,18 +1,15 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp 71e0a3ffcb3ebfad:includes/stdarg.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f6ab8989f3545e83:includes/viperlib.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp -f492cb40d913400b:main.vp +3deca8bfdee74b6e:main.vp diff --git a/Test/SprintfTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/SprintfTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/SprintfTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/SprintfTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/SprintfTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/SprintfTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/SprintfTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/SprintfTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/SprintfTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/SprintfTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/SprintfTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/SprintfTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/SprintfTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/SprintfTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/SprintfTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/SprintfTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/SprintfTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/SprintfTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SprintfTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/SprintfTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/SprintfTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/SprintfTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/SprintfTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/SprintfTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/SprintfTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SprintfTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/SprintfTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/SprintfTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/SprintfTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/SprintfTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/SprintfTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/SprintfTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/SprintfTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/SprintfTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/SprintfTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/SprintfTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/SprintfTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/SprintfTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/SprintfTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/SprintfTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/SprintfTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/SprintfTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/SprintfTest/.tpv_build/temp/f4/f492cb40d913400b.deps.txt b/Test/SprintfTest/.tpv_build/temp/f4/f492cb40d913400b.deps.txt deleted file mode 100644 index c90993a..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f4/f492cb40d913400b.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c stdio stdlib testcheck viperlib \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/f4/f492cb40d913400b.vpi b/Test/SprintfTest/.tpv_build/temp/f4/f492cb40d913400b.vpi deleted file mode 100644 index f0da652..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f4/f492cb40d913400b.vpi +++ /dev/null @@ -1,12 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -import stdio -import stdlib -import testcheck -import viperlib -@t.CExport -def main() -> int: pass - diff --git a/Test/SprintfTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/SprintfTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/SprintfTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi b/Test/SprintfTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi deleted file mode 100644 index c09feb3..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import viperio -from stdarg import arg, va_arg -TEMP_BUF_SIZE: t.CDefine = 68 -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass - diff --git a/Test/SprintfTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/SprintfTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/SprintfTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/SprintfTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/SprintfTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/SprintfTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/SprintfTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/SprintfTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/SprintfTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/SprintfTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/SprintfTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/SprintfTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/SprintfTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/SprintfTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/SprintfTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/SprintfTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/SprintfTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/SprintfTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/SprintfTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/SprintfTest/output/f492cb40d913400b.deps.json b/Test/SprintfTest/output/f492cb40d913400b.deps.json deleted file mode 100644 index abc15a3..0000000 --- a/Test/SprintfTest/output/f492cb40d913400b.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SprintfTest/temp/_phase1_manifest.json b/Test/SprintfTest/temp/_phase1_manifest.json index 48f92f6..cf550f0 100644 --- a/Test/SprintfTest/temp/_phase1_manifest.json +++ b/Test/SprintfTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SprintfTest\\App\\main.vp": {"sha1": "f492cb40d913400b", "mtime": 1782821953.0346377, "size": 4235}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "f6ab8989f3545e83", "mtime": 1785882958.4542437, "size": 59045}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SprintfTest\\App\\main.vp": {"sha1": "3deca8bfdee74b6e", "mtime": 1786217777.947523, "size": 8199}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "bba983c61a970f7c", "mtime": 1786320034.4835327, "size": 59458}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/SprintfTest/temp/_sha1_map.txt b/Test/SprintfTest/temp/_sha1_map.txt index 5c6667a..2956713 100644 --- a/Test/SprintfTest/temp/_sha1_map.txt +++ b/Test/SprintfTest/temp/_sha1_map.txt @@ -1,10 +1,11 @@ 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +3deca8bfdee74b6e:main.vp +40b053f21c0df07c:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 71e0a3ffcb3ebfad:includes/stdarg.vp 748d0424e8976fa0:includes/testcheck.vp +bba983c61a970f7c:includes/viperlib.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f492cb40d913400b:main.vp f5522571bcce7bcb:includes/stdint.vp -f6ab8989f3545e83:includes/viperlib.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/SprintfTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/SprintfTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/SprintfTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SprintfTest/temp/c9f4be41ca1cc2b4.vpi b/Test/SprintfTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/SprintfTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/SprintfTest/temp/f492cb40d913400b.doc.json b/Test/SprintfTest/temp/f492cb40d913400b.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/SprintfTest/temp/f492cb40d913400b.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/SprintfTest/temp/f492cb40d913400b.vpi b/Test/SprintfTest/temp/f492cb40d913400b.vpi deleted file mode 100644 index 5f79521..0000000 --- a/Test/SprintfTest/temp/f492cb40d913400b.vpi +++ /dev/null @@ -1,15 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -from stdint import * -import t, c -import stdio -import stdlib -import testcheck -import viperlib - -@t.CExport -def main() -> int: pass diff --git a/Test/SprintfTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/SprintfTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/SprintfTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SprintfTest/temp/f6ab8989f3545e83.vpi b/Test/SprintfTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/SprintfTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/StringIterTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/StringIterTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/StringIterTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/StringIterTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/StringIterTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringIterTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/StringIterTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringIterTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/StringIterTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/StringIterTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/14/14b944bb7e81fd72.vpi b/Test/StringIterTest/.tpv_build/temp/14/14b944bb7e81fd72.vpi index 979fac1..134a88f 100644 --- a/Test/StringIterTest/.tpv_build/temp/14/14b944bb7e81fd72.vpi +++ b/Test/StringIterTest/.tpv_build/temp/14/14b944bb7e81fd72.vpi @@ -10,7 +10,7 @@ class Inner: @t.Object class Container: - items: t.CArray[Inner, t.CInt] + items: t.CArray[Inner, 10] count: t.CInt def __init__(self): pass def fill(self): pass diff --git a/Test/StringIterTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/StringIterTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/StringIterTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/StringIterTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/StringIterTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/StringIterTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/StringIterTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/StringIterTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/StringIterTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/StringIterTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/StringIterTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/StringIterTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/StringIterTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/StringIterTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/StringIterTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/StringIterTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/StringIterTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/StringIterTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/StringIterTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/StringIterTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/StringIterTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/StringIterTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/StringIterTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/StringIterTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/StringIterTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringIterTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/StringIterTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/StringIterTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/StringIterTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringIterTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/StringIterTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/StringIterTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/StringIterTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringIterTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/StringIterTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/StringIterTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/StringIterTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/StringIterTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/StringIterTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringIterTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/StringIterTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/StringIterTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/StringIterTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringIterTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/StringIterTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/StringIterTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/StringIterTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/StringIterTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringIterTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/StringIterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringIterTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/StringIterTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/StringIterTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/StringIterTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/StringIterTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/StringIterTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/StringIterTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/StringIterTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/StringIterTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/StringIterTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/StringIterTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/StringIterTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/StringIterTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/_sha1_map.txt b/Test/StringIterTest/.tpv_build/temp/_sha1_map.txt index 030ea8f..96c7ca8 100644 --- a/Test/StringIterTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/StringIterTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,14 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp 14b944bb7e81fd72:inline_test.vp -924ed8cd4ea5c4c2:main.vp +640c0de988ce8ca0:main.vp diff --git a/Test/StringIterTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/StringIterTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/StringIterTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/StringIterTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/StringIterTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/StringIterTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/StringIterTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/StringIterTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/StringIterTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/StringIterTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/StringIterTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/StringIterTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/StringIterTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/StringIterTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringIterTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/StringIterTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/StringIterTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/StringIterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringIterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/StringIterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/StringIterTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/StringIterTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/StringIterTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/StringIterTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/StringIterTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringIterTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/StringIterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/StringIterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/StringIterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/StringIterTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/StringIterTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/StringIterTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringIterTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/StringIterTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/StringIterTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/StringIterTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/StringIterTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/StringIterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/StringIterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/StringIterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/StringIterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/StringIterTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/StringIterTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/StringIterTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/StringIterTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/StringIterTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/StringIterTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/StringIterTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringIterTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/StringIterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/StringIterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/StringIterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/StringIterTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/StringIterTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/StringIterTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/StringIterTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/StringIterTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/StringIterTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/StringIterTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/StringIterTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/StringIterTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/StringIterTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/StringIterTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/StringIterTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/StringIterTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/StringIterTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/StringIterTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/StringIterTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/StringIterTest/output/924ed8cd4ea5c4c2.deps.json b/Test/StringIterTest/output/924ed8cd4ea5c4c2.deps.json deleted file mode 100644 index b963d1a..0000000 --- a/Test/StringIterTest/output/924ed8cd4ea5c4c2.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "_list": "7cadfe07e983fd90", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/StringIterTest/temp/6c658cc728d0bbf4.stub.ll.dep b/Test/StringIterTest/temp/6c658cc728d0bbf4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/StringIterTest/temp/6c658cc728d0bbf4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/StringIterTest/temp/6c658cc728d0bbf4.vpi b/Test/StringIterTest/temp/6c658cc728d0bbf4.vpi deleted file mode 100644 index d7c42cf..0000000 --- a/Test/StringIterTest/temp/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from stdlib.vp -Module: stdlib -""" - -import c - - -from stdint import * -import t - -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass diff --git a/Test/StringIterTest/temp/7cadfe07e983fd90.stub.ll.dep b/Test/StringIterTest/temp/7cadfe07e983fd90.stub.ll.dep deleted file mode 100644 index 7df8e8d..0000000 --- a/Test/StringIterTest/temp/7cadfe07e983fd90.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/StringIterTest/temp/7cadfe07e983fd90.vpi b/Test/StringIterTest/temp/7cadfe07e983fd90.vpi deleted file mode 100644 index a54f222..0000000 --- a/Test/StringIterTest/temp/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,30 +0,0 @@ -""" -Auto-generated Python stub file from _list.vp -Module: _list -""" - - -import t, c -import memhub -import string -from stdint import * - -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self: list, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT = 0) -> t.CInt: pass - def __init__(self: list, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT = 0) -> t.CInt: pass - def __len__(self: list) -> t.CSizeT: pass - def append(self: list, item: T) -> t.CInt: pass - def get(self: list, index: t.CSizeT) -> T: pass - def __getitem__(self: list, index: t.CSizeT) -> T: pass - def set(self: list, index: t.CSizeT, value: T) -> t.CInt: pass - def __setitem__(self: list, index: t.CSizeT, value: T) -> t.CInt: pass - def pop(self: list) -> T: pass - def clear(self: list) -> t.CInt: pass - def __iter__(self: list) -> list[T] | t.CPtr: pass - def __next__(self: list) -> T: pass \ No newline at end of file diff --git a/Test/StringIterTest/temp/924ed8cd4ea5c4c2.doc.json b/Test/StringIterTest/temp/924ed8cd4ea5c4c2.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/StringIterTest/temp/924ed8cd4ea5c4c2.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/StringIterTest/temp/924ed8cd4ea5c4c2.vpi b/Test/StringIterTest/temp/924ed8cd4ea5c4c2.vpi deleted file mode 100644 index 532c45c..0000000 --- a/Test/StringIterTest/temp/924ed8cd4ea5c4c2.vpi +++ /dev/null @@ -1,38 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -import t -import stdio -import string -import c -import testcheck - -def test_string_ptr_iter() -> t.CInt: pass - -def test_string_ascii_sum() -> t.CInt: pass - -def test_manual_strcpy() -> t.CInt: pass - -def test_ptr_offset_compare() -> t.CInt: pass - -def test_manual_strlen() -> t.CInt: pass - -def test_reverse_string_ptr() -> t.CInt: pass - -def test_double_pointer() -> t.CInt: pass - -def test_ptr_arithmetic() -> t.CInt: pass - -def test_manual_strcmp() -> t.CInt: pass - - -class Vec2: - x: t.CInt - y: t.CInt - -def test_struct_ptr_access() -> t.CInt: pass - -def main() -> t.CInt: pass diff --git a/Test/StringIterTest/temp/_phase1_manifest.json b/Test/StringIterTest/temp/_phase1_manifest.json index 7262422..b3753ee 100644 --- a/Test/StringIterTest/temp/_phase1_manifest.json +++ b/Test/StringIterTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\StringIterTest\\App\\main.vp": {"sha1": "924ed8cd4ea5c4c2", "mtime": 1782271507.3310895, "size": 6472}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.vp": {"sha1": "7cadfe07e983fd90", "mtime": 1785338614.5410473, "size": 3238}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\StringIterTest\\App\\main.vp": {"sha1": "640c0de988ce8ca0", "mtime": 1786215695.5721605, "size": 6488}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/StringIterTest/temp/_sha1_map.txt b/Test/StringIterTest/temp/_sha1_map.txt index c5db190..f23a2a8 100644 --- a/Test/StringIterTest/temp/_sha1_map.txt +++ b/Test/StringIterTest/temp/_sha1_map.txt @@ -1,12 +1,7 @@ -04e5fe47ff2af528:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp +40b053f21c0df07c:includes/string.vp +640c0de988ce8ca0:main.vp 748d0424e8976fa0:includes/testcheck.vp -7cadfe07e983fd90:includes/_list.vp -924ed8cd4ea5c4c2:main.vp -928c0ff6d8c69ec9:includes/string.vp -aa246c6e6aa30484:includes/atom.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/StringIterTest/temp/aa246c6e6aa30484.stub.ll.dep b/Test/StringIterTest/temp/aa246c6e6aa30484.stub.ll.dep deleted file mode 100644 index e69de29..0000000 diff --git a/Test/StringIterTest/temp/aa246c6e6aa30484.vpi b/Test/StringIterTest/temp/aa246c6e6aa30484.vpi deleted file mode 100644 index 3147b54..0000000 --- a/Test/StringIterTest/temp/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,26 +0,0 @@ -""" -Auto-generated Python stub file from atom.vp -Module: atom -""" - - -import t, c - -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 - -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass diff --git a/Test/StringIterTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/StringIterTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/StringIterTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/StringIterTest/temp/c9f4be41ca1cc2b4.vpi b/Test/StringIterTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/StringIterTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/00/35/c9/0035c95a18d4f8e8.deps.txt b/Test/StringTest/.tpv_build/temp/00/35/c9/0035c95a18d4f8e8.deps.txt deleted file mode 100644 index 8b41c68..0000000 --- a/Test/StringTest/.tpv_build/temp/00/35/c9/0035c95a18d4f8e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint stdio w32.win32base w32.win32file \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/StringTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/StringTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/StringTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/StringTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/StringTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/06/7c/78/067c78e9f121dce3.deps.txt b/Test/StringTest/.tpv_build/temp/06/7c/78/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/06/7c/78/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/06/f5/3c/06f53cc594b4ac6c.deps.txt b/Test/StringTest/.tpv_build/temp/06/f5/3c/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/06/f5/3c/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/07/53/6d/07536d26b435806c.deps.txt b/Test/StringTest/.tpv_build/temp/07/53/6d/07536d26b435806c.deps.txt deleted file mode 100644 index dabfb75..0000000 --- a/Test/StringTest/.tpv_build/temp/07/53/6d/07536d26b435806c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint vqt6._types \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/0c/21/29/0c212981c180e7fb.deps.txt b/Test/StringTest/.tpv_build/temp/0c/21/29/0c212981c180e7fb.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/StringTest/.tpv_build/temp/0c/21/29/0c212981c180e7fb.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/StringTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/StringTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/0d/f6/5b/0df65b8ed15664b0.deps.txt b/Test/StringTest/.tpv_build/temp/0d/f6/5b/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/StringTest/.tpv_build/temp/0d/f6/5b/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/13/11/0e/13110effbb0bb06c.deps.txt b/Test/StringTest/.tpv_build/temp/13/11/0e/13110effbb0bb06c.deps.txt deleted file mode 100644 index 0774018..0000000 --- a/Test/StringTest/.tpv_build/temp/13/11/0e/13110effbb0bb06c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string memhub platmacro \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/14/d3/36/14d33679f7fadf1f.deps.txt b/Test/StringTest/.tpv_build/temp/14/d3/36/14d33679f7fadf1f.deps.txt deleted file mode 100644 index acdf15c..0000000 --- a/Test/StringTest/.tpv_build/temp/14/d3/36/14d33679f7fadf1f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdio w32.win32console \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/14/d3/36/14d33679f7fadf1f.pyi b/Test/StringTest/.tpv_build/temp/14/d3/36/14d33679f7fadf1f.pyi deleted file mode 100644 index 82d1ee7..0000000 --- a/Test/StringTest/.tpv_build/temp/14/d3/36/14d33679f7fadf1f.pyi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import stdio -from w32.win32console import SetConsoleOutputCP, SetConsoleCP -CP_UTF8: t.CDefine -_pass_count: t.CInt -_fail_count: t.CInt -_total_pass: t.CInt -_total_fail: t.CInt -def begin(name: str): pass - -def section(name: str): pass - -def ok(msg: str): pass - -def fail(msg: str): pass - -def check(cond: t.CInt, ok_msg: str, fail_msg: str): pass - -def info(msg: str): pass - -def end() -> t.CInt: pass - -def summary() -> t.CInt: pass - diff --git a/Test/StringTest/.tpv_build/temp/15/f1/de/15f1ded02f3aa5bc.deps.txt b/Test/StringTest/.tpv_build/temp/15/f1/de/15f1ded02f3aa5bc.deps.txt deleted file mode 100644 index f84e0ef..0000000 --- a/Test/StringTest/.tpv_build/temp/15/f1/de/15f1ded02f3aa5bc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub linkedlist \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/StringTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/StringTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/19/f8/02/19f8024d10c828e8.deps.txt b/Test/StringTest/.tpv_build/temp/19/f8/02/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/StringTest/.tpv_build/temp/19/f8/02/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/1c/46/d5/1c46d554b3a3f9f3.deps.txt b/Test/StringTest/.tpv_build/temp/1c/46/d5/1c46d554b3a3f9f3.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/StringTest/.tpv_build/temp/1c/46/d5/1c46d554b3a3f9f3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/StringTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/StringTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/StringTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/StringTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/StringTest/.tpv_build/temp/20/cd/49/20cd49775c100a38.deps.txt b/Test/StringTest/.tpv_build/temp/20/cd/49/20cd49775c100a38.deps.txt deleted file mode 100644 index 3879c96..0000000 --- a/Test/StringTest/.tpv_build/temp/20/cd/49/20cd49775c100a38.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string stdio \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/20/cd/49/20cd49775c100a38.pyi b/Test/StringTest/.tpv_build/temp/20/cd/49/20cd49775c100a38.pyi deleted file mode 100644 index ac60f74..0000000 --- a/Test/StringTest/.tpv_build/temp/20/cd/49/20cd49775c100a38.pyi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/StringTest/.tpv_build/temp/21/33/48/213348433fb01cc6.deps.txt b/Test/StringTest/.tpv_build/temp/21/33/48/213348433fb01cc6.deps.txt deleted file mode 100644 index 857fca7..0000000 --- a/Test/StringTest/.tpv_build/temp/21/33/48/213348433fb01cc6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stddef string stdlib memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/21/a7/fc/21a7fcfc665f75ef.deps.txt b/Test/StringTest/.tpv_build/temp/21/a7/fc/21a7fcfc665f75ef.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/StringTest/.tpv_build/temp/21/a7/fc/21a7fcfc665f75ef.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/StringTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/StringTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/24/0a/9a/240a9a4157959a9f.deps.txt b/Test/StringTest/.tpv_build/temp/24/0a/9a/240a9a4157959a9f.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/StringTest/.tpv_build/temp/24/0a/9a/240a9a4157959a9f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/24/0a/9a/240a9a4157959a9f.pyi b/Test/StringTest/.tpv_build/temp/24/0a/9a/240a9a4157959a9f.pyi deleted file mode 100644 index 9fde16c..0000000 --- a/Test/StringTest/.tpv_build/temp/24/0a/9a/240a9a4157959a9f.pyi +++ /dev/null @@ -1,34 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/StringTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/StringTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/StringTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/StringTest/.tpv_build/temp/25/7e/07/257e074b935c33b4.deps.txt b/Test/StringTest/.tpv_build/temp/25/7e/07/257e074b935c33b4.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/25/7e/07/257e074b935c33b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/27/1e/a3/271ea3decb810db2.deps.txt b/Test/StringTest/.tpv_build/temp/27/1e/a3/271ea3decb810db2.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/27/1e/a3/271ea3decb810db2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/27/1e/a3/271ea3decb810db2.pyi b/Test/StringTest/.tpv_build/temp/27/1e/a3/271ea3decb810db2.pyi deleted file mode 100644 index 220444e..0000000 --- a/Test/StringTest/.tpv_build/temp/27/1e/a3/271ea3decb810db2.pyi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine -ATOMIC_CONSUME: t.CDefine -ATOMIC_ACQUIRE: t.CDefine -ATOMIC_RELEASE: t.CDefine -ATOMIC_ACQ_REL: t.CDefine -ATOMIC_SEQ_CST: t.CDefine -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/StringTest/.tpv_build/temp/28/5a/82/285a822aa26bfbda.deps.txt b/Test/StringTest/.tpv_build/temp/28/5a/82/285a822aa26bfbda.deps.txt deleted file mode 100644 index 2986427..0000000 --- a/Test/StringTest/.tpv_build/temp/28/5a/82/285a822aa26bfbda.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/StringTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/StringTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/2d/39/c6/2d39c6c7d3557b3e.deps.txt b/Test/StringTest/.tpv_build/temp/2d/39/c6/2d39c6c7d3557b3e.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/StringTest/.tpv_build/temp/2d/39/c6/2d39c6c7d3557b3e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/2d/a6/36/2da636c61863c815.deps.txt b/Test/StringTest/.tpv_build/temp/2d/a6/36/2da636c61863c815.deps.txt deleted file mode 100644 index f1c31c2..0000000 --- a/Test/StringTest/.tpv_build/temp/2d/a6/36/2da636c61863c815.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint platmacro memhub string w32.win32base w32.win32file w32.win32process w32.win32sync posix \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/StringTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/StringTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/StringTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/StringTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/StringTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/StringTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/StringTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/34/54/87/34548789d646f432.deps.txt b/Test/StringTest/.tpv_build/temp/34/54/87/34548789d646f432.deps.txt deleted file mode 100644 index 89fd3f5..0000000 --- a/Test/StringTest/.tpv_build/temp/34/54/87/34548789d646f432.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.match ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/34/87/a2/3487a256b250bb74.deps.txt b/Test/StringTest/.tpv_build/temp/34/87/a2/3487a256b250bb74.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/34/87/a2/3487a256b250bb74.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/36/24/cf/3624cfde3c5cb6cb.deps.txt b/Test/StringTest/.tpv_build/temp/36/24/cf/3624cfde3c5cb6cb.deps.txt deleted file mode 100644 index ec186f1..0000000 --- a/Test/StringTest/.tpv_build/temp/36/24/cf/3624cfde3c5cb6cb.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/39/17/8d/39178dc5ba692b92.deps.txt b/Test/StringTest/.tpv_build/temp/39/17/8d/39178dc5ba692b92.deps.txt deleted file mode 100644 index a71c1e0..0000000 --- a/Test/StringTest/.tpv_build/temp/39/17/8d/39178dc5ba692b92.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdio string testcheck w32.win32memory t stdio string testcheck w32.win32memory \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/39/39178dc5ba692b92.deps.txt b/Test/StringTest/.tpv_build/temp/39/39178dc5ba692b92.deps.txt deleted file mode 100644 index 8f34194..0000000 --- a/Test/StringTest/.tpv_build/temp/39/39178dc5ba692b92.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdio string testcheck w32.win32memory w32 \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/39/39178dc5ba692b92.vpi b/Test/StringTest/.tpv_build/temp/39/39178dc5ba692b92.vpi deleted file mode 100644 index 2e1435d..0000000 --- a/Test/StringTest/.tpv_build/temp/39/39178dc5ba692b92.vpi +++ /dev/null @@ -1,25 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -import stdio -import string -import testcheck -def test_strlen(): pass - -def test_strcpy(): pass - -def test_strcat(): pass - -def test_strcmp(): pass - -def test_strncpy(): pass - -def test_char_access(): pass - -def test_snprintf(): pass - -import w32.win32memory -def main() -> t.CInt: pass - diff --git a/Test/StringTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/StringTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/StringTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/StringTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/3f/7c/5e/3f7c5e78d8652535.deps.txt b/Test/StringTest/.tpv_build/temp/3f/7c/5e/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/3f/7c/5e/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/StringTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/StringTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/43/37/fb/4337fb260448bbe2.deps.txt b/Test/StringTest/.tpv_build/temp/43/37/fb/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringTest/.tpv_build/temp/43/37/fb/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/StringTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/45/17/45/451745df21e598af.deps.txt b/Test/StringTest/.tpv_build/temp/45/17/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/StringTest/.tpv_build/temp/45/17/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/StringTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/StringTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/47/76/7b/47767b5026a8ee15.deps.txt b/Test/StringTest/.tpv_build/temp/47/76/7b/47767b5026a8ee15.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringTest/.tpv_build/temp/47/76/7b/47767b5026a8ee15.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/StringTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/4d/d6/b3/4dd6b3f1427d1cc5.deps.txt b/Test/StringTest/.tpv_build/temp/4d/d6/b3/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringTest/.tpv_build/temp/4d/d6/b3/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/56/d0/7e/56d07ea7e30ef631.deps.txt b/Test/StringTest/.tpv_build/temp/56/d0/7e/56d07ea7e30ef631.deps.txt deleted file mode 100644 index 9546553..0000000 --- a/Test/StringTest/.tpv_build/temp/56/d0/7e/56d07ea7e30ef631.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32sync \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/57/28/84/57288496f7c2d1ad.deps.txt b/Test/StringTest/.tpv_build/temp/57/28/84/57288496f7c2d1ad.deps.txt deleted file mode 100644 index ac9e592..0000000 --- a/Test/StringTest/.tpv_build/temp/57/28/84/57288496f7c2d1ad.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperio json.__parser json.__writer \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/57/28/84/57288496f7c2d1ad.pyi b/Test/StringTest/.tpv_build/temp/57/28/84/57288496f7c2d1ad.pyi deleted file mode 100644 index 37cf5c9..0000000 --- a/Test/StringTest/.tpv_build/temp/57/28/84/57288496f7c2d1ad.pyi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine -JSON_BOOL: t.CDefine -JSON_INT: t.CDefine -JSON_FLOAT: t.CDefine -JSON_STRING: t.CDefine -JSON_ARRAY: t.CDefine -JSON_OBJECT: t.CDefine -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/StringTest/.tpv_build/temp/5b/2e/22/5b2e220c5bae60c9.deps.txt b/Test/StringTest/.tpv_build/temp/5b/2e/22/5b2e220c5bae60c9.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/StringTest/.tpv_build/temp/5b/2e/22/5b2e220c5bae60c9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/5d/ab/8c/5dab8cb390496d22.deps.txt b/Test/StringTest/.tpv_build/temp/5d/ab/8c/5dab8cb390496d22.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/StringTest/.tpv_build/temp/5d/ab/8c/5dab8cb390496d22.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/61/66/ae/6166aecc7fa7ad65.deps.txt b/Test/StringTest/.tpv_build/temp/61/66/ae/6166aecc7fa7ad65.deps.txt deleted file mode 100644 index b7516df..0000000 --- a/Test/StringTest/.tpv_build/temp/61/66/ae/6166aecc7fa7ad65.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/62/cc/01/62cc01c2bb770ca3.deps.txt b/Test/StringTest/.tpv_build/temp/62/cc/01/62cc01c2bb770ca3.deps.txt deleted file mode 100644 index 8c2cb2a..0000000 --- a/Test/StringTest/.tpv_build/temp/62/cc/01/62cc01c2bb770ca3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c vipermath \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/StringTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/StringTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/64/46/62/6446627d4f07a1b5.deps.txt b/Test/StringTest/.tpv_build/temp/64/46/62/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/StringTest/.tpv_build/temp/64/46/62/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/StringTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/StringTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/65/03/c9/6503c97dde0c79c4.deps.txt b/Test/StringTest/.tpv_build/temp/65/03/c9/6503c97dde0c79c4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/StringTest/.tpv_build/temp/65/03/c9/6503c97dde0c79c4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/StringTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/65/7e/18/657e182b27c2a022.deps.txt b/Test/StringTest/.tpv_build/temp/65/7e/18/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringTest/.tpv_build/temp/65/7e/18/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/66/87/90/668790e6c9efdbae.deps.txt b/Test/StringTest/.tpv_build/temp/66/87/90/668790e6c9efdbae.deps.txt deleted file mode 100644 index 234ee18..0000000 --- a/Test/StringTest/.tpv_build/temp/66/87/90/668790e6c9efdbae.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c memhub string stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/66/87/90/668790e6c9efdbae.pyi b/Test/StringTest/.tpv_build/temp/66/87/90/668790e6c9efdbae.pyi deleted file mode 100644 index 1688341..0000000 --- a/Test/StringTest/.tpv_build/temp/66/87/90/668790e6c9efdbae.pyi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/StringTest/.tpv_build/temp/6b/3b/c4/6b3bc463fd044545.deps.txt b/Test/StringTest/.tpv_build/temp/6b/3b/c4/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/StringTest/.tpv_build/temp/6b/3b/c4/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/StringTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/StringTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/6d/53/5d/6d535de0b03e99b5.deps.txt b/Test/StringTest/.tpv_build/temp/6d/53/5d/6d535de0b03e99b5.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/StringTest/.tpv_build/temp/6d/53/5d/6d535de0b03e99b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/StringTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/StringTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/StringTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/StringTest/.tpv_build/temp/6f/62/fe/6f62fe05c5ea1ceb.deps.txt b/Test/StringTest/.tpv_build/temp/6f/62/fe/6f62fe05c5ea1ceb.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/6f/62/fe/6f62fe05c5ea1ceb.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/6f/62/fe/6f62fe05c5ea1ceb.pyi b/Test/StringTest/.tpv_build/temp/6f/62/fe/6f62fe05c5ea1ceb.pyi deleted file mode 100644 index 324e035..0000000 --- a/Test/StringTest/.tpv_build/temp/6f/62/fe/6f62fe05c5ea1ceb.pyi +++ /dev/null @@ -1,23 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -def printf(fmt: t.CConst | str, *args) -> t.CInt | t.State: pass - -def fprintf(stream: bytes, fmt: t.CConst | str, *args) -> t.CInt | t.State: pass - -def sprintf(buf: bytes, fmt: t.CConst | str, *args) -> t.CInt | t.State: pass - -def snprintf(buf: bytes, size: t.CSizeT, fmt: t.CConst | str, *args) -> t.CInt | t.State: pass - -def puts(s: t.CConst | str) -> t.CInt | t.State: pass - -def fputs(s: t.CConst | str, stream: bytes) -> t.CInt | t.State: pass - -def fgets(buf: bytes, size: t.CInt, stream: bytes) -> bytes | t.State: pass - -def fflush(stream: bytes) -> t.CInt | t.State: pass - -stdin: bytes -stdout: bytes -stderr: bytes diff --git a/Test/StringTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/StringTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/6f/f2/65/6ff26590374ae6fc.deps.txt b/Test/StringTest/.tpv_build/temp/6f/f2/65/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/6f/f2/65/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/71/e0/a3/71e0a3ffcb3ebfad.deps.txt b/Test/StringTest/.tpv_build/temp/71/e0/a3/71e0a3ffcb3ebfad.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/StringTest/.tpv_build/temp/71/e0/a3/71e0a3ffcb3ebfad.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/StringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi b/Test/StringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index 837f0e5..0000000 --- a/Test/StringTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine = 4096 -MEM_RESERVE: t.CDefine = 8192 -MEM_DECOMMIT: t.CDefine = 16384 -MEM_RELEASE: t.CDefine = 32768 -MEM_FREE: t.CDefine = 65536 -MEM_RESET: t.CDefine = 524288 -MEM_TOP_DOWN: t.CDefine = 1048576 -MEM_WRITE_WATCH: t.CDefine = 2097152 -MEM_PHYSICAL: t.CDefine = 4194304 -MEM_LARGE_PAGES: t.CDefine = 536870912 -PAGE_NOACCESS: t.CDefine = 1 -PAGE_READONLY: t.CDefine = 2 -PAGE_READWRITE: t.CDefine = 4 -PAGE_WRITECOPY: t.CDefine = 8 -PAGE_EXECUTE: t.CDefine = 16 -PAGE_EXECUTE_READ: t.CDefine = 32 -PAGE_EXECUTE_READWRITE: t.CDefine = 64 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 128 -PAGE_GUARD: t.CDefine = 256 -PAGE_NOCACHE: t.CDefine = 512 -PAGE_WRITECOMBINE: t.CDefine = 1024 -HEAP_NO_SERIALIZE: t.CDefine = 1 -HEAP_GROWABLE: t.CDefine = 2 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 4 -HEAP_ZERO_MEMORY: t.CDefine = 8 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 16 -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/StringTest/.tpv_build/temp/72/e2/d5/72e2d5ccb7cedcf1.deps.txt b/Test/StringTest/.tpv_build/temp/72/e2/d5/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/72/e2/d5/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/72/e2/d5/72e2d5ccb7cedcf1.pyi b/Test/StringTest/.tpv_build/temp/72/e2/d5/72e2d5ccb7cedcf1.pyi deleted file mode 100644 index fea2893..0000000 --- a/Test/StringTest/.tpv_build/temp/72/e2/d5/72e2d5ccb7cedcf1.pyi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine -MEM_RESERVE: t.CDefine -MEM_DECOMMIT: t.CDefine -MEM_RELEASE: t.CDefine -MEM_FREE: t.CDefine -MEM_RESET: t.CDefine -MEM_TOP_DOWN: t.CDefine -MEM_WRITE_WATCH: t.CDefine -MEM_PHYSICAL: t.CDefine -MEM_LARGE_PAGES: t.CDefine -PAGE_NOACCESS: t.CDefine -PAGE_READONLY: t.CDefine -PAGE_READWRITE: t.CDefine -PAGE_WRITECOPY: t.CDefine -PAGE_EXECUTE: t.CDefine -PAGE_EXECUTE_READ: t.CDefine -PAGE_EXECUTE_READWRITE: t.CDefine -PAGE_EXECUTE_WRITECOPY: t.CDefine -PAGE_GUARD: t.CDefine -PAGE_NOCACHE: t.CDefine -PAGE_WRITECOMBINE: t.CDefine -HEAP_NO_SERIALIZE: t.CDefine -HEAP_GROWABLE: t.CDefine -HEAP_GENERATE_EXCEPTIONS: t.CDefine -HEAP_ZERO_MEMORY: t.CDefine -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/StringTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/StringTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/StringTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/76/dd/6c/76dd6c275aa72b3b.deps.txt b/Test/StringTest/.tpv_build/temp/76/dd/6c/76dd6c275aa72b3b.deps.txt deleted file mode 100644 index fd84187..0000000 --- a/Test/StringTest/.tpv_build/temp/76/dd/6c/76dd6c275aa72b3b.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint platmacro memhub os.path os._win32 os._posix \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/79/b3/37/79b337e5ea8951e2.deps.txt b/Test/StringTest/.tpv_build/temp/79/b3/37/79b337e5ea8951e2.deps.txt deleted file mode 100644 index ffede5f..0000000 --- a/Test/StringTest/.tpv_build/temp/79/b3/37/79b337e5ea8951e2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t memhub string \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/7e/52/9f/7e529fe7a078cfef.deps.txt b/Test/StringTest/.tpv_build/temp/7e/52/9f/7e529fe7a078cfef.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/StringTest/.tpv_build/temp/7e/52/9f/7e529fe7a078cfef.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/7e/52/9f/7e529fe7a078cfef.pyi b/Test/StringTest/.tpv_build/temp/7e/52/9f/7e529fe7a078cfef.pyi deleted file mode 100644 index 46a2fb2..0000000 --- a/Test/StringTest/.tpv_build/temp/7e/52/9f/7e529fe7a078cfef.pyi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef -LPCSTR: t.CTypedef -LPCWSTR: t.CTypedef -INVALID_HANDLE_VALUE: t.CDefine -NULL: t.CDefine -TRUE: t.CDefine -FALSE: t.CDefine -INFINITE: t.CDefine -WAIT_FAILED: t.CDefine -WAIT_OBJECT_0: t.CDefine -WAIT_TIMEOUT: t.CDefine -WAIT_ABANDONED: t.CDefine -MAX_PATH: t.CDefine -ERROR_SUCCESS: t.CDefine -ERROR_FILE_NOT_FOUND: t.CDefine -ERROR_ACCESS_DENIED: t.CDefine -ERROR_INSUFFICIENT_BUFFER: t.CDefine -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/StringTest/.tpv_build/temp/87/27/4c/87274c2b0190fb33.deps.txt b/Test/StringTest/.tpv_build/temp/87/27/4c/87274c2b0190fb33.deps.txt deleted file mode 100644 index 7f50989..0000000 --- a/Test/StringTest/.tpv_build/temp/87/27/4c/87274c2b0190fb33.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32process w32.win32sync lock event condition rwlock \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/StringTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/StringTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/89/b3/96/89b3965176cd2407.deps.txt b/Test/StringTest/.tpv_build/temp/89/b3/96/89b3965176cd2407.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/StringTest/.tpv_build/temp/89/b3/96/89b3965176cd2407.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/StringTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/StringTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/StringTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/8e/be/d8/8ebed83a7817fa0c.deps.txt b/Test/StringTest/.tpv_build/temp/8e/be/d8/8ebed83a7817fa0c.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/StringTest/.tpv_build/temp/8e/be/d8/8ebed83a7817fa0c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/StringTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/StringTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/90/92/1d/90921d009fdd674c.deps.txt b/Test/StringTest/.tpv_build/temp/90/92/1d/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/StringTest/.tpv_build/temp/90/92/1d/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/90/c5/3d/90c53dd6db8d41cf.deps.txt b/Test/StringTest/.tpv_build/temp/90/c5/3d/90c53dd6db8d41cf.deps.txt deleted file mode 100644 index 5f39e4d..0000000 --- a/Test/StringTest/.tpv_build/temp/90/c5/3d/90c53dd6db8d41cf.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/93/c1/d1/93c1d18e35d188d6.deps.txt b/Test/StringTest/.tpv_build/temp/93/c1/d1/93c1d18e35d188d6.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/93/c1/d1/93c1d18e35d188d6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/94/6e/08/946e087da91aaada.deps.txt b/Test/StringTest/.tpv_build/temp/94/6e/08/946e087da91aaada.deps.txt deleted file mode 100644 index b819530..0000000 --- a/Test/StringTest/.tpv_build/temp/94/6e/08/946e087da91aaada.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/95/39/4c/95394ca8da0f655a.deps.txt b/Test/StringTest/.tpv_build/temp/95/39/4c/95394ca8da0f655a.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/StringTest/.tpv_build/temp/95/39/4c/95394ca8da0f655a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/96/83/7b/96837bcc64032444.deps.txt b/Test/StringTest/.tpv_build/temp/96/83/7b/96837bcc64032444.deps.txt deleted file mode 100644 index c45eb37..0000000 --- a/Test/StringTest/.tpv_build/temp/96/83/7b/96837bcc64032444.deps.txt +++ /dev/null @@ -1 +0,0 @@ -hashlib.__md5 hashlib.__sha1 hashlib.__sha256 hashlib.__sha512 \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/97/1e/24/971e24c228377a9b.deps.txt b/Test/StringTest/.tpv_build/temp/97/1e/24/971e24c228377a9b.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/97/1e/24/971e24c228377a9b.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/99/5f/88/995f884b86cf981e.deps.txt b/Test/StringTest/.tpv_build/temp/99/5f/88/995f884b86cf981e.deps.txt deleted file mode 100644 index b43b46a..0000000 --- a/Test/StringTest/.tpv_build/temp/99/5f/88/995f884b86cf981e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/StringTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/StringTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/StringTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/9d/86/26/9d8626a10208b8de.deps.txt b/Test/StringTest/.tpv_build/temp/9d/86/26/9d8626a10208b8de.deps.txt deleted file mode 100644 index 9546553..0000000 --- a/Test/StringTest/.tpv_build/temp/9d/86/26/9d8626a10208b8de.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32sync \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/_sha1_map.txt b/Test/StringTest/.tpv_build/temp/_sha1_map.txt index 72e758c..fa97e09 100644 --- a/Test/StringTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/StringTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,14 @@ -271ea3decb810db2:includes/atom.py -57288496f7c2d1ad:includes/json/__init__.py -240a9a4157959a9f:includes/json/__parser.py -20cd49775c100a38:includes/json/__writer.py -d089e25a15c6f6e0:includes/memhub.py -f5522571bcce7bcb:includes/stdint.py -6f62fe05c5ea1ceb:includes/stdio.py -ba12ed409d78139e:includes/string.py -14d33679f7fadf1f:includes/testcheck.py -c9f4be41ca1cc2b4:includes/viperio.py -7e529fe7a078cfef:includes/w32/win32base.py -bbdf3bbd4c3bc28c:includes/w32/win32console.py -72e2d5ccb7cedcf1:includes/w32/win32memory.py -e3e7b6de8d7d8b03:includes/_dict.py -668790e6c9efdbae:includes/_list.py -39178dc5ba692b92:App/main.py +aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp +f5522571bcce7bcb:includes/stdint.vp +285b6aa29a34754d:includes/stdio.vp +6c658cc728d0bbf4:includes/stdlib.vp +40b053f21c0df07c:includes/string.vp +748d0424e8976fa0:includes/testcheck.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +fb67ebda973806ad:includes/w32/win32memory.vp +7cadfe07e983fd90:includes/_list.vp +97a9da2eb0407ca8:main.vp diff --git a/Test/StringTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/StringTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/StringTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/StringTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/a6/8b/70/a68b70f233541a7f.deps.txt b/Test/StringTest/.tpv_build/temp/a6/8b/70/a68b70f233541a7f.deps.txt deleted file mode 100644 index eea7221..0000000 --- a/Test/StringTest/.tpv_build/temp/a6/8b/70/a68b70f233541a7f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32file memhub stdlib \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/StringTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/StringTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/a7/bc/8c/a7bc8c01684c0001.deps.txt b/Test/StringTest/.tpv_build/temp/a7/bc/8c/a7bc8c01684c0001.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/StringTest/.tpv_build/temp/a7/bc/8c/a7bc8c01684c0001.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/ab/a4/39/aba439b7882ad9d6.deps.txt b/Test/StringTest/.tpv_build/temp/ab/a4/39/aba439b7882ad9d6.deps.txt deleted file mode 100644 index 691d4bf..0000000 --- a/Test/StringTest/.tpv_build/temp/ab/a4/39/aba439b7882ad9d6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string memhub stdio hashtable \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/ab/bc/bd/abbcbd92436cc16a.deps.txt b/Test/StringTest/.tpv_build/temp/ab/bc/bd/abbcbd92436cc16a.deps.txt deleted file mode 100644 index fd821fa..0000000 --- a/Test/StringTest/.tpv_build/temp/ab/bc/bd/abbcbd92436cc16a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint platmacro memhub string w32.win32base w32.win32file posix \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/ad/6c/85/ad6c853acfc0c146.deps.txt b/Test/StringTest/.tpv_build/temp/ad/6c/85/ad6c853acfc0c146.deps.txt deleted file mode 100644 index 9546553..0000000 --- a/Test/StringTest/.tpv_build/temp/ad/6c/85/ad6c853acfc0c146.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32sync \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/StringTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/StringTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b1/9a/9e/b19a9e500f677f2e.deps.txt b/Test/StringTest/.tpv_build/temp/b1/9a/9e/b19a9e500f677f2e.deps.txt deleted file mode 100644 index 978194c..0000000 --- a/Test/StringTest/.tpv_build/temp/b1/9a/9e/b19a9e500f677f2e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c atom \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/StringTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/StringTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/StringTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/StringTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/StringTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b5/47/ac/b547ac4f380bddb6.deps.txt b/Test/StringTest/.tpv_build/temp/b5/47/ac/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/StringTest/.tpv_build/temp/b5/47/ac/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b5/58/d8/b558d8d8f01f4825.deps.txt b/Test/StringTest/.tpv_build/temp/b5/58/d8/b558d8d8f01f4825.deps.txt deleted file mode 100644 index e60effd..0000000 --- a/Test/StringTest/.tpv_build/temp/b5/58/d8/b558d8d8f01f4825.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string socket memhub stdio \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b5/a9/65/b5a965302cded36b.deps.txt b/Test/StringTest/.tpv_build/temp/b5/a9/65/b5a965302cded36b.deps.txt deleted file mode 100644 index 9d7639a..0000000 --- a/Test/StringTest/.tpv_build/temp/b5/a9/65/b5a965302cded36b.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint platmacro memhub string stdio w32.win32base w32.win32process posix \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/StringTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StringTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/StringTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/StringTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b6/2e/de/b62eded2baf30423.deps.txt b/Test/StringTest/.tpv_build/temp/b6/2e/de/b62eded2baf30423.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/StringTest/.tpv_build/temp/b6/2e/de/b62eded2baf30423.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/b8/c6/6c/b8c66c8ff44eb874.deps.txt b/Test/StringTest/.tpv_build/temp/b8/c6/6c/b8c66c8ff44eb874.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/StringTest/.tpv_build/temp/b8/c6/6c/b8c66c8ff44eb874.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/ba/12/ed/ba12ed409d78139e.deps.txt b/Test/StringTest/.tpv_build/temp/ba/12/ed/ba12ed409d78139e.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/StringTest/.tpv_build/temp/ba/12/ed/ba12ed409d78139e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/ba/12/ed/ba12ed409d78139e.pyi b/Test/StringTest/.tpv_build/temp/ba/12/ed/ba12ed409d78139e.pyi deleted file mode 100644 index 2e97004..0000000 --- a/Test/StringTest/.tpv_build/temp/ba/12/ed/ba12ed409d78139e.pyi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/StringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/StringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/StringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/StringTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/StringTest/.tpv_build/temp/bb/df/3b/bbdf3bbd4c3bc28c.deps.txt b/Test/StringTest/.tpv_build/temp/bb/df/3b/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/bb/df/3b/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/bb/df/3b/bbdf3bbd4c3bc28c.pyi b/Test/StringTest/.tpv_build/temp/bb/df/3b/bbdf3bbd4c3bc28c.pyi deleted file mode 100644 index a47dc87..0000000 --- a/Test/StringTest/.tpv_build/temp/bb/df/3b/bbdf3bbd4c3bc28c.pyi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine -ENABLE_LINE_INPUT: t.CDefine -ENABLE_ECHO_INPUT: t.CDefine -ENABLE_WINDOW_INPUT: t.CDefine -ENABLE_MOUSE_INPUT: t.CDefine -ENABLE_INSERT_MODE: t.CDefine -ENABLE_QUICK_EDIT_MODE: t.CDefine -ENABLE_EXTENDED_FLAGS: t.CDefine -ENABLE_PROCESSED_OUTPUT: t.CDefine -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine -FOREGROUND_BLUE: t.CDefine -FOREGROUND_GREEN: t.CDefine -FOREGROUND_RED: t.CDefine -FOREGROUND_INTENSITY: t.CDefine -BACKGROUND_BLUE: t.CDefine -BACKGROUND_GREEN: t.CDefine -BACKGROUND_RED: t.CDefine -BACKGROUND_INTENSITY: t.CDefine -KEY_EVENT: t.CDefine -MOUSE_EVENT: t.CDefine -WINDOW_BUFFER_SIZE_EVENT: t.CDefine -MENU_EVENT: t.CDefine -FOCUS_EVENT: t.CDefine -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/StringTest/.tpv_build/temp/c1/8c/3a/c18c3a20f82d7525.deps.txt b/Test/StringTest/.tpv_build/temp/c1/8c/3a/c18c3a20f82d7525.deps.txt deleted file mode 100644 index dabfb75..0000000 --- a/Test/StringTest/.tpv_build/temp/c1/8c/3a/c18c3a20f82d7525.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint vqt6._types \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c2/4f/25/c24f25b14b4bbd0a.deps.txt b/Test/StringTest/.tpv_build/temp/c2/4f/25/c24f25b14b4bbd0a.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/c2/4f/25/c24f25b14b4bbd0a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c3/a6/ae/c3a6aed1f1fb8b1e.deps.txt b/Test/StringTest/.tpv_build/temp/c3/a6/ae/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/StringTest/.tpv_build/temp/c3/a6/ae/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c3/b2/59/c3b259b4059f8668.deps.txt b/Test/StringTest/.tpv_build/temp/c3/b2/59/c3b259b4059f8668.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/StringTest/.tpv_build/temp/c3/b2/59/c3b259b4059f8668.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/StringTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/StringTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/StringTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/StringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/StringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/StringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/StringTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/StringTest/.tpv_build/temp/c9/d5/4a/c9d54a4158f7f5a8.deps.txt b/Test/StringTest/.tpv_build/temp/c9/d5/4a/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/c9/d5/4a/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c9/f4/be/c9f4be41ca1cc2b4.deps.txt b/Test/StringTest/.tpv_build/temp/c9/f4/be/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/StringTest/.tpv_build/temp/c9/f4/be/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/c9/f4/be/c9f4be41ca1cc2b4.pyi b/Test/StringTest/.tpv_build/temp/c9/f4/be/c9f4be41ca1cc2b4.pyi deleted file mode 100644 index 885e69d..0000000 --- a/Test/StringTest/.tpv_build/temp/c9/f4/be/c9f4be41ca1cc2b4.pyi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/StringTest/.tpv_build/temp/d0/89/e2/d089e25a15c6f6e0.deps.txt b/Test/StringTest/.tpv_build/temp/d0/89/e2/d089e25a15c6f6e0.deps.txt deleted file mode 100644 index 845af3a..0000000 --- a/Test/StringTest/.tpv_build/temp/d0/89/e2/d089e25a15c6f6e0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/d0/89/e2/d089e25a15c6f6e0.pyi b/Test/StringTest/.tpv_build/temp/d0/89/e2/d089e25a15c6f6e0.pyi deleted file mode 100644 index 6a5ec95..0000000 --- a/Test/StringTest/.tpv_build/temp/d0/89/e2/d089e25a15c6f6e0.pyi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -MEMHUB_ALIGN: t.CDefine -MEMSLAB_MIN_BLOCK: t.CDefine -MEMSLAB_BITMAP_BYTES: t.CDefine -MEMBUDDY_MIN_BLOCK: t.CDefine -MEMBUDDY_MAX_ORDERS: t.CDefine -MEMBUDDY_HEADER_SIZE: t.CDefine -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/StringTest/.tpv_build/temp/d1/52/11/d152115b49e50218.deps.txt b/Test/StringTest/.tpv_build/temp/d1/52/11/d152115b49e50218.deps.txt deleted file mode 100644 index 640d691..0000000 --- a/Test/StringTest/.tpv_build/temp/d1/52/11/d152115b49e50218.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint posix memhub stdlib \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/StringTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/d5/41/ad/d541ade6afb689a5.deps.txt b/Test/StringTest/.tpv_build/temp/d5/41/ad/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/StringTest/.tpv_build/temp/d5/41/ad/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/StringTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/StringTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/d6/3d/2c/d63d2c2a2bd9bd2a.deps.txt b/Test/StringTest/.tpv_build/temp/d6/3d/2c/d63d2c2a2bd9bd2a.deps.txt deleted file mode 100644 index 1b0c811..0000000 --- a/Test/StringTest/.tpv_build/temp/d6/3d/2c/d63d2c2a2bd9bd2a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -zlib.pyzlib \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/d7/e3/38/d7e3386b828acb66.deps.txt b/Test/StringTest/.tpv_build/temp/d7/e3/38/d7e3386b828acb66.deps.txt deleted file mode 100644 index 00494d4..0000000 --- a/Test/StringTest/.tpv_build/temp/d7/e3/38/d7e3386b828acb66.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string platmacro stdio w32.winsock2 \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/d9/89/a2/d989a211953ede05.deps.txt b/Test/StringTest/.tpv_build/temp/d9/89/a2/d989a211953ede05.deps.txt deleted file mode 100644 index dabfb75..0000000 --- a/Test/StringTest/.tpv_build/temp/d9/89/a2/d989a211953ede05.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint vqt6._types \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/da/44/92/da44924f0777c67a.deps.txt b/Test/StringTest/.tpv_build/temp/da/44/92/da44924f0777c67a.deps.txt deleted file mode 100644 index 9546553..0000000 --- a/Test/StringTest/.tpv_build/temp/da/44/92/da44924f0777c67a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32sync \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/StringTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/StringTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/StringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/StringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/StringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/StringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/StringTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/StringTest/.tpv_build/temp/e0/f1/d8/e0f1d864a10b2e4d.deps.txt b/Test/StringTest/.tpv_build/temp/e0/f1/d8/e0f1d864a10b2e4d.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StringTest/.tpv_build/temp/e0/f1/d8/e0f1d864a10b2e4d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/e1/f7/ae/e1f7ae4d330dcf9f.deps.txt b/Test/StringTest/.tpv_build/temp/e1/f7/ae/e1f7ae4d330dcf9f.deps.txt deleted file mode 100644 index dabfb75..0000000 --- a/Test/StringTest/.tpv_build/temp/e1/f7/ae/e1f7ae4d330dcf9f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint vqt6._types \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/e3/e7/b6/e3e7b6de8d7d8b03.deps.txt b/Test/StringTest/.tpv_build/temp/e3/e7/b6/e3e7b6de8d7d8b03.deps.txt deleted file mode 100644 index 4bc7daa..0000000 --- a/Test/StringTest/.tpv_build/temp/e3/e7/b6/e3e7b6de8d7d8b03.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c memhub string json stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/e3/e7/b6/e3e7b6de8d7d8b03.pyi b/Test/StringTest/.tpv_build/temp/e3/e7/b6/e3e7b6de8d7d8b03.pyi deleted file mode 100644 index 36cb428..0000000 --- a/Test/StringTest/.tpv_build/temp/e3/e7/b6/e3e7b6de8d7d8b03.pyi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine -VARIANT_INT: t.CDefine -VARIANT_FLOAT: t.CDefine -VARIANT_DOUBLE: t.CDefine -VARIANT_STR: t.CDefine -VARIANT_DICT: t.CDefine -VARIANT_LIST: t.CDefine -VARIANT_BOOL: t.CDefine -VARIANT_PTR: t.CDefine -_VARIANT_SIZE: t.CDefine -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/StringTest/.tpv_build/temp/ea/80/a4/ea80a4a724accbda.deps.txt b/Test/StringTest/.tpv_build/temp/ea/80/a4/ea80a4a724accbda.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/StringTest/.tpv_build/temp/ea/80/a4/ea80a4a724accbda.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/ee/52/c0/ee52c08239684346.deps.txt b/Test/StringTest/.tpv_build/temp/ee/52/c0/ee52c08239684346.deps.txt deleted file mode 100644 index 7196dda..0000000 --- a/Test/StringTest/.tpv_build/temp/ee/52/c0/ee52c08239684346.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.match ast.lexer \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/f5/52/25/f5522571bcce7bcb.deps.txt b/Test/StringTest/.tpv_build/temp/f5/52/25/f5522571bcce7bcb.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/StringTest/.tpv_build/temp/f5/52/25/f5522571bcce7bcb.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/f5/52/25/f5522571bcce7bcb.pyi b/Test/StringTest/.tpv_build/temp/f5/52/25/f5522571bcce7bcb.pyi deleted file mode 100644 index b9e8536..0000000 --- a/Test/StringTest/.tpv_build/temp/f5/52/25/f5522571bcce7bcb.pyi +++ /dev/null @@ -1,95 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -INT: t.CTypedef -INTPTR: t.CTypedef -BOOL: t.CTypedef -UINT: t.CTypedef -UINTPTR: t.CTypedef -BYTE: t.CTypedef -BYTEPTR: t.CTypedef -WORD: t.CTypedef -DWORD: t.CTypedef -QWORD: t.CTypedef -TCHAR: t.CTypedef -CHARLIST: t.CTypedef -VOID: t.CTypedef -SHORT: t.CTypedef -SHORTPTR: t.CTypedef -USHORT: t.CTypedef -USHORTPTR: t.CTypedef -LONGLONG: t.CTypedef -ULONGLONG: t.CTypedef -LONG: t.CTypedef -ULONG: t.CTypedef -WCHAR: t.CTypedef -WCHARPTR: t.CTypedef -CHARPTR: t.CTypedef -FSIZE_t: t.CTypedef -LBA_t: t.CTypedef -VOIDPTR: t.CTypedef -FLOAT: t.CTypedef -DOUBLE: t.CTypedef -FLOAT8: t.CTypedef -FLOAT16: t.CTypedef -FLOAT32: t.CTypedef -FLOAT64: t.CTypedef -FLOAT128: t.CTypedef -INT8: t.CTypedef -INT16: t.CTypedef -INT32: t.CTypedef -INT64: t.CTypedef -UINT8: t.CTypedef -UINT16: t.CTypedef -UINT32: t.CTypedef -UINT64: t.CTypedef -INT8PTR: t.CTypedef -INT16PTR: t.CTypedef -INT32PTR: t.CTypedef -INT64PTR: t.CTypedef -UINT8PTR: t.CTypedef -UINT16PTR: t.CTypedef -UINT32PTR: t.CTypedef -UINT64PTR: t.CTypedef -CHAR8: t.CTypedef -CHAR16: t.CTypedef -CHAR32: t.CTypedef -CHAR8PTR: t.CTypedef -CHAR16PTR: t.CTypedef -CHAR32PTR: t.CTypedef -i8: t.CTypedef -i16: t.CTypedef -i32: t.CTypedef -i64: t.CTypedef -u8: t.CTypedef -u16: t.CTypedef -u32: t.CTypedef -u64: t.CTypedef -SIZE_T: t.CTypedef -SSIZE_T: t.CTypedef -PTRDIFF_T: t.CTypedef -int8_t: t.CTypedef -int16_t: t.CTypedef -int32_t: t.CTypedef -int64_t: t.CTypedef -uint8_t: t.CTypedef -uint16_t: t.CTypedef -uint32_t: t.CTypedef -uint64_t: t.CTypedef -size_t: t.CTypedef -ssize_t: t.CTypedef -ptrdiff_t: t.CTypedef -intptr_t: t.CTypedef -uintptr_t: t.CTypedef -wchar_t: t.CTypedef -char8_t: t.CTypedef -char16_t: t.CTypedef -char32_t: t.CTypedef -float8_t: t.CTypedef -float16_t: t.CTypedef -float32_t: t.CTypedef -float64_t: t.CTypedef -float128_t: t.CTypedef -_Bool: t.CTypedef diff --git a/Test/StringTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/StringTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/StringTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/f6/b5/18/f6b51804a0ba8ff0.deps.txt b/Test/StringTest/.tpv_build/temp/f6/b5/18/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/f6/b5/18/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/StringTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/StringTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/StringTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StringTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/f9/e3/6e/f9e36e2cd6fa659f.deps.txt b/Test/StringTest/.tpv_build/temp/f9/e3/6e/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/StringTest/.tpv_build/temp/f9/e3/6e/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/StringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/StringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/StringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/StringTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/StringTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/StringTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/StringTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/StringTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/StringTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/StringTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/StringTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/StringTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/StringTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/StringTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/StringTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/StringTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/StringTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/StringTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/StringTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/StringTest/App/main.vp b/Test/StringTest/App/main.vp index daf1236..eef93b4 100644 --- a/Test/StringTest/App/main.vp +++ b/Test/StringTest/App/main.vp @@ -2,6 +2,7 @@ import t import stdio import string import testcheck +import w32.win32memory def test_strlen(): testcheck.section("Test 1: strlen") diff --git a/Test/StringTest/output/39178dc5ba692b92.deps.json b/Test/StringTest/output/39178dc5ba692b92.deps.json index a783ef5..a7fc1dc 100644 --- a/Test/StringTest/output/39178dc5ba692b92.deps.json +++ b/Test/StringTest/output/39178dc5ba692b92.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"stdio": "285b6aa29a34754d", "string": "40b053f21c0df07c", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/StringTest/temp/_phase1_manifest.json b/Test/StringTest/temp/_phase1_manifest.json index 534f32e..9223fb1 100644 --- a/Test/StringTest/temp/_phase1_manifest.json +++ b/Test/StringTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\StringTest\\App\\main.vp": {"sha1": "39178dc5ba692b92", "mtime": 1782271507.3310895, "size": 3265}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\StringTest\\App\\main.vp": {"sha1": "39178dc5ba692b92", "mtime": 1782271507.3310895, "size": 3265}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/StringTest/temp/_sha1_map.txt b/Test/StringTest/temp/_sha1_map.txt index b6dad71..9959f02 100644 --- a/Test/StringTest/temp/_sha1_map.txt +++ b/Test/StringTest/temp/_sha1_map.txt @@ -1,8 +1,8 @@ 285b6aa29a34754d:includes/stdio.vp 39178dc5ba692b92:main.vp +40b053f21c0df07c:includes/string.vp 72e2d5ccb7cedcf1:includes/w32\win32memory.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/StructTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/StructTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/StructTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/StructTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/StructTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StructTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/StructTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StructTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/StructTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/StructTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/StructTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/StructTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/StructTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/StructTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/StructTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/StructTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/StructTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/StructTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/StructTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/StructTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/StructTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/StructTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/StructTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/StructTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/StructTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/StructTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/StructTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/StructTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/StructTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/StructTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/StructTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/StructTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/StructTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/StructTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StructTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/StructTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/StructTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/StructTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StructTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/StructTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/StructTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/StructTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StructTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/StructTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/StructTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/StructTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/StructTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/StructTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StructTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/StructTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/StructTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/StructTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StructTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/StructTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/StructTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/StructTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/StructTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StructTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/StructTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StructTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi b/Test/StructTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index 837f0e5..0000000 --- a/Test/StructTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine = 4096 -MEM_RESERVE: t.CDefine = 8192 -MEM_DECOMMIT: t.CDefine = 16384 -MEM_RELEASE: t.CDefine = 32768 -MEM_FREE: t.CDefine = 65536 -MEM_RESET: t.CDefine = 524288 -MEM_TOP_DOWN: t.CDefine = 1048576 -MEM_WRITE_WATCH: t.CDefine = 2097152 -MEM_PHYSICAL: t.CDefine = 4194304 -MEM_LARGE_PAGES: t.CDefine = 536870912 -PAGE_NOACCESS: t.CDefine = 1 -PAGE_READONLY: t.CDefine = 2 -PAGE_READWRITE: t.CDefine = 4 -PAGE_WRITECOPY: t.CDefine = 8 -PAGE_EXECUTE: t.CDefine = 16 -PAGE_EXECUTE_READ: t.CDefine = 32 -PAGE_EXECUTE_READWRITE: t.CDefine = 64 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 128 -PAGE_GUARD: t.CDefine = 256 -PAGE_NOCACHE: t.CDefine = 512 -PAGE_WRITECOMBINE: t.CDefine = 1024 -HEAP_NO_SERIALIZE: t.CDefine = 1 -HEAP_GROWABLE: t.CDefine = 2 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 4 -HEAP_ZERO_MEMORY: t.CDefine = 8 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 16 -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/StructTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/StructTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/StructTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/StructTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/StructTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/StructTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/StructTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/StructTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/StructTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/StructTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/StructTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/StructTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/StructTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/_sha1_map.txt b/Test/StructTest/.tpv_build/temp/_sha1_map.txt index 2d6d2ff..c075a20 100644 --- a/Test/StructTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/StructTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,14 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -72e2d5ccb7cedcf1:includes/w32/win32memory.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +fb67ebda973806ad:includes/w32/win32memory.vp 7cadfe07e983fd90:includes/_list.vp 24e26a8de1173993:main.vp diff --git a/Test/StructTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/StructTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/StructTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/StructTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/StructTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/StructTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/StructTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/StructTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/StructTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/StructTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/StructTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/StructTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/StructTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/StructTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/StructTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/StructTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/StructTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/StructTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StructTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/StructTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/StructTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/StructTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/StructTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/StructTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/StructTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StructTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/StructTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/StructTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/StructTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/StructTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/StructTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/StructTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/StructTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/StructTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/StructTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/StructTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/StructTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/StructTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/StructTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/StructTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/StructTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/StructTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/StructTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/StructTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/StructTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/StructTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/StructTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/StructTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/StructTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/StructTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/StructTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/StructTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/StructTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/StructTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/StructTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/StructTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/StructTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/StructTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/StructTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/StructTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/StructTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/StructTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/StructTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/StructTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/StructTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/StructTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/StructTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/StructTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/StructTest/output/24e26a8de1173993.deps.json b/Test/StructTest/output/24e26a8de1173993.deps.json index a783ef5..a7fc1dc 100644 --- a/Test/StructTest/output/24e26a8de1173993.deps.json +++ b/Test/StructTest/output/24e26a8de1173993.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"stdio": "285b6aa29a34754d", "string": "40b053f21c0df07c", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/StructTest/temp/_phase1_manifest.json b/Test/StructTest/temp/_phase1_manifest.json index 5cf4c18..ce24723 100644 --- a/Test/StructTest/temp/_phase1_manifest.json +++ b/Test/StructTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\StructTest\\App\\main.vp": {"sha1": "24e26a8de1173993", "mtime": 1782271507.3310895, "size": 2500}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\StructTest\\App\\main.vp": {"sha1": "24e26a8de1173993", "mtime": 1782271507.3310895, "size": 2500}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/StructTest/temp/_sha1_map.txt b/Test/StructTest/temp/_sha1_map.txt index 4a571e1..6689c48 100644 --- a/Test/StructTest/temp/_sha1_map.txt +++ b/Test/StructTest/temp/_sha1_map.txt @@ -1,8 +1,8 @@ 24e26a8de1173993:main.vp 285b6aa29a34754d:includes/stdio.vp +40b053f21c0df07c:includes/string.vp 72e2d5ccb7cedcf1:includes/w32\win32memory.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/SysLibTest/.tpv_build/temp/_sha1_map.txt b/Test/SysLibTest/.tpv_build/temp/_sha1_map.txt index cb3bafe..a21c164 100644 --- a/Test/SysLibTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/SysLibTest/.tpv_build/temp/_sha1_map.txt @@ -1,3 +1,30 @@ +aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp +13110effbb0bb06c:includes/os/path.vp +d152115b49e50218:includes/os/_posix.vp +a68b70f233541a7f:includes/os/_win32.vp +4826f733b0735536:includes/os/__init__.vp +b57252077e6b596b:includes/platmacro.vp +28de517e3820658a:includes/posix.vp +7d8c26e41226955a:includes/shutil.vp +71e0a3ffcb3ebfad:includes/stdarg.vp +f5522571bcce7bcb:includes/stdint.vp +285b6aa29a34754d:includes/stdio.vp +6c658cc728d0bbf4:includes/stdlib.vp +40b053f21c0df07c:includes/string.vp +a335eb99f2e34479:includes/subprocess.vp +0c67644125bea0fd:includes/sys.vp +748d0424e8976fa0:includes/testcheck.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +d137b1f3311f3a7f:includes/w32/fileio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +cb21d6d885c9d53c:includes/w32/win32file.vp +652aff7c2e85125c:includes/w32/win32process.vp +35ffd1374f30cdd6:includes/w32/win32sync.vp +7cadfe07e983fd90:includes/_list.vp c70684ccfe48a5a9:main.vp 59e00d50660b941e:os_backend.vp -a03139660029514f:syslibtest_impl.vp +ae2038ced7b4634f:syslibtest_impl.vp diff --git a/Test/SysLibTest/output/0c67644125bea0fd.deps.json b/Test/SysLibTest/output/0c67644125bea0fd.deps.json deleted file mode 100644 index daaeb25..0000000 --- a/Test/SysLibTest/output/0c67644125bea0fd.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/output/13110effbb0bb06c.deps.json b/Test/SysLibTest/output/13110effbb0bb06c.deps.json index daaeb25..60fb616 100644 --- a/Test/SysLibTest/output/13110effbb0bb06c.deps.json +++ b/Test/SysLibTest/output/13110effbb0bb06c.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/output/28de517e3820658a.deps.json b/Test/SysLibTest/output/28de517e3820658a.deps.json deleted file mode 100644 index daaeb25..0000000 --- a/Test/SysLibTest/output/28de517e3820658a.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/output/4826f733b0735536.deps.json b/Test/SysLibTest/output/4826f733b0735536.deps.json index daaeb25..60fb616 100644 --- a/Test/SysLibTest/output/4826f733b0735536.deps.json +++ b/Test/SysLibTest/output/4826f733b0735536.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/output/59e00d50660b941e.deps.json b/Test/SysLibTest/output/59e00d50660b941e.deps.json index 2127cb0..e445b42 100644 --- a/Test/SysLibTest/output/59e00d50660b941e.deps.json +++ b/Test/SysLibTest/output/59e00d50660b941e.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SysLibTest/output/7d8c26e41226955a.deps.json b/Test/SysLibTest/output/7d8c26e41226955a.deps.json index daaeb25..60fb616 100644 --- a/Test/SysLibTest/output/7d8c26e41226955a.deps.json +++ b/Test/SysLibTest/output/7d8c26e41226955a.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/output/_shared_sym_includes.pickle b/Test/SysLibTest/output/_shared_sym_includes.pickle index 903f55876d2d0c85c21116127e25054b361fadf8..ea986ccc68743f36d4886aa6c01432c057db08f0 100644 GIT binary patch literal 913755 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�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�f5hQ|ZQsZCuTNRHWVi|daVfN{_{qN<; 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

^-V`>qqT{lN?!$6yiMXBf7}Lx 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 x diff --git a/Test/SysLibTest/output/a03139660029514f.deps.json b/Test/SysLibTest/output/a03139660029514f.deps.json index 1b220d6..2e91e12 100644 --- a/Test/SysLibTest/output/a03139660029514f.deps.json +++ b/Test/SysLibTest/output/a03139660029514f.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SysLibTest/output/a335eb99f2e34479.deps.json b/Test/SysLibTest/output/a335eb99f2e34479.deps.json index daaeb25..60fb616 100644 --- a/Test/SysLibTest/output/a335eb99f2e34479.deps.json +++ b/Test/SysLibTest/output/a335eb99f2e34479.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/output/a68b70f233541a7f.deps.json b/Test/SysLibTest/output/a68b70f233541a7f.deps.json index daaeb25..60fb616 100644 --- a/Test/SysLibTest/output/a68b70f233541a7f.deps.json +++ b/Test/SysLibTest/output/a68b70f233541a7f.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/output/c70684ccfe48a5a9.deps.json b/Test/SysLibTest/output/c70684ccfe48a5a9.deps.json index e3d2a83..e392586 100644 --- a/Test/SysLibTest/output/c70684ccfe48a5a9.deps.json +++ b/Test/SysLibTest/output/c70684ccfe48a5a9.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/SysLibTest/output/d152115b49e50218.deps.json b/Test/SysLibTest/output/d152115b49e50218.deps.json index daaeb25..60fb616 100644 --- a/Test/SysLibTest/output/d152115b49e50218.deps.json +++ b/Test/SysLibTest/output/d152115b49e50218.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "string": "928c0ff6d8c69ec9", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "sys": "0c67644125bea0fd", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "posix": "28de517e3820658a", "viperio": "2c175afd85852faf", "os.__init__": "4826f733b0735536", "__init__": "4826f733b0735536", "os": "4826f733b0735536", "string": "4c39369ffedaddac", "os_backend": "59e00d50660b941e", "stdlib": "6c658cc728d0bbf4", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "shutil": "7d8c26e41226955a", "syslibtest_impl": "a03139660029514f", "subprocess": "a335eb99f2e34479", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/temp/0c67644125bea0fd.stub.ll.dep b/Test/SysLibTest/temp/0c67644125bea0fd.stub.ll.dep index 4ee95b6..d73af0b 100644 --- a/Test/SysLibTest/temp/0c67644125bea0fd.stub.ll.dep +++ b/Test/SysLibTest/temp/0c67644125bea0fd.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|067c78e9f121dce3|285b6aa29a34754d|28de517e3820658a|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|b57252077e6b596b|c9f4be41ca1cc2b4|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file +067c78e9f121dce3|2408ce147bac090b|285b6aa29a34754d|28de517e3820658a|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|b57252077e6b596b|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/SysLibTest/temp/13110effbb0bb06c.stub.ll.dep b/Test/SysLibTest/temp/13110effbb0bb06c.stub.ll.dep index bf9223f..b9a0b87 100644 --- a/Test/SysLibTest/temp/13110effbb0bb06c.stub.ll.dep +++ b/Test/SysLibTest/temp/13110effbb0bb06c.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|b57252077e6b596b|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|b57252077e6b596b|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SysLibTest/temp/7d8c26e41226955a.stub.ll.dep b/Test/SysLibTest/temp/7d8c26e41226955a.stub.ll.dep index d17a3d7..c3e2be4 100644 --- a/Test/SysLibTest/temp/7d8c26e41226955a.stub.ll.dep +++ b/Test/SysLibTest/temp/7d8c26e41226955a.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|28de517e3820658a|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|b57252077e6b596b|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6b51804a0ba8ff0|fc980acec33d69a7 \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|28de517e3820658a|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|b57252077e6b596b|f5522571bcce7bcb|f6b51804a0ba8ff0|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/SysLibTest/temp/_phase1_manifest.json b/Test/SysLibTest/temp/_phase1_manifest.json index c7a2f3f..ebd8237 100644 --- a/Test/SysLibTest/temp/_phase1_manifest.json +++ b/Test/SysLibTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\main.vp": {"sha1": "c70684ccfe48a5a9", "mtime": 1782828223.3150382, "size": 918}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\os_backend.vp": {"sha1": "59e00d50660b941e", "mtime": 1782491896.4070306, "size": 1323}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\syslibtest_impl.vp": {"sha1": "a03139660029514f", "mtime": 1782828233.2147534, "size": 12395}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\__init__.vp": {"sha1": "4826f733b0735536", "mtime": 1785922863.3479233, "size": 4559}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\_posix.vp": {"sha1": "d152115b49e50218", "mtime": 1782826648.538678, "size": 5665}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\_win32.vp": {"sha1": "a68b70f233541a7f", "mtime": 1782826646.872196, "size": 7601}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\path.vp": {"sha1": "13110effbb0bb06c", "mtime": 1782826648.9189062, "size": 9499}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.vp": {"sha1": "b57252077e6b596b", "mtime": 1785332415.2187803, "size": 1266}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.vp": {"sha1": "28de517e3820658a", "mtime": 1785335629.2014928, "size": 10586}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\shutil.vp": {"sha1": "7d8c26e41226955a", "mtime": 1785787875.2005863, "size": 9416}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\subprocess.vp": {"sha1": "a335eb99f2e34479", "mtime": 1785319401.2041914, "size": 7841}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.vp": {"sha1": "0c67644125bea0fd", "mtime": 1785325556.7317626, "size": 5606}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "f6ab8989f3545e83", "mtime": 1785882958.4542437, "size": 59045}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\fileio.vp": {"sha1": "d137b1f3311f3a7f", "mtime": 1785902648.1442463, "size": 13765}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32file.vp": {"sha1": "f6b51804a0ba8ff0", "mtime": 1782531158.744144, "size": 8424}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.vp": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32sync.vp": {"sha1": "06f53cc594b4ac6c", "mtime": 1782297500.2581685, "size": 4726}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\main.vp": {"sha1": "c70684ccfe48a5a9", "mtime": 1782828223.3150382, "size": 918}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\os_backend.vp": {"sha1": "59e00d50660b941e", "mtime": 1782491896.4070306, "size": 1323}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\syslibtest_impl.vp": {"sha1": "a03139660029514f", "mtime": 1782828233.2147534, "size": 12395}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\__init__.vp": {"sha1": "4826f733b0735536", "mtime": 1785922863.3479233, "size": 4559}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\_posix.vp": {"sha1": "d152115b49e50218", "mtime": 1782826648.538678, "size": 5665}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\_win32.vp": {"sha1": "a68b70f233541a7f", "mtime": 1782826646.872196, "size": 7601}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\path.vp": {"sha1": "13110effbb0bb06c", "mtime": 1782826648.9189062, "size": 9499}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.vp": {"sha1": "b57252077e6b596b", "mtime": 1785332415.2187803, "size": 1266}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.vp": {"sha1": "28de517e3820658a", "mtime": 1785335629.2014928, "size": 10586}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\shutil.vp": {"sha1": "7d8c26e41226955a", "mtime": 1785787875.2005863, "size": 9416}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\subprocess.vp": {"sha1": "a335eb99f2e34479", "mtime": 1785319401.2041914, "size": 7841}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.vp": {"sha1": "0c67644125bea0fd", "mtime": 1785325556.7317626, "size": 5606}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "bba983c61a970f7c", "mtime": 1786320034.4835327, "size": 59458}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\fileio.vp": {"sha1": "d137b1f3311f3a7f", "mtime": 1785902648.1442463, "size": 13765}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32file.vp": {"sha1": "f6b51804a0ba8ff0", "mtime": 1782531158.744144, "size": 8424}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.vp": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32sync.vp": {"sha1": "06f53cc594b4ac6c", "mtime": 1782297500.2581685, "size": 4726}} \ No newline at end of file diff --git a/Test/SysLibTest/temp/_sha1_map.txt b/Test/SysLibTest/temp/_sha1_map.txt index b69b5aa..817f6bf 100644 --- a/Test/SysLibTest/temp/_sha1_map.txt +++ b/Test/SysLibTest/temp/_sha1_map.txt @@ -1,28 +1,28 @@ -04e5fe47ff2af528:includes/memhub.vp 067c78e9f121dce3:includes/w32\win32process.vp 06f53cc594b4ac6c:includes/w32\win32sync.vp 0c67644125bea0fd:includes/sys.vp 13110effbb0bb06c:includes/os\path.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp 28de517e3820658a:includes/posix.vp +2c175afd85852faf:includes/viperio.vp 4826f733b0735536:includes/os\__init__.vp +4c39369ffedaddac:includes/string.vp 59e00d50660b941e:os_backend.vp 6c658cc728d0bbf4:includes/stdlib.vp 71e0a3ffcb3ebfad:includes/stdarg.vp 748d0424e8976fa0:includes/testcheck.vp 7d8c26e41226955a:includes/shutil.vp -928c0ff6d8c69ec9:includes/string.vp a03139660029514f:syslibtest_impl.vp a335eb99f2e34479:includes/subprocess.vp a68b70f233541a7f:includes/os\_win32.vp aa246c6e6aa30484:includes/atom.vp b57252077e6b596b:includes/platmacro.vp +bba983c61a970f7c:includes/viperlib.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp c70684ccfe48a5a9:main.vp -c9f4be41ca1cc2b4:includes/viperio.vp d137b1f3311f3a7f:includes/w32\fileio.vp d152115b49e50218:includes/os\_posix.vp f5522571bcce7bcb:includes/stdint.vp -f6ab8989f3545e83:includes/viperlib.vp f6b51804a0ba8ff0:includes/w32\win32file.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/SysLibTest/temp/_shared_sym.json b/Test/SysLibTest/temp/_shared_sym.json index 79b6ed9e90152cf48f812a2f8174b8e955f134d5..0ee1867a95cd9301238ac629584d8ff6c99b227f 100644 GIT binary patch literal 845083 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 DXM)&P!Uj@=Zfy}EwQ>f}F>~vtX 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 diff --git a/Test/SysLibTest/temp/a335eb99f2e34479.stub.ll.dep b/Test/SysLibTest/temp/a335eb99f2e34479.stub.ll.dep index c610637..f6c78cf 100644 --- a/Test/SysLibTest/temp/a335eb99f2e34479.stub.ll.dep +++ b/Test/SysLibTest/temp/a335eb99f2e34479.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|067c78e9f121dce3|06f53cc594b4ac6c|285b6aa29a34754d|28de517e3820658a|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|b57252077e6b596b|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6b51804a0ba8ff0|fc980acec33d69a7 \ No newline at end of file +067c78e9f121dce3|06f53cc594b4ac6c|2408ce147bac090b|285b6aa29a34754d|28de517e3820658a|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|b57252077e6b596b|f5522571bcce7bcb|f6b51804a0ba8ff0|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/SysLibTest/temp/a68b70f233541a7f.stub.ll.dep b/Test/SysLibTest/temp/a68b70f233541a7f.stub.ll.dep index 5a46036..4bbcd89 100644 --- a/Test/SysLibTest/temp/a68b70f233541a7f.stub.ll.dep +++ b/Test/SysLibTest/temp/a68b70f233541a7f.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb|f6b51804a0ba8ff0|fc980acec33d69a7 \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb|f6b51804a0ba8ff0|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/SysLibTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/SysLibTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/SysLibTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SysLibTest/temp/c9f4be41ca1cc2b4.vpi b/Test/SysLibTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/SysLibTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/SysLibTest/temp/d152115b49e50218.stub.ll.dep b/Test/SysLibTest/temp/d152115b49e50218.stub.ll.dep index af1f793..38efd22 100644 --- a/Test/SysLibTest/temp/d152115b49e50218.stub.ll.dep +++ b/Test/SysLibTest/temp/d152115b49e50218.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|28de517e3820658a|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|28de517e3820658a|2c175afd85852faf|4c39369ffedaddac|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SysLibTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/SysLibTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/SysLibTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/SysLibTest/temp/f6ab8989f3545e83.vpi b/Test/SysLibTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/SysLibTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/TestFBProject/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/TestFBProject/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/TestFBProject/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/TestFBProject/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TestFBProject/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/TestFBProject/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TestFBProject/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/TestFBProject/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/TestFBProject/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/TestFBProject/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/TestFBProject/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/TestFBProject/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/TestFBProject/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/TestFBProject/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/TestFBProject/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/TestFBProject/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/TestFBProject/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/TestFBProject/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/TestFBProject/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/TestFBProject/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/TestFBProject/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/TestFBProject/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/TestFBProject/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/TestFBProject/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/TestFBProject/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/TestFBProject/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/TestFBProject/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/TestFBProject/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/TestFBProject/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/TestFBProject/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TestFBProject/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/TestFBProject/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/TestFBProject/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/TestFBProject/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/TestFBProject/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/TestFBProject/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/TestFBProject/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/TestFBProject/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/TestFBProject/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/4f/4fb8940ff5ab1022.vpi b/Test/TestFBProject/.tpv_build/temp/4f/4fb8940ff5ab1022.vpi deleted file mode 100644 index 3a0c7d2..0000000 --- a/Test/TestFBProject/.tpv_build/temp/4f/4fb8940ff5ab1022.vpi +++ /dev/null @@ -1,31 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import w32.win32console -import t, c -import testcheck -def add_inline(a: t.CInt, b: t.CInt) -> t.CDefine: pass - -def mul_inline(a: t.CInt, b: t.CInt) -> t.CDefine: pass - -class AppError(Exception): - pass - -class DiskError(AppError): - pass - -class NetworkError(AppError): - pass - -class TimeoutError(NetworkError): - pass - -def raise_disk(): pass - -def raise_network(): pass - -def raise_timeout(): pass - -def main() -> t.CInt | t.CExport: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/TestFBProject/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/TestFBProject/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/TestFBProject/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/TestFBProject/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/TestFBProject/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/TestFBProject/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/TestFBProject/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/TestFBProject/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/TestFBProject/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/TestFBProject/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/TestFBProject/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TestFBProject/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/TestFBProject/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/TestFBProject/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/TestFBProject/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/TestFBProject/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TestFBProject/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/TestFBProject/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TestFBProject/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/TestFBProject/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/TestFBProject/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/TestFBProject/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/TestFBProject/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/TestFBProject/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/TestFBProject/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/TestFBProject/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/TestFBProject/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/TestFBProject/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/TestFBProject/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/TestFBProject/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/TestFBProject/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/TestFBProject/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/TestFBProject/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/_sha1_map.txt b/Test/TestFBProject/.tpv_build/temp/_sha1_map.txt index 6e4f5bd..b4c2450 100644 --- a/Test/TestFBProject/.tpv_build/temp/_sha1_map.txt +++ b/Test/TestFBProject/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp -4fb8940ff5ab1022:main.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +02dabe283738948e:main.vp diff --git a/Test/TestFBProject/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/TestFBProject/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/TestFBProject/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/TestFBProject/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/TestFBProject/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/TestFBProject/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/TestFBProject/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/TestFBProject/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/TestFBProject/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/TestFBProject/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/TestFBProject/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/TestFBProject/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/TestFBProject/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/TestFBProject/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/TestFBProject/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/TestFBProject/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/TestFBProject/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/TestFBProject/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/TestFBProject/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/TestFBProject/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TestFBProject/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/TestFBProject/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/TestFBProject/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/TestFBProject/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/TestFBProject/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/TestFBProject/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TestFBProject/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/TestFBProject/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/TestFBProject/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/TestFBProject/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/TestFBProject/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/TestFBProject/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/TestFBProject/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TestFBProject/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/TestFBProject/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/TestFBProject/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/TestFBProject/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/TestFBProject/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/TestFBProject/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/TestFBProject/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/TestFBProject/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/TestFBProject/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/TestFBProject/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/TestFBProject/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/TestFBProject/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/TestFBProject/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/TestFBProject/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/TestFBProject/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/TestFBProject/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TestFBProject/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/TestFBProject/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/TestFBProject/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/TestFBProject/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/TestFBProject/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/TestFBProject/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/TestFBProject/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/TestFBProject/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/TestFBProject/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/TestFBProject/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/TestFBProject/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/TestFBProject/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/TestFBProject/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/TestFBProject/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/TestFBProject/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/TestFBProject/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/TestFBProject/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/TestFBProject/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/TestFBProject/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/TestFBProject/output/067c78e9f121dce3.deps.json b/Test/TestFBProject/output/067c78e9f121dce3.deps.json index 22ece25..f9172fc 100644 --- a/Test/TestFBProject/output/067c78e9f121dce3.deps.json +++ b/Test/TestFBProject/output/067c78e9f121dce3.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "main": "4fb8940ff5ab1022", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"main": "02dabe283738948e", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/TestFBProject/output/06f53cc594b4ac6c.deps.json b/Test/TestFBProject/output/06f53cc594b4ac6c.deps.json index 22ece25..f9172fc 100644 --- a/Test/TestFBProject/output/06f53cc594b4ac6c.deps.json +++ b/Test/TestFBProject/output/06f53cc594b4ac6c.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "main": "4fb8940ff5ab1022", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"main": "02dabe283738948e", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/TestFBProject/output/4fb8940ff5ab1022.deps.json b/Test/TestFBProject/output/4fb8940ff5ab1022.deps.json deleted file mode 100644 index f9587e9..0000000 --- a/Test/TestFBProject/output/4fb8940ff5ab1022.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/TestFBProject/output/6446627d4f07a1b5.deps.json b/Test/TestFBProject/output/6446627d4f07a1b5.deps.json index 22ece25..f9172fc 100644 --- a/Test/TestFBProject/output/6446627d4f07a1b5.deps.json +++ b/Test/TestFBProject/output/6446627d4f07a1b5.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "main": "4fb8940ff5ab1022", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"main": "02dabe283738948e", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/TestFBProject/output/72e2d5ccb7cedcf1.deps.json b/Test/TestFBProject/output/72e2d5ccb7cedcf1.deps.json index 22ece25..f9172fc 100644 --- a/Test/TestFBProject/output/72e2d5ccb7cedcf1.deps.json +++ b/Test/TestFBProject/output/72e2d5ccb7cedcf1.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "main": "4fb8940ff5ab1022", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"main": "02dabe283738948e", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/TestFBProject/output/_shared_sym_includes.pickle b/Test/TestFBProject/output/_shared_sym_includes.pickle index 3ca3af10d6c6f0a212600448d3a15ae0c56498ae..c8077e32cd124b19cd1ca0074585ce99c477e59a 100644 GIT binary patch literal 682416 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 z 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 literal 601704 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χy7 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

T-_BN%qx8MM=(Z2oB^y{xl-ad>hSN6nj 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 t.CDefine: - return a + b - -def mul_inline(a: t.CInt, b: t.CInt) -> t.CDefine: - return a * b - - -class AppError(Exception): - pass -class DiskError(AppError): - pass -class NetworkError(AppError): - pass -class TimeoutError(NetworkError): - pass - -def raise_disk() -> t.CInt: pass - -def raise_network() -> t.CInt: pass - -def raise_timeout() -> t.CInt: pass - -def main() -> t.CInt | t.CExport: pass diff --git a/Test/TestFBProject/temp/_phase1_manifest.json b/Test/TestFBProject/temp/_phase1_manifest.json index 700fdb8..6d218d1 100644 --- a/Test/TestFBProject/temp/_phase1_manifest.json +++ b/Test/TestFBProject/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestFBProject\\App\\main.vp": {"sha1": "4fb8940ff5ab1022", "mtime": 1782110087.2169445, "size": 5059}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestFBProject\\App\\main.vp": {"sha1": "02dabe283738948e", "mtime": 1786176411.767926, "size": 5059}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/TestFBProject/temp/_sha1_map.txt b/Test/TestFBProject/temp/_sha1_map.txt index 7cc533a..9c92df5 100644 --- a/Test/TestFBProject/temp/_sha1_map.txt +++ b/Test/TestFBProject/temp/_sha1_map.txt @@ -1,5 +1,5 @@ +02dabe283738948e:main.vp 285b6aa29a34754d:includes/stdio.vp -4fb8940ff5ab1022:main.vp 748d0424e8976fa0:includes/testcheck.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp f5522571bcce7bcb:includes/stdint.vp diff --git a/Test/TypeCastTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/TypeCastTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/TypeCastTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/TypeCastTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/TypeCastTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/TypeCastTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/TypeCastTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/TypeCastTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/TypeCastTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/TypeCastTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/TypeCastTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/TypeCastTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/TypeCastTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/TypeCastTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/TypeCastTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/TypeCastTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/TypeCastTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/TypeCastTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/TypeCastTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/TypeCastTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/TypeCastTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/TypeCastTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/TypeCastTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/TypeCastTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/TypeCastTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/TypeCastTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/TypeCastTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/TypeCastTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/TypeCastTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/TypeCastTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/TypeCastTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/TypeCastTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/TypeCastTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/TypeCastTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/TypeCastTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi b/Test/TypeCastTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index 837f0e5..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine = 4096 -MEM_RESERVE: t.CDefine = 8192 -MEM_DECOMMIT: t.CDefine = 16384 -MEM_RELEASE: t.CDefine = 32768 -MEM_FREE: t.CDefine = 65536 -MEM_RESET: t.CDefine = 524288 -MEM_TOP_DOWN: t.CDefine = 1048576 -MEM_WRITE_WATCH: t.CDefine = 2097152 -MEM_PHYSICAL: t.CDefine = 4194304 -MEM_LARGE_PAGES: t.CDefine = 536870912 -PAGE_NOACCESS: t.CDefine = 1 -PAGE_READONLY: t.CDefine = 2 -PAGE_READWRITE: t.CDefine = 4 -PAGE_WRITECOPY: t.CDefine = 8 -PAGE_EXECUTE: t.CDefine = 16 -PAGE_EXECUTE_READ: t.CDefine = 32 -PAGE_EXECUTE_READWRITE: t.CDefine = 64 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 128 -PAGE_GUARD: t.CDefine = 256 -PAGE_NOCACHE: t.CDefine = 512 -PAGE_WRITECOMBINE: t.CDefine = 1024 -HEAP_NO_SERIALIZE: t.CDefine = 1 -HEAP_GROWABLE: t.CDefine = 2 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 4 -HEAP_ZERO_MEMORY: t.CDefine = 8 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 16 -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/TypeCastTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/TypeCastTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/78/78418cf2ee722f0f.vpi b/Test/TypeCastTest/.tpv_build/temp/78/78418cf2ee722f0f.vpi index 5e67a4e..febad45 100644 --- a/Test/TypeCastTest/.tpv_build/temp/78/78418cf2ee722f0f.vpi +++ b/Test/TypeCastTest/.tpv_build/temp/78/78418cf2ee722f0f.vpi @@ -21,7 +21,7 @@ def test_trunc_u64_u32(): pass def test_mixed_signed_unsigned(): pass VAL_32BIT: t.CDefine = 2147483648 -VAL_NEG: t.CDefine = 4294967295 +VAL_NEG: t.CDefine = -1 VAL_BIG: t.CDefine = 4294967295 def test_cdefine_values(): pass diff --git a/Test/TypeCastTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/TypeCastTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/TypeCastTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/TypeCastTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/TypeCastTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/TypeCastTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/TypeCastTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/TypeCastTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/TypeCastTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/_sha1_map.txt b/Test/TypeCastTest/.tpv_build/temp/_sha1_map.txt index 0eb3d6d..8c05c24 100644 --- a/Test/TypeCastTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/TypeCastTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,14 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -72e2d5ccb7cedcf1:includes/w32/win32memory.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +fb67ebda973806ad:includes/w32/win32memory.vp 7cadfe07e983fd90:includes/_list.vp 78418cf2ee722f0f:main.vp diff --git a/Test/TypeCastTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/TypeCastTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/TypeCastTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/TypeCastTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/TypeCastTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/TypeCastTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/TypeCastTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/TypeCastTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/TypeCastTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/TypeCastTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/TypeCastTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/TypeCastTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/TypeCastTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/TypeCastTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/TypeCastTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/TypeCastTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/TypeCastTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/TypeCastTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/TypeCastTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/TypeCastTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/TypeCastTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/TypeCastTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/TypeCastTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/TypeCastTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/TypeCastTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/TypeCastTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/TypeCastTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/TypeCastTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/TypeCastTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/TypeCastTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/TypeCastTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/TypeCastTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/TypeCastTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/TypeCastTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/TypeCastTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/TypeCastTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/TypeCastTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/TypeCastTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/TypeCastTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/TypeCastTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/TypeCastTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/TypeCastTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/TypeCastTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/TypeCastTest/output/78418cf2ee722f0f.deps.json b/Test/TypeCastTest/output/78418cf2ee722f0f.deps.json index a783ef5..a7fc1dc 100644 --- a/Test/TypeCastTest/output/78418cf2ee722f0f.deps.json +++ b/Test/TypeCastTest/output/78418cf2ee722f0f.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"stdio": "285b6aa29a34754d", "string": "40b053f21c0df07c", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/TypeCastTest/temp/_phase1_manifest.json b/Test/TypeCastTest/temp/_phase1_manifest.json index 450b5e7..3b049ff 100644 --- a/Test/TypeCastTest/temp/_phase1_manifest.json +++ b/Test/TypeCastTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TypeCastTest\\App\\main.vp": {"sha1": "78418cf2ee722f0f", "mtime": 1782109471.5646322, "size": 6566}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TypeCastTest\\App\\main.vp": {"sha1": "78418cf2ee722f0f", "mtime": 1782109471.5646322, "size": 6566}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/TypeCastTest/temp/_sha1_map.txt b/Test/TypeCastTest/temp/_sha1_map.txt index c175907..b5a6371 100644 --- a/Test/TypeCastTest/temp/_sha1_map.txt +++ b/Test/TypeCastTest/temp/_sha1_map.txt @@ -1,8 +1,8 @@ 285b6aa29a34754d:includes/stdio.vp +40b053f21c0df07c:includes/string.vp 72e2d5ccb7cedcf1:includes/w32\win32memory.vp 748d0424e8976fa0:includes/testcheck.vp 78418cf2ee722f0f:main.vp -928c0ff6d8c69ec9:includes/string.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/VRandomTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/VRandomTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VRandomTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/VRandomTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VRandomTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/VRandomTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/VRandomTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/VRandomTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/VRandomTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/VRandomTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/VRandomTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/VRandomTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/VRandomTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/VRandomTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/VRandomTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/VRandomTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/VRandomTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/VRandomTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/VRandomTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/VRandomTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/VRandomTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/VRandomTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/VRandomTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/VRandomTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/VRandomTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/VRandomTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/VRandomTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/VRandomTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/VRandomTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/VRandomTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/VRandomTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VRandomTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/3f/3f7c5e78d8652535.vpi b/Test/VRandomTest/.tpv_build/temp/3f/3f7c5e78d8652535.vpi deleted file mode 100644 index 0104dba..0000000 --- a/Test/VRandomTest/.tpv_build/temp/3f/3f7c5e78d8652535.vpi +++ /dev/null @@ -1,123 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -U_M_PI: t.CDefine -U_M_E: t.CDefine -U_M_PI_2: t.CDefine -U_M_PI_4: t.CDefine -U_M_1_PI: t.CDefine -U_M_2_PI: t.CDefine -U_M_LN2: t.CDefine -U_M_LN10: t.CDefine -U_M_2_SQRT_PI: t.CDefine -def radians(degrees: t.CDouble) -> t.CDouble: pass - -def degrees(radians: t.CDouble) -> t.CDouble: pass - -def sin(x: t.CDouble) -> t.CDouble: pass - -def cos(x: t.CDouble) -> t.CDouble: pass - -def tan(x: t.CDouble) -> t.CDouble: pass - -def asin(x: t.CDouble) -> t.CDouble: pass - -def acos(x: t.CDouble) -> t.CDouble: pass - -def _atan_core(x: t.CDouble) -> t.CDouble: pass - -def atan(x: t.CDouble) -> t.CDouble: pass - -def atan2(y: t.CDouble, x: t.CDouble) -> t.CDouble: pass - -def sinh(x: t.CDouble) -> t.CDouble: pass - -def cosh(x: t.CDouble) -> t.CDouble: pass - -def tanh(x: t.CDouble) -> t.CDouble: pass - -def exp(x: t.CDouble) -> t.CDouble: pass - -def log(x: t.CDouble) -> t.CDouble: pass - -def sqrt(x: t.CDouble) -> t.CDouble: pass - -def abs(x: t.CInt) -> t.CInt: pass - -def fabs(x: t.CDouble) -> t.CDouble: pass - -def labs(x: t.CLong) -> t.CLong: pass - -def factorial(n: t.CInt) -> t.CDouble: pass - -def combination(n: t.CInt, k: t.CInt) -> t.CDouble: pass - -def permutation(n: t.CInt, k: t.CInt) -> t.CDouble: pass - -def pow(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def powf(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def cbrt(x: t.CDouble) -> t.CDouble: pass - -def hypot(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def floor(x: t.CDouble) -> t.CDouble: pass - -def ceil(x: t.CDouble) -> t.CDouble: pass - -def round(x: t.CDouble) -> t.CDouble: pass - -def trunc(x: t.CDouble) -> t.CDouble: pass - -def fmod(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def fmodf(x: float, y: float) -> float: pass - -def modf(x: t.CDouble, iptr: t.CDouble | t.CPtr) -> t.CDouble: pass - -def log10(x: t.CDouble) -> t.CDouble: pass - -def log2(x: t.CDouble) -> t.CDouble: pass - -def exp2(x: t.CDouble) -> t.CDouble: pass - -def expm1(x: t.CDouble) -> t.CDouble: pass - -def log1p(x: t.CDouble) -> t.CDouble: pass - -def asinh(x: t.CDouble) -> t.CDouble: pass - -def acosh(x: t.CDouble) -> t.CDouble: pass - -def atanh(x: t.CDouble) -> t.CDouble: pass - -def gamma(x: t.CDouble) -> t.CDouble: pass - -def erf(x: t.CDouble) -> t.CDouble: pass - -def erfc(x: t.CDouble) -> t.CDouble: pass - -def sqrtf(x: t.CFloat) -> t.CFloat: pass - -def sinf(x: t.CFloat) -> t.CFloat: pass - -def cosf(x: t.CFloat) -> t.CFloat: pass - -def tanf(x: t.CFloat) -> t.CFloat: pass - -def fabsf(x: t.CFloat) -> t.CFloat: pass - -def floorf(x: t.CFloat) -> t.CFloat: pass - -def ceilf(x: t.CFloat) -> t.CFloat: pass - -class _U(t.CUnion): - d: t.CDouble - u: t.CUInt64T - -def isnan(x: t.CDouble) -> t.CStatic | t.CInt: pass - -def isinf(x: t.CDouble) -> t.CStatic | t.CInt: pass - diff --git a/Test/VRandomTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/VRandomTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/VRandomTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/VRandomTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/VRandomTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/VRandomTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/VRandomTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/VRandomTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/VRandomTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/VRandomTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/VRandomTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/VRandomTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/VRandomTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/VRandomTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/VRandomTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/VRandomTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/VRandomTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/VRandomTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VRandomTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/VRandomTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/VRandomTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/VRandomTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/VRandomTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VRandomTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/VRandomTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VRandomTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/VRandomTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/VRandomTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/VRandomTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/VRandomTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/VRandomTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/VRandomTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/VRandomTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/VRandomTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/VRandomTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/VRandomTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/VRandomTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/VRandomTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/_sha1_map.txt b/Test/VRandomTest/.tpv_build/temp/_sha1_map.txt index 0b92e72..2b88762 100644 --- a/Test/VRandomTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/VRandomTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,15 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -3f7c5e78d8652535:includes/vipermath.vp +2c175afd85852faf:includes/viperio.vp +0d841163d475941f:includes/vipermath.vp 03d3ece355d95d76:includes/vrandom.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp +e24a7f4a875f4518:main.vp diff --git a/Test/VRandomTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/VRandomTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/VRandomTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/VRandomTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/VRandomTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/VRandomTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/VRandomTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/VRandomTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/VRandomTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/VRandomTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/VRandomTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/VRandomTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/VRandomTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/VRandomTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/VRandomTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/VRandomTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/VRandomTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/VRandomTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VRandomTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/VRandomTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/VRandomTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/VRandomTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VRandomTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/VRandomTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/VRandomTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/VRandomTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/VRandomTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/VRandomTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/VRandomTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VRandomTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/VRandomTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/VRandomTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/VRandomTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/VRandomTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/VRandomTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/VRandomTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/VRandomTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/VRandomTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/VRandomTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/VRandomTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/VRandomTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/VRandomTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VRandomTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/VRandomTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/VRandomTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/VRandomTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/VRandomTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/VRandomTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/VRandomTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/VRandomTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/VRandomTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/VRandomTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/VRandomTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/VRandomTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/VRandomTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/VRandomTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/VRandomTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/VRandomTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/VRandomTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/VRandomTest/output/03d3ece355d95d76.deps.json b/Test/VRandomTest/output/03d3ece355d95d76.deps.json index 9b3127b..9a48374 100644 --- a/Test/VRandomTest/output/03d3ece355d95d76.deps.json +++ b/Test/VRandomTest/output/03d3ece355d95d76.deps.json @@ -1 +1 @@ -{"vrandom": "03d3ece355d95d76", "stdio": "285b6aa29a34754d", "vipermath": "3f7c5e78d8652535", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "e24a7f4a875f4518", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"vrandom": "03d3ece355d95d76", "vipermath": "0d841163d475941f", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "e24a7f4a875f4518", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/VRandomTest/output/3f7c5e78d8652535.deps.json b/Test/VRandomTest/output/3f7c5e78d8652535.deps.json deleted file mode 100644 index 9b3127b..0000000 --- a/Test/VRandomTest/output/3f7c5e78d8652535.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"vrandom": "03d3ece355d95d76", "stdio": "285b6aa29a34754d", "vipermath": "3f7c5e78d8652535", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "e24a7f4a875f4518", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/VRandomTest/output/_shared_sym_includes.pickle b/Test/VRandomTest/output/_shared_sym_includes.pickle index c869f8d508a82144c957fd0e1f652214c713fe6d..46528a5f5aedae01798dbfe6558735c1b6ed304f 100644 GIT binary patch literal 496639 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 OPR+pZh@XSW_WuVZzoo?h literal 416223 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 t.CDouble: pass - -def degrees(radians: t.CDouble) -> t.CDouble: pass - -def sin(x: t.CDouble) -> t.CDouble: pass - -def cos(x: t.CDouble) -> t.CDouble: pass - -def tan(x: t.CDouble) -> t.CDouble: pass - -def asin(x: t.CDouble) -> t.CDouble: pass - -def acos(x: t.CDouble) -> t.CDouble: pass - -def _atan_core(x: t.CDouble) -> t.CDouble: pass - -def atan(x: t.CDouble) -> t.CDouble: pass - -def atan2(y: t.CDouble, x: t.CDouble) -> t.CDouble: pass - -def sinh(x: t.CDouble) -> t.CDouble: pass - -def cosh(x: t.CDouble) -> t.CDouble: pass - -def tanh(x: t.CDouble) -> t.CDouble: pass - -def exp(x: t.CDouble) -> t.CDouble: pass - -def log(x: t.CDouble) -> t.CDouble: pass - -def sqrt(x: t.CDouble) -> t.CDouble: pass - -def abs(x: t.CInt) -> t.CInt: pass - -def fabs(x: t.CDouble) -> t.CDouble: pass - -def labs(x: t.CLong) -> t.CLong: pass - -def factorial(n: t.CInt) -> t.CDouble: pass - -def combination(n: t.CInt, k: t.CInt) -> t.CDouble: pass - -def permutation(n: t.CInt, k: t.CInt) -> t.CDouble: pass - -def pow(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def powf(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def cbrt(x: t.CDouble) -> t.CDouble: pass - -def hypot(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def floor(x: t.CDouble) -> t.CDouble: pass - -def ceil(x: t.CDouble) -> t.CDouble: pass - -def round(x: t.CDouble) -> t.CDouble: pass - -def trunc(x: t.CDouble) -> t.CDouble: pass - -def fmod(x: t.CDouble, y: t.CDouble) -> t.CDouble: pass - -def fmodf(x: float, y: float) -> float: pass - -def modf(x: t.CDouble, iptr: t.CDouble | t.CPtr) -> t.CDouble: pass - -def log10(x: t.CDouble) -> t.CDouble: pass - -def log2(x: t.CDouble) -> t.CDouble: pass - -def exp2(x: t.CDouble) -> t.CDouble: pass - -def expm1(x: t.CDouble) -> t.CDouble: pass - -def log1p(x: t.CDouble) -> t.CDouble: pass - -def asinh(x: t.CDouble) -> t.CDouble: pass - -def acosh(x: t.CDouble) -> t.CDouble: pass - -def atanh(x: t.CDouble) -> t.CDouble: pass - -def gamma(x: t.CDouble) -> t.CDouble: pass - -def erf(x: t.CDouble) -> t.CDouble: pass - -def erfc(x: t.CDouble) -> t.CDouble: pass - -def sqrtf(x: t.CFloat) -> t.CFloat: pass - -def sinf(x: t.CFloat) -> t.CFloat: pass - -def cosf(x: t.CFloat) -> t.CFloat: pass - -def tanf(x: t.CFloat) -> t.CFloat: pass - -def fabsf(x: t.CFloat) -> t.CFloat: pass - -def floorf(x: t.CFloat) -> t.CFloat: pass - -def ceilf(x: t.CFloat) -> t.CFloat: pass - - -class _U(t.CUnion): - d: t.CDouble - u: t.CUInt64T - -def isnan(x: t.CDouble) -> t.CStatic | t.CInt: pass - -def isinf(x: t.CDouble) -> t.CStatic | t.CInt: pass diff --git a/Test/VRandomTest/temp/_phase1_manifest.json b/Test/VRandomTest/temp/_phase1_manifest.json index d724d58..b0af900 100644 --- a/Test/VRandomTest/temp/_phase1_manifest.json +++ b/Test/VRandomTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\VRandomTest\\App\\main.vp": {"sha1": "e24a7f4a875f4518", "mtime": 1782109440.0645702, "size": 4476}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipermath.vp": {"sha1": "3f7c5e78d8652535", "mtime": 1781532528.2518907, "size": 15412}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vrandom.vp": {"sha1": "03d3ece355d95d76", "mtime": 1785318522.203344, "size": 12206}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\VRandomTest\\App\\main.vp": {"sha1": "e24a7f4a875f4518", "mtime": 1782109440.0645702, "size": 4476}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipermath.vp": {"sha1": "0d841163d475941f", "mtime": 1786193728.6869502, "size": 15615}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vrandom.vp": {"sha1": "03d3ece355d95d76", "mtime": 1785318522.203344, "size": 12206}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/VRandomTest/temp/_sha1_map.txt b/Test/VRandomTest/temp/_sha1_map.txt index a4bd666..c3cbc5a 100644 --- a/Test/VRandomTest/temp/_sha1_map.txt +++ b/Test/VRandomTest/temp/_sha1_map.txt @@ -1,6 +1,6 @@ 03d3ece355d95d76:includes/vrandom.vp +0d841163d475941f:includes/vipermath.vp 285b6aa29a34754d:includes/stdio.vp -3f7c5e78d8652535:includes/vipermath.vp 748d0424e8976fa0:includes/testcheck.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp e24a7f4a875f4518:main.vp diff --git a/Test/VariadicTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/VariadicTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/VariadicTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/VariadicTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/VariadicTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VariadicTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/VariadicTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VariadicTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/VariadicTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/VariadicTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/VariadicTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/VariadicTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/VariadicTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/VariadicTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/VariadicTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/VariadicTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/VariadicTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/VariadicTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/VariadicTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/VariadicTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/VariadicTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/VariadicTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/VariadicTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/VariadicTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/VariadicTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/VariadicTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/VariadicTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/VariadicTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/VariadicTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/VariadicTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/VariadicTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/VariadicTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/VariadicTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/VariadicTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VariadicTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/VariadicTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/VariadicTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/VariadicTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/VariadicTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/VariadicTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/VariadicTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/VariadicTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/VariadicTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/VariadicTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/VariadicTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/VariadicTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/VariadicTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/VariadicTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/VariadicTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/VariadicTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/VariadicTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/VariadicTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VariadicTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/VariadicTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/VariadicTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/VariadicTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/VariadicTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VariadicTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/VariadicTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VariadicTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/VariadicTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/VariadicTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/VariadicTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/VariadicTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/VariadicTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/VariadicTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/VariadicTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/VariadicTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/VariadicTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/VariadicTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/VariadicTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/VariadicTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/_sha1_map.txt b/Test/VariadicTest/.tpv_build/temp/_sha1_map.txt index fa6bceb..892899b 100644 --- a/Test/VariadicTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/VariadicTest/.tpv_build/temp/_sha1_map.txt @@ -1,18 +1,15 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp 71e0a3ffcb3ebfad:includes/stdarg.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -f6ab8989f3545e83:includes/viperlib.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +bba983c61a970f7c:includes/viperlib.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp c1416dfae155d6e2:main.vp diff --git a/Test/VariadicTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/VariadicTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/VariadicTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/VariadicTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/VariadicTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/VariadicTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/VariadicTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/VariadicTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/VariadicTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/VariadicTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/VariadicTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/VariadicTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/VariadicTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/VariadicTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/VariadicTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/VariadicTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/VariadicTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/VariadicTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VariadicTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/VariadicTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/VariadicTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/VariadicTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/VariadicTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/VariadicTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/VariadicTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VariadicTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/VariadicTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/VariadicTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/VariadicTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/VariadicTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/VariadicTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/VariadicTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/VariadicTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/VariadicTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/VariadicTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/VariadicTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/VariadicTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/VariadicTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/VariadicTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/VariadicTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/VariadicTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/VariadicTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/VariadicTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/VariadicTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/VariadicTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/VariadicTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/VariadicTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi b/Test/VariadicTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi deleted file mode 100644 index c09feb3..0000000 --- a/Test/VariadicTest/.tpv_build/temp/f6/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import viperio -from stdarg import arg, va_arg -TEMP_BUF_SIZE: t.CDefine = 68 -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass - diff --git a/Test/VariadicTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/VariadicTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/VariadicTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/VariadicTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/VariadicTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/VariadicTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/VariadicTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/VariadicTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/VariadicTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/VariadicTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/VariadicTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/VariadicTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/VariadicTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/VariadicTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/VariadicTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/VariadicTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/VariadicTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/VariadicTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/VariadicTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/VariadicTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/VariadicTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/VariadicTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/VariadicTest/output/c1416dfae155d6e2.deps.json b/Test/VariadicTest/output/c1416dfae155d6e2.deps.json index da1b2fa..754396d 100644 --- a/Test/VariadicTest/output/c1416dfae155d6e2.deps.json +++ b/Test/VariadicTest/output/c1416dfae155d6e2.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperlib": "f6ab8989f3545e83", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "40b053f21c0df07c", "stdarg": "71e0a3ffcb3ebfad", "testcheck": "748d0424e8976fa0", "viperlib": "bba983c61a970f7c", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/VariadicTest/temp/_phase1_manifest.json b/Test/VariadicTest/temp/_phase1_manifest.json index 4817db0..05c305a 100644 --- a/Test/VariadicTest/temp/_phase1_manifest.json +++ b/Test/VariadicTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\VariadicTest\\App\\main.vp": {"sha1": "c1416dfae155d6e2", "mtime": 1782266230.8679473, "size": 6842}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "f6ab8989f3545e83", "mtime": 1785882958.4542437, "size": 59045}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\VariadicTest\\App\\main.vp": {"sha1": "c1416dfae155d6e2", "mtime": 1782266230.8679473, "size": 6842}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.vp": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.vp": {"sha1": "bba983c61a970f7c", "mtime": 1786320034.4835327, "size": 59458}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/VariadicTest/temp/_sha1_map.txt b/Test/VariadicTest/temp/_sha1_map.txt index e7a4348..1a02237 100644 --- a/Test/VariadicTest/temp/_sha1_map.txt +++ b/Test/VariadicTest/temp/_sha1_map.txt @@ -1,10 +1,10 @@ 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +40b053f21c0df07c:includes/string.vp 71e0a3ffcb3ebfad:includes/stdarg.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp +bba983c61a970f7c:includes/viperlib.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp c1416dfae155d6e2:main.vp -c9f4be41ca1cc2b4:includes/viperio.vp f5522571bcce7bcb:includes/stdint.vp -f6ab8989f3545e83:includes/viperlib.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/VariadicTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/VariadicTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/VariadicTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/VariadicTest/temp/c9f4be41ca1cc2b4.vpi b/Test/VariadicTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/VariadicTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/VariadicTest/temp/f6ab8989f3545e83.stub.ll.dep b/Test/VariadicTest/temp/f6ab8989f3545e83.stub.ll.dep deleted file mode 100644 index bfde8ab..0000000 --- a/Test/VariadicTest/temp/f6ab8989f3545e83.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -71e0a3ffcb3ebfad|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/VariadicTest/temp/f6ab8989f3545e83.vpi b/Test/VariadicTest/temp/f6ab8989f3545e83.vpi deleted file mode 100644 index d7cf9b6..0000000 --- a/Test/VariadicTest/temp/f6ab8989f3545e83.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.vp -Module: viperlib -""" - - -import t, c -import viperio -from stdarg import arg, va_arg - -TEMP_BUF_SIZE: t.CDefine = 68 - -def get_digit_count(num: t.CUnsignedInt, base: t.CInt) -> t.CStatic | t.CInt: pass - -def sprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CVoid | t.CExport: pass - -def vsprintf(buf: t.CChar | t.CPtr, rule: str, *args) -> t.CInt: pass - -def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, *args) -> t.CInt | t.CExport: pass - -def _check_special_float(fv: t.CDouble) -> t.CInt: pass - -def vsnprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: str, ap: t.CChar | t.CPtr) -> t.CInt | t.CExport: pass diff --git a/Test/WebTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/WebTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/WebTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/WebTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/WebTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/WebTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/WebTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/WebTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/WebTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/WebTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/WebTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/WebTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/WebTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/WebTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/WebTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/WebTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/WebTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/WebTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/WebTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/WebTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/WebTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/WebTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/WebTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/WebTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/WebTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/WebTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/WebTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/WebTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/WebTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/WebTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/WebTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/WebTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/WebTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/WebTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/WebTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/WebTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/WebTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/WebTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/WebTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/WebTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/WebTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/WebTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/WebTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/WebTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/WebTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/WebTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/WebTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/64/6446627d4f07a1b5.vpi b/Test/WebTest/.tpv_build/temp/64/6446627d4f07a1b5.vpi deleted file mode 100644 index b3f6895..0000000 --- a/Test/WebTest/.tpv_build/temp/64/6446627d4f07a1b5.vpi +++ /dev/null @@ -1,85 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -from w32.win32base import * -WINSOCK_VERSION: t.CDefine = 514 -AF_INET: t.CDefine = 2 -AF_INET6: t.CDefine = 23 -SOCK_STREAM: t.CDefine = 1 -SOCK_DGRAM: t.CDefine = 2 -SOCK_RAW: t.CDefine = 3 -IPPROTO_TCP: t.CDefine = 6 -IPPROTO_UDP: t.CDefine = 17 -SOL_SOCKET: t.CDefine = 65535 -SO_RCVTIMEO: t.CDefine = 4102 -SO_SNDTIMEO: t.CDefine = 4101 -SO_REUSEADDR: t.CDefine = 4 -INADDR_ANY: t.CDefine = 0 -SOCKET_ERROR: t.CDefine = 4294967295 -INVALID_SOCKET: t.CDefine = 4294967295 -MSG_NOSIGNAL: t.CDefine = 0 -SD_SEND: t.CDefine = 1 -SD_RECV: t.CDefine = 0 -SD_BOTH: t.CDefine = 2 -class WSASocketAddr: - family: u16 - port: u16 - addr: u32 - zero: u64 - -class WSAData: - wVersion: WORD - wHighVersion: WORD - szDescription: BYTE - szSystemStatus: BYTE - iMaxSockets: u16 - iMaxUdpDg: u16 - lpVendorInfo: CHARPTR - -class WSAHostEnt: - h_name: CHARPTR - h_aliases: CHARPTR - h_addrtype: SHORT - h_length: SHORT - h_addr_list: CHARPTR - -class WinTimeVal: - tv_sec: LONG - tv_usec: LONG - -def WSAStartup(wVersionRequested: WORD, lpWSAData: WSAData | t.CPtr) -> INT | t.State: pass - -def WSACleanup() -> INT | t.State: pass - -def WSAGetLastError() -> INT | t.State: pass - -def socket(family: INT, type: INT, protocol: INT) -> u64 | t.State: pass - -def closesocket(s: u64) -> INT | t.State: pass - -def connect(s: u64, name: WSASocketAddr | t.CPtr, namelen: INT) -> INT | t.State: pass - -def send(s: u64, buf: t.CVoid | t.CPtr, len: INT, flags: INT) -> INT | t.State: pass - -def recv(s: u64, buf: t.CVoid | t.CPtr, len: INT, flags: INT) -> INT | t.State: pass - -def bind(s: u64, name: WSASocketAddr | t.CPtr, namelen: INT) -> INT | t.State: pass - -def listen(s: u64, backlog: INT) -> INT | t.State: pass - -def accept(s: u64, addr: WSASocketAddr | t.CPtr, addrlen: INT | t.CPtr) -> u64 | t.State: pass - -def setsockopt(s: u64, level: INT, optname: INT, optval: t.CVoid | t.CPtr, optlen: INT) -> INT | t.State: pass - -def shutdown(s: u64, how: INT) -> INT | t.State: pass - -def gethostbyname(name: t.CChar | t.CConst | t.CPtr) -> WSAHostEnt | t.CPtr | t.State: pass - -def ntohs(netshort: u16) -> u16 | t.State: pass - -def htons(hostshort: u16) -> u16 | t.State: pass - -def inet_addr(cp: t.CChar | t.CConst | t.CPtr) -> u32 | t.State: pass - diff --git a/Test/WebTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/WebTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/WebTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/WebTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/WebTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/WebTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/WebTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/WebTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/WebTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/WebTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/WebTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/WebTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/WebTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/WebTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/WebTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/WebTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/80/8046d45456d0b153.vpi b/Test/WebTest/.tpv_build/temp/80/8046d45456d0b153.vpi deleted file mode 100644 index 7b4dcdb..0000000 --- a/Test/WebTest/.tpv_build/temp/80/8046d45456d0b153.vpi +++ /dev/null @@ -1,14 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import stdio -import stdlib -import socket -import memhub -import requests -_mbuddy: memhub.MemBuddy | t.CPtr -@t.CExport -def main() -> int: pass - diff --git a/Test/WebTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/WebTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/WebTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/WebTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/WebTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/WebTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/WebTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/WebTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/WebTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/WebTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/WebTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/_sha1_map.txt b/Test/WebTest/.tpv_build/temp/_sha1_map.txt index e82ca68..af9b3ba 100644 --- a/Test/WebTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/WebTest/.tpv_build/temp/_sha1_map.txt @@ -1,18 +1,15 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp b57252077e6b596b:includes/platmacro.vp a2c1138ed2328b33:includes/requests.vp f742623d43c327ea:includes/socket.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -6446627d4f07a1b5:includes/w32/winsock2.vp -e0f0afe3caa1e486:includes/_dict.vp +40b053f21c0df07c:includes/string.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +13a4a4b7df5e45a3:includes/w32/winsock2.vp 7cadfe07e983fd90:includes/_list.vp -8046d45456d0b153:main.vp +c8c02b9059ebc28d:main.vp diff --git a/Test/WebTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/WebTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/WebTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/WebTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/WebTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/WebTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/WebTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/WebTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/WebTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/WebTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/WebTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/WebTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/WebTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/WebTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/WebTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/WebTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/WebTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/WebTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/WebTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/WebTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/WebTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/WebTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/WebTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/WebTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/WebTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/WebTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/WebTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/WebTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/WebTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/WebTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/WebTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/WebTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/WebTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/WebTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/WebTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/WebTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/WebTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/WebTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/WebTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/WebTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/WebTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/WebTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/WebTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/WebTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/WebTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/WebTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/f7/f742623d43c327ea.vpi b/Test/WebTest/.tpv_build/temp/f7/f742623d43c327ea.vpi index 169b4b8..a40bf1f 100644 --- a/Test/WebTest/.tpv_build/temp/f7/f742623d43c327ea.vpi +++ b/Test/WebTest/.tpv_build/temp/f7/f742623d43c327ea.vpi @@ -19,8 +19,8 @@ SO_RCVTIMEO: t.CDefine = 20 SO_SNDTIMEO: t.CDefine = 21 SO_REUSEADDR: t.CDefine = 2 INADDR_ANY: t.CDefine = 0 -SOCKET_ERROR: t.CDefine = 4294967295 -INVALID_SOCKET: t.CDefine = 4294967295 +SOCKET_ERROR: t.CDefine = -1 +INVALID_SOCKET: t.CDefine = -1 SOCKET_DEFAULT_TIMEOUT: t.CDefine = 0 class SocketAddr: family: u16 diff --git a/Test/WebTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/WebTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/WebTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/WebTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/WebTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/WebTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/WebTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/WebTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/WebTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/WebTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/WebTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/WebTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/WebTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/WebTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/WebTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/WebTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/WebTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/WebTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/WebTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/WebTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/WebTest/output/8046d45456d0b153.deps.json b/Test/WebTest/output/8046d45456d0b153.deps.json deleted file mode 100644 index 63011a2..0000000 --- a/Test/WebTest/output/8046d45456d0b153.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdlib": "6c658cc728d0bbf4", "string": "928c0ff6d8c69ec9", "requests": "a2c1138ed2328b33", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "socket": "f742623d43c327ea", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/WebTest/output/_shared_sym_includes.pickle b/Test/WebTest/output/_shared_sym_includes.pickle index c8af2d4378ff4ae73363a0904b02af52a938a35e..6d469726b2a72f636d4fe1de41adbf4ab7f29849 100644 GIT binary patch literal 525838 zcmeEv37jNFm3Plf-^bkd#Vx}CP2W8;fY8^>^kjE+)5i?QK#^6IJy|i;Rc#$}psaX+ zQ&6t17Pt%edF+BK=(oD-3A*a8unMlCtLrY{xvQUw;JUk_g2MOyk(G62W_5RVWfV;H z@Z;ZAm5~|wkM|yClg!KkJv8K0EMw3!S zqVAZCZ^1}38Ba9g%dt>Ej{1pPJW=nHqjLIc6aSWdSq_KglWw1XI+DCTnW%|GLt*&{ z@@Vi!+*7fj*A0U4#0vehdqxh+TIxzUe556rs5}<(`;xaM<-|%Y5fZqA^0dOAnYlBp zL}TG#Qf<`AQeC00rcdCfu1hRON%(`_K+H$Q7fmLr`g%j5K&HT|j>&---mD6x5J_H; zsB}>t$wWmm(J&aHlJlx6!uZBYI~xQ(rSgP6<}TFiz`t}7b8(QikEE)h5bkTL7DV1C0$(9 z-q;npE$K-tb4R9=>dHjDrjf%+RMv`xt41YC8aY-6{6Qrc!n;&XLHhJt!*s|O3n*L~ z_+B%uOna0tv^TMe^6}1`jH;oaJLF-C7y462KhDVBqrA8peaaL))2)|$of3>`lEt&? z`M2~ny3rrREAWEipWL31?<7gANxPt{j!P??U?_NUIuwgg`sLx&v#6+pR4+&sn|z8l zAcqy7RxFfXlUGw9{sT`_H%&$14){s))%ry3UQ*Xo;Yby?CdZPA74%Z65|9Ia8Ck6e zE0Iv(7(G|Jfa*l4BGGV+7eEbt!OKumNGTTdhl2FEo<2i9R3h{Zioo>(4T$y?svp(T z;(1!h(Y59Dg_F}to_@h&IbZs`8dpzvl^NXXCc+WCV>SI24a+1X$e)z;(ztqAT)muB z_O)uedPQ8l(xvvq)n1p{$5lifQ1|Io=>VmWq*`?-vD>%j@MMIfeRx6%Py1cUiCE-t zzY;kb4b2>$2+P69=*hmrdYwD$r7Zo?Nb|87e^MQ$r;vK7qjB}BxH{%i$LWU&mpU0& z54zMtF7@iTdJR>Q>*(jh^!EnUqk7}2&!sAHbtHZ?w4l~vETS5|6F0OOhzWAhep7Otr#$p*a&b;vHg zQ)U8ImHtg=(f*b3Y5&9Vy8smic$>q^^a3ZB5eG_BQ&e zq=aquWcA`y@6zH@TQ5-CNIyH`YG+*SimTmoZutupa~zd2x5iyWH4eqxUPLXjDCREURbRpRu2Vv9b#+qu-B^T*Z#T>1Oc}nbGU(vd>nzZ~2MbvVu-XW_oQNxPt zb5AKjFPStp)F9KA@Ww;$Da@Xve%Gq;C|iNA6)tetzGMwA3Vc3RR`Gg^^@0SxDc!=$ zf#dSYh&vGS9(7NJ6??Tj%Vg;4$e0Xh`xniHc?}&l3Q~Yf6HkMnMd2@Gj8(kazgdv* zm-kGJ3=j6X#|DOat{&*O)v?uA~K zRa!f`J+ilDcZ(-yQI!14-0qoh=$M}zncVIY2u{E%bfOaeXy)AJvWT{1R^KZd=Chy` z_(Wv{USy_Ak?Mts>OMG`O%zx>h9kn2MOZvGIwG*&FQtKpFkgh29rvJ9x$Z$0Q`dA@&3cG35ZYBT*finzHm`VJ}cxt2N`(M$U|s8XMHPkuuPiD z>R5#DnK5l8Py69OgT}t>)xb&XsFp?py)hr{CNb49$IPSNeDjEX3xfl*=HIb*5H+l= zo0d=L`|3SeXTpQs6w0M3yrepEcjVBvn~qWLh#$f3BGZ7V0iyz zue)bxaG%RoO}D?4y~2Vf#Re(*KBra0b9|_$*F8Mwa`z66^htur(iVc8b$h-4ro9D4 zC%aZB+dDWh+%xL#y=G!yTrl5N7JP>*9N6Bqnh5t!_V-^?GV#*x2y^kCS$y%X$*}FY z+C4JXKQJa*x@!c|g*I!#-9OMnT;1b?*NWcSM!P@E#p^&*wIa>8ugBFhc8%bQyG|h0 zRTOhdjd_|&>13HDSN2V;o!E#dHAk1Rnz#zDYC_z2x1?_uMh-|n78PKP~?F#+fwwzYn(aXu*LJ+ zu{b#HJ~Zg+A2}p?Qiy_9*$(6C>FjRnY-{Q6R=PZ$ySs9CEb7Bl$$_cETCKQfmCDXC zm;K3a3Vp>sQBB5OULb2HIMxxzt9Ny|g_ESfSHeiv5XqrY;S?$8l`x7cL2+v5Dl^JGiejl@beWqKHCa2Zu&!WnXM(iPbe>97iWgvc!ZXHB*ibEHTv%x+Y4s zjAqKwf#`{KLnE$zr67p~G+`tU(eiI8NKzy?bCM2d>x#afzWoER1_nw&70V2!^1QP6 zOZ#=BJ^M;Rl7iTok{qsZz(1v7e4?jMDv8e#mPt&7=>W~fVVXG`?U~r`9vTpBs#6R; zQ=Y?>4ve9jMu&PP_Ku7VyInoPV@PAo$5f&Y5UuMO>)T%nl3N9mtftwcg9BrNO+2hv znTc_@qQ3aeY$ImK+S`CG(Q%cxizM3Qn&|Hzbdxy82S-G=L1$PnJwVf54hXe&f6usk ze0)Ik;N(mTnoi8*)qrEqLD7>U6pPNZaymhgi;*ab7US6hIdU=X9qtj_#-1aPA{V1; zKzO5bt`$cI=C&HR*Zjy{Hw~u+i}E}xnhuPl8+Do(Q48kz8i731;-ncM!8FgeqUpeJ zdbuvn{*lSvA<>@HI|MRaqci1GK_#JkffZdR#+z`Ar`BkE|Hzo=_GqUSPX|u9sZa3~ z-|Ajy#nORRw;{!{1dZ-R0%@+yqUkOH*Nd&VI?(bqrnv4M8tD;TK@m6BY!(fIwGgD{o2Iwpg)spnqAOVmmrQEwAtiqE;)W4#-tkU=VhTuBmMTiR!H{ zS-ky&d-n?G+Aff56Sl!>+a+m2Ua*1RVMWw|S?X+}y`qUCUbAUGFw9KF=I{YA})zbibxO7ZAQ*~N~FatPWiOYx#-kuj=E0Yds;~Njl6hXkHQ}QU(@nqzJI$bfMNA zmXEtVu_=pExP@M)&?)J!enoKdY}^|6v?u2Cois1pSYrTVBw6|qYNQC;O82u5OIWt%L$VIa`#?;(AP^N z2vUKtJuARm`g%*T*aFzl07Rt|qyfv0DE7q8yMPwG3rHPrXKE<0D(XVi^%PQXLtNb$ zS2xAg&Bd5-AnT$C15C%de#E2`B*e;@P{f`T%`0zqL*Ax~xL{2#PZ7hMAUV$?k{ zk#O*^)ugCHcJ@Ad%mof_o6^h$j&s?U?UjqbF=58$DemBq{lp%1fy1Os zzf%t5rM2k_P$mPXTAi@q(IH&ZGUFv@PqWq*-+O$%uwasOPLFNpw5jfnwyw5zUq`#Q zy{%i3^PJPFr{rmWz`{?27L05ACI^Gj)~<=nim_p-IIea}D;-(-ODv1Eb|s5C(^S}{ zgyvA@j=4 zHWXM4hdNy8RE-r4u67T}ti=lc-hU zrhFu-T4+OgltP214eo&7YRR@lO@!cT;b>P7^-n9uWP6Tq_PYXXlh5l4qQ~43#aq@2 zUqfXOEAv8dQrWAufuy;P&EmOdU)P5Wy1sPEXZ{Z5;S0`o!m4OYIkc`&SL^-_>&k;a zZO1Bm17{{2iiW%)i+-m(^uW=kPFq?xZ)O~8>M$vo-L22hgJNF$RcpMVU{IkA6{Zcz zEDUvDK61UKL4DeTA6{Rn71X&n<*MJc^2w(?98!hVGz8xbGH@cQgo6d<_EOtGw#U^o zu1^;1d`_voF161%Xeo}RCh`nK7S4^F#thV=5MwFmMk6ScF;d;}abWm^DJu9u} zK~H;i!O?G`)FrHVk2&0~EUHWHhSRhcq}l#;8%`-WR8Ew-cxYpY!|GDVqugdURNl=A zj;Ir)AJv$@vI;t2um4%>Wv1flk+`ZByV>X#s1~xp5w?$T~~^!xf{2 zZ%{6{9jcPt;8KI(1MFr@?-`s`3dJ=jk}VQQhtVcTU%3-~;0p*~`1 z56edt+aA^W`bq8{G<|SUXw1NJEX8ewEyZF7G~z2F&iQl~Sl2EK7iM;a<+^@(@W0BE z{~@|!wO9zBWoO*B*^PK1VP33k%94L+e70FcD1Qgn^KJAd`^5Do^;&GS!O>&nA#di_ zGt1D@ygQk73iIMZHA)Lp>qrk$yr|8^p1vLwD09u1ZZRS%85M`gL*oY3qk8iO-v#%$ z*r?LiixY2?Cf+`Zq!f(J*s9f<(~4<(us8&;aMy8*lW=27!W6?fYO&j5j?K1i_wzAe zYcl7nArR_pt@@&BSg3|9PBrw(Ujz@k^paA3h!R~(3Jw;_VxNnRj=(EU7wWZUVtk<< zbXkg!{+MYT7PY{J7AV5CU~Hj|acR+OL63Qlv8V-^lUi(O!4Yv<(4ZTI3tTRM7A(#X z+mN+ioUBvre(yqk8?$PB_H6NDrC(5`KPpZUQsac7g*!23sluZ5r=QJbqZODIF8rQ_ zyDDZ0A0HPDJ{y7$i4*)v-RzG}&<62PY+-(?S;Ake`3tD|uM?*LsX2hb$UzEBvLK%T z2)~fEr!LOpXN7p@Yt#{Oa<1vw>mGCsOe|oE*G{-?#G5wTe<3X`ehl^66h#VXW@B-x z;NHuE9;b*UZOXB}_#7L?NBSi9_{7*i&#+*c2#0S@ z^z`?S2^Qx@E1nMYCiR0ZFm(60t`W=6RnSXU~Ftev@|zc@I3G`{VP7z z<%6z+Jwt>2rDs8$S1ABWWhbG*-Rhkq%T-j>>S4H?))6Lop zjBOun`{Ne!kj|1Yy8up<&K-rcJVp1F5R;aj62tYC5Ok6KkF#8xa@1IG&yyQ-kDX7E za~xD*ovOyz7FFE^R-Ya%>`PT>_Iz=lm5rJ8i*uShNB3On?OieAm$5rYvCYDlv3K$d zDLrBDhW^k0WG8_kx*Afg#eySsvCmi)$>%c{=uE6H<`mFB+AAP|L8&+>N0edAOFxZY>5=Dr)!_@4ONUvEMZ|%I8xOLN!Wbfq{^a}NU`evg-35=++Hq}cx5m<#iVvoMS=pl_M`U?&s z!hXgDpIQ}W&)8$09Wle<5D7Z-1;@)^%U7dw(V4HJZ#Gn3U~mYX`GR9au#Oz&-S(IZ z42ZBIrR~Lti@>hUA%DF+@&W?{tklUn5GR1$!V5!h_TOT!Fa+*z)%!}Px4E)s?G=T< zZJ&BkjPp6l1@8W2%h%Xy{siuW)O&o5@4~l3vP{ zE&~^LU5m@Z(>Fw~Isk3F^_pXb!Jlx;2*p`78e0pS29?tN3y)6r$_>64J#Wj9i zYIImm9`f7t5i#F>RX&dLEZRtOSPtyyWlJmR!6qlFYB@?$gF2Lue0vU0MwD>m@Prbc z_Pdl5vB=?mC2}+xnmIfXmV=SelYMk85AAwI!xQX7kbo3!Dyq2>Ot4U=!7#nV-nSUgTd&TJCmk`*13sFQ<56V#r6_>be?Nv z@5soIEjR4hHceQo#$JtOlR%b}BvMCMCK~%DgAxCcpyDIBnoISd#uxke1xd9Ad>vEa z<=K?2RQZTT8XNlsk*@5$W@5k@AvdKN_o;H&T*@aj!r0<3h;R)EJ0|57Ih?J;9M@Q5 z%fBGjm4`;g`W+E7y9C>O%sR8XHI~@)FNkGTzjHJXTG4z!qlr!bqG(>_9L@DsrpZGZ zO>FuXMRTHWe~&W;1$!e*J2RzyOrwci|AJ`Ng5}WQxIX{xFNk8*`2LYGr=;08u7<)ECew==RqXv2M75Svb*wk7)!15T zZ{uce_#+B{AimX;4$3xTAr_GFHjOhP0tn(n$Scz(6Q^w@>}HKPq5}vbUOP16 z+K2xgv6~WgeM6z(5&Um%8egFiMq~g%gzF}qWxOga>B7uMHRjvIF|Tw^%vD^><|39g zqKJneNW@iK#Lg&mX1r&u)M1VB83Gv}a?Xmh9QwRPqj{z{nzfv!V~uou-z3e{w02Ec zHP7$X7@sAKF}n)`G6!a76E%I9udpJ@vz4T?g%M5E>>VGxcEC+Wp95@}<+%0}nnceL zN3?3Fw?{b5FKaZ<6-ToMLm7foi6dLJcW9)?vBA*ZKuES24E;o-`WkUm ztNTYLdxspFOs(nb55+tII!McG*5Y}M?D+!8a=Gquq)kfH_Hn`PBE2zVTeF3a`*w(9 zTf^D5IuqcRMgp8J^{(c8H)?z@5Y3lP+IFJL(fPKwS@69;@SvCEd9J+ zqluVXf<#&knhw=f>vh?WX*}Bm^K_`5S`T2qsPROIFp=_fsE#trmDwjWo*m+N)}VGe zHiE51C$r0Prs;$I-cF~+k_kaud7_Xwu! zU^Uh#7pTX3HOh#eCsN7|R%DHGftq|sqkNe-%2in2a>i6nt%O(&ZB>mc;sXj2Z#B3& zWG~aCBbI$E2e&6Rwyzb;)*-7o#ny6od%MOK5fBB*mb<|@XH?d4>00+l_h^K#6i2vD zQ)UNyq?A5eSsfqIC?nRRAQ^MYj`m2PT%bq#yhgcK9Ob2cXWC}w!>GV)b>!^3Ws&uJtPl~b4`otnLPj}^(6G?IJ8kz5*cs7hMS zEH2;12egPNDn^iOw?ob`*0YK{M@iZ*j^m9^akO-a;WomSNxJZodChEwv z?H}B`*X@vKy;E%PFFk)?Pv*IwF>6 zdz({4EiJx#HKLL*j_m%|ydKGE1G3sU_8|8r7@CQLUwhm)JVQl&0(lgHbZ_Ee!mNG``n}<6DQG z#zDe$eAAINrs|yjwpvmB8;vRs{}C!x=WPC7E2>}6sCvXvt=AN|&9TZl zZpHN*8dscKBuK1P?%q%+;K*FJdXZ^&`U8!lPaMbkNYqD`VKceSIzrSkNMa%o!0wZPW#qLSE@!YH>Nnp54z094An#ummint+nNfH<| zQ!jSsqAglYrl(srEo(^<7(}x%RmV#ZOEZy|whU_YptjovzH`+Av^W4k%N&t*?Csn^D~zufq^?$>c+aW zg72~-Z<4uDL2j^I1Pv*Cx zo}0BK35@Tl_cP9g`D8a)(ay_Tk_1Ni)blPuu+Ov+o61{~1cv?88yQEVf3kb5L~hJp zlEj4oP3Y4DFyS4Wj(X6Fydig?Q9MRI?oRE*wQ~H(<&NAXNnl7)-IUaH-l52(%*qoaVa#5V1coQohm5qY>d@w7 zt6gO28CflBNfH>URPR?QYtaz|(so=bZ%Gmuwls^kQ!Sj;7PD;LTKgt2glQIUr&>3w z9cS6RwYE)QI8&WB54z@zw}{mSv^4Kj-jXCRzNv1(A#bNDxaAUhe&&)SFyd);=1x^{ ztNm$d+ZDyG)p3C_P_vmkRmrXPtK~4)YPrCusJit=rS4c9EA}%BSJt%kmd;(01cpe} z%_m;b9h-{#y%l+5_L3wpUTRkM&PBIk^%k2e(zYwF?!53NNnr5QEcVWYUSwP5z&@3| zBngb9sQ)}|cFMB1+BTWC^7PCl zNnljgZ01f`_Ey^{bC_$Ey}$^qdQZpo&9R>DFRiM&F?&f87_L=s=`^KtjQ%IA=$qs( zNdjZHX6NrQr>i;!uNNdjZQ>Xk}#DA;suM#hpPE+TBYPQ{!u*DNPu zbt&_lMMj9taCWLTTTa2IIcrv$xQMYC&Q8^4%gNU?XKm(HU<6s+CU-EtDzl0mmbS_D z%q2-+Oj&)-*~!qd%qqlIdd@kWyCeyWFRNRmWQ&&~%xuCWe@PM;bXM1T3bo)^wG$QNfH>+R-gJQO=R2j`dTJ?NfH?5Hk-Y3Ro>E+HD)hK0z=r}AVJC{~0sldOu+B>_6tG|UL35=AhH+&@tn450+(z#2L zz~H&MiAh0LOA$jiZQ^F-FG&I;>gu(ROfBc)%(4zdNHg2DZ_Hkj1jg6ZrH_8cLHYw$ z^iA@YB!SU(^_uTw&|P-WioGFsNfH=)SI@m9A$ZfRUOIP45*UtGuXd%0%9}R#GTBR# zz!1IJ?42|BESH##*-MhZu)TWrrHS5~mVG9BNfH>!S8s7k6wx=`-)H47Ndn{h=J0n; z`7O79ndC1?0)zhMQ$8rmpN&b=~FcR>p)FQj4f8qlIC(K?zk_5&F)*Z@3hY3!5 zlch42B!K~gt2MDZvNOhIX4$LlwD?-Fpoqw)RG&*#;_6gfJrY;dxayCqEUq4ntAV&W z9an>KHFR?_c3aXD^CYTg!eqlw*&>*zl*30_lI-lJii+EkvU=|IN%b|RXC<;_l@%2i zyeWBea);XDQd=)j+lXjKTCBi%T~E9>#MO;)byHm399Or{4yoIIvH0Fy3|81_3F5K4P|p3{d}1I-k^F^Z+sp_u3mb|x21#j2TFfM)GTsa9f{f7j0BZAt#MRo67d z5lv$a=UMCMX|G}p)Z}cT0uZ4YkwwiIQ1?-5M(xZF^#C;_yve7(uf)a&q00qnMr|Zm zeAS>fgxo$-ZAjZ<8!|`Bz(zNPkmrIlrE(?~jl5!wmeZ;$F|(rzS}TZyE=Uckrflnh zZepaY*OY~!8yt%!#w-H|bNjlWULaz+FugdU*lZtkz0fs5H$9&t_y2S!qF*eiCbu+N z+mjgc)bcUU662VsyqgaMS{I}y)l*Y}SVUb&KcZ`bGo#<~)&xXg7o-V%ax2ul0P8a~ zV$GclVaqV2vNhlr#hm+bgqn*nT4xs!TZ_RuYqnPs0>`DPk|@ULlwDPzBo5ju34!A< zzQh}9F3M<(oy;kUH)Ou$kHy%V>=lf_VF%wxK+Qx^2OsQy&ij>YXY(L%Xe8_s*R85t zYnwgJwIO9iv9H@J2Z45_UJeVkF4?a+b5rAzJ)cu5zqeN^0?nvY=eclWifw&O)=C09 zgTC1qX9zSKs<1p1vSmLOT&E~Fj>77YeY0qOt3%UrAQ1A}BA7CW$Ux@PZ-oqG^}7X@ zcBG2MaZ=Kw8fJ_e7qBSQa0$z7`*g;j3AgY*R`_lxURv zzQt7qHltBRv}!?At9||>ew!XU_A0?G8b?H=7R0emRZa+}`A&@{0#A#g8S>Jih+t{H zU!#dQ(}HL=%*2A;XiSd!LqUO6^J5xOgq0RVwEnp2k1CNF*(cP+{a=L^V3=)RNY`Apbrl?=(sHSoofY$T z;DB#a(WI_z^RwEG#icIWn@C%fy7m4^8*?V`;}RtG8mj9-M=CpCd~Hk4Wua}c?whUN z!)Z;Z7C2G)7quXJFSU)f09$1QX#skGfMU;7O}X;q`Zk+y^nPKf^`?h7ZF;z}z(((y zzJU`np>VV)TfJYUHUXR&1!{zMdPcA%XgdUql?o~puR4pY#H+CCp6V6pO> ztLP?iicmeROfOUqvRv)bALlq2SkwS>4cH=3126-m7PIxIVIZ9*a$9n73TVEOeYS}c zJ0=4bB6{~%ot1x%K&g{) z7f}{A&7ZdDS~0!L`}KL4_;$D2BrdR?H=29!wO8q+&w1iBq*l`qo5#-SEkj9kpucR>Sh{IlT zJuue)SNIZdr#K~8PqV!K;F0E%Z7fPyz5(BCRJ^6`!rNwY-=YLth4RWF>kTAH;P#=l zx%wb_7g53@e@PO!uZZ@I@;V`ULrNk)V@VRY(})gB;;c)s;RpwH<>xI)0=FOO`Ilf9 zQkr{K-jXD6PtxjC*_UK%Qo=NMNfNkKiO$I4x>t%FOE{p*khvrY+`y!3ehKz5r8Pe* zZ%Gokt4VKeNd}JWcSsq&?3dWDHUBsn0(bgkmxL2O|9VNRq6Iq}B_VM43q=g!6_Wlq zx(SALQBkDFMr^mef)ThOB&T4U(2>-7F}oqBU}Sp*BXEyIR^2J;Rtff2d(;JP2FRkm zQ18&}xr6*O+t^3#m4ra=_;l@X*h!v!%U)3kbQ(_=g~Pt%?6*`DnHKZ~dj%uViCV8M zj`>ovGj?W|$l3JGMrSL~saP)&7+^*9EoK8bC9&ULNeJ|_&8jrTE{dZ$MG>@D6armO zvy_7L!q$3Y!Rcw;7Jaw9k`U;QnOzbNdS$ZD*eeNvE{b|d6xUOcJ;kerZg_s5f78|D zNA?OupjY0C)KI0^&Uvi*!gS0>I&P(of76Slk-pjJR0O)JW$DU7NA+nxq}F8mBb7*N zPKk8bD-nV2S$gNA|K`#*LR7%$sTcmUOaT{icY+k&OGd| z>@gSU(vl_eB6_y4uh=6l(7!|PC!BTjV9(hr2!Rd{y6!vc_rTU%lsyVtPv2~Gm;zk@ zu-A)R0Bl*>bMUmY_P$ua+Wx$vrY`G^*{kvP+0`%LoSimrYj>wS<=fS{tFvuNp2`W6 zN<$l;9F@(5RR$aA64f-xdL(Lb{3^2@NoF3dqj7`h7W+K~uo34@n5gy26j{+9wFt;p zCZ$jnIv!Mf<~8ATj~fzGN8{>M@%e2`KBdm(gr7viF+T-L_J^8F(rmK(nyD`FILYjO zd~}XzO^T?w3eB>4!G7O>qxdo;Z%)pS;kged|YU}oOOto~&t)9-@K9KEPL5g9v7oKJJutyEln!=@N~{_xq2iizVS9=irKB3up zRs~TOc2S}Z1u^NH>9?58DpjK?);vr!24)T_L0>357@V>=XuL#IMeMHA#!#pyLt%d? z5*-NI+c;@|V0BTxt-#_aRnzfMY0gj(EM|6Zne+d@R{Y5zSXOY4HTKgxG$wvgs6oKK zXjKMmM~k%)aQg87mL>nPXak%a6V@N{2Pgc~%0by){0sX{eVd`F|6eOHQ&soRTGbtz z{*WnSfzw~rE3LY_z${h$wBYZos?&^dR1QaD3ybkjQ2<-JX!AdJuG8G7QZ8iXc8cwI z5aoTSdRJciFu%2gxaxDMN<4R2$m%pG*t>lJMGo5346PAdls=2AN8@TBu1?3*1)c=6 zOPusqko5N{(IJ@zJmGL?A!|vCDo{ifKv;zAd1D6~fCg_M6j364InmaVX)4~Ee*Txd z*dnOf0er=45wLGwkUG>x)L7Ie)fYib}b%VN#8UqbU&&iOU2&F5Wme-;*Ymhpys#;=5h zIkto*BOMfT9_d%c6g4{{lyq?>E7^PKrOoCl*}Y&h|IkeWr{(grpcr#>>&FYX_z%R)E6)vlQjg-9N1%ae$VX3^x5`0E$@LCB3zmoLoWLkt<~)P z#vH9F(o7z!YDK%58l$sX`eviC6gX#_z_g^Y32~BvMetS(Q_9BIH(QYs55nec|fUo?M&>&0m---Yj`Tn$8N=!5 zYaNSrvB6=lcy{rSIGtLTJFF^(D+#-h&qi>Sp%Bu|{F@%Pu+`q&gg~E(+|{ZhN>ruI zMV^yEiYRSs$iT~?g$FJy=tNQ3l-?b2fIW|OniiMZdV$(T-DO8y?To8ksk5}#(^Bh( zxVkZ}Zi=g$`_nY1vR+bLA#)C z*xohzs?dr&$LHd;qhqDg3N;!EE@}leTs(fzd_(J4dHWQ}TYEyBR;QF!j}DD-|Mc?LeV7$e0*~4$Q0i$!Gv)>k=b&Dw88#D zo|Ttj?m`~-tsI{i8|WDp%z3#LX9wKzatENCbN{|E;goUOlBt*-*K1CBtmlwm8LzY= zyv%969vmGV8<`k!PxOrn=8Ti0Ood!6it}W@XwIvxIIk)`=lr@n){1oXN&%$DUHzpXjZ?r(C0*qJ=}kF?_xOl=Y+!PH zpr^loOt7feTdAF1I8JUe6Zh>^pzgqqiCmeN$!4G2@#N{h^T)vVG~Whf z;Cq_y32Mx4zyxfl3)EotzjL7tD710>Xb! zd3Wz>k-dtyz1`QfTkg&c|DC7_4iz{Af&wAkR4@<{f}lDS2q-Kx5K>}oU}jwL#=>+I zgdQ8#Dl~`sU8^{#w7Mr%@UYk>%X!c;>)cOuZ$sP8=a0%n`H_3S%Tc2>;*TE)|&B&tWIrpQalq743YmNGa!dWL$f3<~H%d6Yx7 zI&e&}iqKn%J~2_fzsJ=-G>{Y*FVV@qpmy)z&;X|O%xl{$z9{zB7aHMEXY$VaiX|2JXC7|McIcRe837LnH3AaLef;=@bfJ`SSvXk<>c_7cpBNY}K{ddU zxw!^W)$wZ-*&^&xslwk2J~O2H_;4s_c|@RXpSFe7e8FWUQy_A({oYE!~U;A5wuwpL3uQLya?JCi=e}z2RCb%*9Rf;rj~ChvPgPhh~AV z5IP?oaWL}U^2t)l{L(y`Gqu}lma8o0`yG@tdrg-`(JpXelRb^fU=sR7%TbcBha!7o z$Bs6q_qP>1Ogd3LG}=d72+SLd1@cVP^!2H7_{^P2Q?h>p&6OnVpAba0hR7arjP1(4 z$za5PB&hht)lfKUMf-~yZET?sM7yy_@e$39Y1>Ol<-JW5f$xeYf9)g*tMGq~;|o2z zC9`dqN3|=oZFnxrY89{2o#g2@wb&zA zgKcM<@@^Usp-zxCET^tvG#v8w&}kh?#9~ft7KPBG8>TdZ>j#e{yK5)K#w-+5Y%Xnu z$>6iRwF3d@1Zl@g(vIPfFBV9(7d^Jj#7yVG6=I>C$D%^)BQLJ3pk|0LS0aV5w;SCYUPLzIRv|=Kp>xwN)Vo^V4Ki0HJfesPpPmq3WxGJWEPmU_# zsZe-Y4tkZoPz)OaZK=o{jSKr5NXvWH@@jEvu_<3IXdLpom=g3_xPlkQ>ReO|kF8Ml z*NRh&s_}rL%q*mJ&;!*kbjEUV_>njKI4n*JYPc2*oUo+_x*?$}0`E04$0in9>|%?K z61EzM8^oywMy3;f?@?|?*wPPePpj$V#-jY~br3g-lRs9&)AFa29Zlspi@8up18jR_ zmbdNb5vKtwNCWyp(=?i(MXjJ>Z$+z+3f$6Y9fSk!*R@u$c*xnuF0XH1+;c98;7SLytElbCjxd>PK*f`Awo%;@^c_Wdez>Z zp>feVin!6H1RaRJSv%<3JLnpm5X}*RqRluu7G|{JP|x6mdv6cLRS~_167ivha&6*V zM|uwo^i8@+_J3~k2NiRPz~6XoHrCnp5+L?~!8p2JHWXor?_qCLG7 z<7mVsT!9e++Kj4nOYuV?*ADkw?H=u!*e_U|i1=*Aak$a}aW?Uo*6#7izP^ER(Gf%u z;n|F-6BTr=MikMk+^!L7e@7-=qMP5%R(u^eUu2EOw};Es-9O+O6kb`kSkbL2er4UH z(WP^sCim_g>>C_#O}KmMqwo#8TdhdnRD9BBrD7eow|V4<()@}D37l1-*(pTw9F412 z#nrL7#X#0hXq($!&RKb;`OT#uaU zz%bErLw>^I9fWSt&wB?4H|(=dL!u^u3G&N9e+Qwv_w~~r^(Mf<`2|y$_AOY_A*yZsOKYBT6ZNBU`%Jxw~wsgTUR(d3__*184R! zvq36~^j2mzWUpWZZrt6TJNTo5DcUw(7UE@*@_=Gtdu1VT&uZbaSkN{#c4tmm{JFid z5V%`2ul+36-c9y!PC5L&y>bw^QPH{_7N!qB$|;Bcv{w!Sx9H{dBaUp?V|BZ2^&i?2C3cg& zf)ThGC$C^K6~xi4IqU=W3P#{Al=E^mCV%rmardOKN9~n|!0i|37cP%tZ^mHH*eel% z`wrIRmdJv4A+Y6pvWKgy=$nmUyFi!wyh)Q{IN-AmUIr=ud)CdrrQGk?9(yGs(9_)5 z*QWiBZ5bSz%PG6w9&v##*2W=wn)reouGua2s0;Kh-j>@8kbPAoPh<9%_P7gls?D<= z%Fo3%Z@um`ceu@Cdz!o7=JoHVyEAT{lR>$-=H|_nl#!!u-tn`fbw zjZ1G{vsMlczIhe9T-<&0jL|Z4{>^g?EiYH#yveC@bPR6F8HO%kw!zM}n+gjL=(%|S zpHh7;Rhe5f#6;z^><@~kmympW4o^muaOCiW5}x+EloPSY;eI7@G#Z*YJQ0?Ik>!HKLrF-P4|!&u1?} zjyCx;Pjz5_`C6K`lq76*eJ?&1BX(}#vu^4*(*>%9={7a{!G9KXt}u7MqAEpyi&1*T zjx~!NqD2#J;Ui9}t?x9oi5JSRD5@C#S#p*4m$n;?4epa*C4%{U`m^`Br*EK8u5V9bx-?DcQ2m zHdC|cfV;D)E2oy5M1G$|Y)(uy+ElW2Ghu%)>JBIZyKJ`Z3f={ki1M=N36VATJfUQ% zxyq@zOURZHrplc{spdCQE5<|Kqe`^d?e+)#QMX$l@c{>j)5#Q82a7FFF{P8mgNj$A zGEa&n+K?g|QLK(occlAKO2aa&c#jEG+L&0Dy3#_Hav&g(=&fRjHtMw#2fhiUd8b&K zdfoK+h1Sjc#IkHk2{YiQBNRm1NS`bXPuc5LW<>TVkBH^DD&3<*qyA|n6cfqyJ7T%& zx;sVT{(~WbEzwWJ@?0~lOb^RJ`G^uOh4J?rv20gnv88@Aa4TTvuE?S~ zMTZ&*WV%i)(`=#A+>#=)RXR^B)m2$SrNd~%DsZP*uB)@Sh859d2gH(Hn?=^`R&XMO z&_Vd5Sh~5rj&efql!GFcZMJZ^9=koUDS_>AOe|fr$D^T8pcMARtzxM*=~P8GPj`yt z*{JgrY)RZFmS$RNZ6*AShPRrq=0_~!8VtHm{%9Yn06*;YRo>;CJylFDk zxKisYP_Uh1$z}xWo(i~UVi8p!*8#CyVLGH5CU6beJDSX%_uZses#|lYPSH}0n~qp< zhn4BjF_F`0idfp2s!PLE>Ve!Lp<`9CWH)AH918nr(uI!YbVvL*iInfHC8Hdf3DC?- zH00*o1vXlDilv;T(%z69P$FKD^1V+i+4UKf_D9^uTt zi!>k~5lb|y?~MfoQ~i!usu`Jz9=HEQEYZy1NASS?H)45a1S)#uUezmfG@GfU;uo#f ziKUtu_e?9(qOGR$7RL2PY3Z%Wv83wNPH4#6pJnMhn(k^MQ8^kB*r#?cjIL*%M6p1p z4fD_}xxF}~ULf0jC1vY58C68e_E4$V#v+Q(Et>6-QnB^Lrf1xu>+SJUv5hE!DYsWu zgc`(e6U%l>x|QNY-89xYrno&YjYZbq_XuSjOEkEH^0X3}k-gMR-JIN^z8z4fHmR>y z-wH%8-TLBjXngKn4Uce;aAV2|30b+n-fLj5# z0qz9c1-K7zKS7NBMK!0%9>GtK0veYQGy$#z^ZV4`2{*0B{Z9T7VzG04D)A0pft$31aL39py~A!9I+i z9soQ9co^^);Bml{fTsYz06YVD0q`QAzJ{Oyuoa68}*z}|Qd0KWh{19$=O zBA~vGpaHNMum!Laa3Nq1;8MT=fCRV}a2a68}*z}KJPP zYzAxr>;zm0*aNtfAjX~*$7yBF>NW`K`&jzSO*qk zQ}z~=$Xfv)1AH9teZUU@jjITn0NsFHfExia;C8?rfQJE}1N;#1BS7_Pf*Qa@fQtcR zfN{Vvz;VEj06zv)uOX-boDbLm*bf*4L;*3ty@2-uz6^K-@Jqn6fE8;ARsy;Ky8zb% zZUDR)@D{*d13nCR9Pl;3Q-G%d&j5Z2coFaiKm*C0H3GH(wgN5$Tm-lja2Y@X3<0hK z90nW(1OTrGya8|rAOW}sa4+CNz()WN13m|M4DdMM-vLhoeg^nC;J1L^0nQ<9W9I^P z1NH!}0*nFt00wv?;1UIhFBuwo;@O29dQ za{--zF2Dd_FJKaI5TF3205QNZz^#DW0CxiJ0^A3!z&gNsf*AYxxmu$gMLT>Re(wZy0rmp+0S*EV0geDvzzM)fKpb#8;BLS@ zfCm5%0v-Z940sIiIN(XZQ-EgxzXZGp_yeGEGeHwz8(=%28E^^U3c!_sQNUFI8Q=kg z0TIAk0B;4n8;}Itg$DPp@aYqPPXfLScm(imz;^&Y0sIv3Jm9y0nk@vifQ^7nfC~US z0eb+K0wll?;4t8Nz%(ET_!Gbz0q+336Yze(2LK-fd>rsaz?T3|0KN(MA>c=VUjzOd zuyiZIGQb+ZTEMx0^8lTIF2G*EKENTs)c_UX2b=`l1h^e=2jCvSy?~DZJ_`6e;O_xn z2YdtYeZUU@&jEe~cnR<_VEHzJ6@c9+`|bF2BR*Y>PZ4~&44)*x5a2q%VL$*d4R{0K zW*ehGLM@CU#j0gc-UngCk?+W;2w*cM&cqia}fcFFb2JkV!7XV)bd;{ZMa0GB1Z~|}&5C{AP;BLSJfCm8&13m}%8sMJ+ z-vfLf@EqV*fR_OkXA-OgtOA?`I2+IgXb1EG`T-MwNq_>F0vrPz2fPh%3h?KEzW{s~ z@BrW;z{7yY0bc_=4fr15S-^9EmjEvVR-8q!5^yHqEI=!u4bThd1B?SE06u^MhyjiP zZUejx@E*XQ1O6KDVZdhr4*?znJPvpY@HF6;fM)@J1iS=Tem21hz!`uu0WE-5Ko6i7 zFa{V0cmX~@6c7X43b+k$7vMdB4*~uf@EO2o0bd0?26z(i6yO=aF9Cl5{1MP}4#9H3 zcEA~cO8_l^D*-)#s{msF55NnE0HT1m0&WG|3AhVzKj1@vPXj&!_zK{wfPV)(3HSxz z8NiExKL8r3H)2hIZGi27X22zYD*#slMgdm=WPk?{21EdF0lXEE1l$R@4{$%=Q-Dtc z{t56Ez`p_hogl{k?KN75_rs7;GYO$?1~-Qi~bBh{T#63e1esL zU4Y$y8v!!lR={n52LKNOz5#dw@FT#F0lxt}52&LYSUq41U@PEaKr=y%-QKLdzzBXC z1>6Xb0W*Nt0d4`j3Ghz9p8?(v_yFKzfR6*d2>24<3BWf2KLq>;P;~)8HDD*;Lckbc z9B>oh^?(lmJ_vXe@K1ne0KWvR*-5Y#a4Fz2fDG^e-Uc`Y_z2*mfNui61^5HtkAU+o zBzO&A1TYFX4mbh08*mTc?*U%`{21^bfSQX4Y5|u3S^!r9dH`1e#sD6G7Z3qN0dED| z3b+$+7vO%thX9`jd)fW@g0JZ|Q0h$4q0D1v^fP;WTfB;|` z@MgeU0Cxf219$-NAmHx-UjTdy@GpR$0e%j63GgytE$Izg2iOU?5O5jba)1jk0=N+% z1EPQ!L5wZEL{qxE@zXtk{{j3jzZmG$F0Q6TYz^QDKm|Mx_$}aY3&Hh(cL3fA_%z@% zfF}V@0Tw(Q-`$oTfVU>uWtnd@9KV8p(}&}|^v%X_{4yGjZzD3Zjkq`UQ|>KjmW9`TpDh%Z(p7Q(l&16_d5cLja3 zq1HIeR1n`GX!J1Pb$~Dc>m7E=z}EgN9=W^Gg0Qqy9j62nE_E`l9(1XPTUH$kARl|t7xK)tp=P0I2+IkXaigixB(CX%mD5N+ynRu;H!Y=0lx*D zMZ-^aHsAn20z?5ZzRE&^N( zxD0SPUzAOQ{ot_K7GA;6mfZvi9$cLMGQdETU$I!WAdYy9j!_E!+? z-vK^B5Q`;NxG4b2$r;5RIXUeK1+bqgvD`mB6ADMMolK7KEmm}F*@j3c7WOLc>5wlL zpyd7|Zp4P?8?e|L`{{`|HjZYFqoL`f`h`T@OhArK%ieG($v#m{SE~6rXwf9QWD|X> z!Z*6Kg`8garGVd)WOd|4f^T%L)R82+mK-?}HOKrjN*GD+qb2)9HEp$4W0drXrSvWD zTuk;h>JSoj$NjHs6=r(MBkVg65hvABqeCr#MF42@;yzI@<}b_FSL{| zXy5AV_dkM7QtJemtQ4xfXwx@Lfxk?Sq=c&@pRrLdQ(MqgSR>=#uFh`s0)Z z%zI@0^LFY2>2fpu8D6@CcgNB#ye~%SpeLrQ=!WUF(Fc>r&;d&~#S&|j6TCtzCn&CV z&^;9kdbN5BpS8rwwq2c`E?I8dEw^`ccXs%ang`pbQK`8H8~?;T*!U;z!Nxyv4>taZ zd$93O+=GpOf|pfdWrw$YcYD|FsVT)L`+TxDsrg8K22banQT!7;YZ5EFIy$<#+PZxm zQ!U+ctEV%m`PqCHX}O;b{{%mq#LB7ej<&A0c3(%kx4o@fk&}$OobVKUFUUi2;(I~(C%%xzpT~EF@ZWxzPRDnJ@Zb2#1WyOoI%47N z>fGh^cGH2dEgsJlEg^D8yNB^U+|iDI;*NIw6L+-ZpSYtP|HOBi@TbEbCAQw(yIN?& ztGB(~*R@;jPHNWa=kQE!o$^oII_00Zb;>_+>y&@u)+ztQtyBJqTc`XJw@&#dZk_T^ z+&bl-xOK`uaqEF#Ll=<-apc6aP*r|6>T8`&fDUUXYHbR?N*@KKPguzvH)K2)Kjr1 zaZ`3dC-TlN`n*d8 zOFS>_GF6V`WW3fOE~H>TN1n^GB$xU148t9!$!gtnR!E+3*}u?ZO;t}%%bv?8n|_RT zsUX?BwAw4=O1bbWa54Rl=__O|&Hf6Rv~~QI^2D8bhs}n9%p_*N!%M8qD%t#N=NaxU zka#^cE3s)h_=2awSwvdH#J-Ab&Nn=&VDb%ytErZNeFsn5G5gbU(l=7SjaHbyUzTo? z5wFrXA(^P9i+mK3Ow^=WZQg`x?Khea&7$^)68J;uyJ+*GsKYIT(uf#IH?}T~tt0!emcq2n8=U$$@lylS9(|C%)s|G?e z^wArhL{&6&l#Y&55?c)1vXZkkc%MyqYz+x^8lExR9jh|WaL%vxbh?rCz%Gc$pc?o=b9mnPdud9n)$ zl*D!e``mk23*K*Qev#xnS4(rT;YoA2seT4_qGq=0ug5*=yxLCtW2V(P>n7HT_sg%& zh6J-#XTu%!+JW7?*}Xo=?K#<`Wywm#E;D@bSINJlLCYi-p_BJW(NgbX ztftw?SPxz%znU6T%vwzixA5=~*OPcCIO9xGHW?^{X&iwWC3;n8nw(hX4fyF>Vr_fJ zu5P)lv&+-gNu#~)j%Hk72k@%PB2kMpxWI;a8Z`hL*W@|4z(#qRAjKIsO@j+;9BHa% zWC~}7RO=0Iq+MbM`Lp~%52a#PtN;t++v7631}Q7)fJ-FZ!PBDNuQNQECt-(E4?bS_ z!N-%#tv?t^XL<1PB*i_VDJc5KJgFSed=_~10L|CwIcO~{Xj;BHC0CKW#vgJYm;GE0 z8x0)wi|i;*i}>~k=T9YVOsijHL8Psw`0%Nu8w`(4U1P69%GKVPm^*UZAN8sfY>R=ISpJ}9Nc%I1nzt>HX0?B+Ly9MVCve)AYk3h0- zpik^(0wr;V_1#{2t#FdP5w|@{lEn>j!R%CuD(Z7jDM1Qh&EAAeR*{O#ThZHC;3Q3*yfVa^D z5_O)g4&oE?@g6s^1U)UzmQ@m)<&KWdmiFD<-BTS?ox3|*n=?t-?fShwMZcHbffq^; zSlpXR%HDx{o4AorM=;9~ub;P5+kNf3Tf2R`yF1&vr@C9(z0J8v*t>9Fl{ZW?ZctD5 zA#A1lEav5x(U0`T>kUuP60tb>zSD7Q@Y1Y1xPQ-FT6?-kp_}eFS$`<9V@Ie!d$_^QCm` zZ}?q!4!?^lgq$#@Po-dgi}W?Tpy#XxdTRDbels4GqeE8eqbFpa(eCpFl(0c>t7QC4 znrl=eeuZve599u2)EH8^@G3_ArtIC-t#~?jx9sZn?50WCW?W`p;3>T-=F3>;6}*Qv zq{LR>3URoxV;4Tk$t zDcBQu?8?kja(+L{aGOQKdhIq^!sHf%R+L)|cW0$y-$BM}^Pk6`pj|u9aC?EoHL~}0 zF`DmyB51j9G~8}TvMTdH{Th23uXVQJUaOSGT(T@z?M1S3(XX)|&X!AV%DT)Mt!aLn z4ew}@Xiet5GgsM9k^8xZ`>oT` z-rY~%5%E`{YQB8n7)>u`Ze-8n70xg`*)-WQn0M){s%WB$I#k%zYYq2nDN{;cr#+1u zhc6?)&4%>(DXKK1FfG{ihCA{SG-yvq*^*UzDVME=dyHwS$rQ_Z*A0f7QYly+p4q59 zBImblhFeS$turLj8qlwzJnFR@vVPfONS>dBhoLK2J|S(Ss@3;&`QTT!x^Veq($I8T z@K`IEPBNY6MI(o0N0pN_G~U|bZJpXR)!n_@vwN2!d#KOKO2^jY@f(e4^48f>OHr%# z)59lZPXG#?n(*F?C!B3~f>p{*hLl--s8%&nnXS%#gg(K&9l4!jc!p)tdUqrcit2@u zdj4{fBu&v8o|2W8osEpvW<59a9PQe9hT97yrd12P21KIQN~XQVX2WALN!j^$i8cAp z#Z$CP=NfLdPTQb8H+QNq^%5pZ!rxa*%r3%ftjm9N_QluC`Xbq>wKW{%kXsswC2Epw zpv?639K%!jnhn2^wHnF>t7CYkcBydL$T;e~~uI#Z*=J2uZ*P^lbV`J%`U@RWLMCf3k54^PRa&13fUi}Wq7_o&wB>; zN2)UDKTI^mEP0j?v-Kt`DeK4k7StO76RN(B?%!T~cXTOY>CX-Un(ypFwctpYER77NnDz3Mz0;N_c9J-&A(Srkze+ zn%wS2yU1=t*0Xds*-0tyAk78NmUn)doV-&P+0^WLXD8)hl=U`)*H^Ok3dnNDfNhR4399mhuw~+(bQ)| zArEJdLg!s(dPe@BL@m0<6!qM8ORH3n(X@z-O2 zN;%RJtl^P4x3G8Py*3!L(VnPX-eGt~;q;B#(XVu>il3`r%KFt*!1zKrso9_BzmUo0 zf-hu}o`&MIG=kAdszWg9bSedVFS5^8xbS{&UIm7Ufyp-%y zxPMdjqjAue$)k1}9%X$K`z)T?H02M|(pbdr31Blrx}1$IN^U~-IozGyqL^JT*rJ%- z&=`=--o~grIqBG!@G{xWh{@%Gnq!iF<@k_45-rf1oMk9%!yW8VyjY{wW4TS5NwXF* zCpG&jp0Gau$*E^)SI?jIMRJl?X~)E+MZMl|yOw}`9a*o)WSw{4nTGrFld^B(2}_NY zZ;jzrO2fX*3oG*w<9$Xw$Vttm~dYc0RA@k^y+PvWjDap(MANXj`0jSWiH z3{R?gU9pe9Z`SPQ50JO9B+b(`rGCz{fKrBqvC8HqXaB*=H}zw-jE%)=lBiC9nl7o$ z1|jCBSh;V4jwQ^lLhMa=2Vqpy>de)2pQ3d)Mzhc|>Bg)pxgCMlQy5#_S#H?WHZ|4KH6{Bx+kDa*T8eS_q8C$ZC9>0>msqy!-4EI_j+-yjgS%gXxTh4FJTwvA6 z`wYXarpe3%p1%sE3tV4Ss>ky!1)h^?gW)Y`k_3xU?7txI2L4VtKN-u_kcOWON5<@# zZ5=JUyh>|Fw@3E2>~8Ti|9|4%1X80`WdzV+)K$Kh#nS8{0y>L`woo z0*o;}Iei{d7u|h2{SYYEnP6-{*vEkF25gLNFxcRjm+ctyX7Y36$Fa8;kIg=)Per63+;+byINyC)7?BJo(rhv@B?)#(5$5AdZ(-k)({& zZ|_0@W>T#cEcq}Uu*}Jz3qmaYwL|^!UF4!g?80Ngq)ro+o*n|HyX#!L{EeLak>fwr zhJ5mMC;GduDyQ$0ZTJxIodMk#raDVxfO-b&<{rvG&kNvIuIu?l@||x-`T99d|_ zR$U_fmDlXhpT?r$p(@_T;=rC3biABV>mR~-5m>(IY?V(iwNW~Ben2G$QorISQXB`v zH{-o7z_s7T_Ox#*54u*5x6K^#QE2r(h=qfI0qqE)x=gwdnW9B(3HznZH4eJt1V1DM z!s*upI5z#VuF#)z*414hyjsjM4|bUz&tm^XEuCpU#;LTJS4u(EHNwa3Z?>&zf3v`1 zz}MrgvF6SrYRf*F+9`6awB$6Ov|q-e&WVk>CS$!u+Oa?eDykPBSKVwS(!bAKFAli+nAMB^amIQ{p;gh7VkUag z$ka=}V5c9BPZXohkcOy}G2bE2KrS3AjY=kSdJ;%A==U+x(4>zU$Ytgk1D$p>^kFHG`Xym3j??rb+Y)t^anPm3+F(%* zbEo~545YD0ryEFj!u}^1>VV(>Ohc3YXCRm8XMOaaS%}DhP1`{C7EpacSj)6C-SU5r z&aoKaDT1f>k>zA}cGa&Hv3OjvH94dlI_em<`lLv9mM2-3gMoQ((7PERErau~R1OyF zP6W6e9C-viw3-xN-7Au%R+DXMVl`RNRVM!|VpBn9q^a>3uN@{&Sp?M(Vb-NR)(LG& z(6nFJL`6}ARmHIpY~o@bGefp{M`LO7Q#G~#$e^juXT*!PHxn<4une2nCEO*0GyPUD z)qM04c=bqT^fE2YMlS=pvWT-?I94)HDaz{)i6ka54*jJMt{xLXPEAM7BW7CP-DKP% z;EVLD0uUrOhc*D}31NL=${I_K+a}Gg=Qd&KfGsIvt3j|5W)UYt5cMr#=QtVf_hwGU z15D**%AyxPP2_dKBs(&m%OorB5|P3oib17(b$pmq?-kr8d|j}#*ET0tmkN55Ui*Mc zhwOC}iKfF)lEA3%3-L5v$TTzwB^k&?atc)L705Lu1E5|OhN+6&Uz@1N1zRp7f(ea{ zl$76@ff+hb>J4EkYk_n~Nx(FPAtoQzu1FrtSmm_FuB1ZtbTrOe3K3dgv zDIt3YO8u$NK4@yfK7c)0bCwIt4pfUeWpmWAtTtL7D(X}?wtSADs=pA~&Pb1erJ`C1cTpv{J>D*lH?(OQpg+iqb8c_X}$Z~4XSRUk| z-}Sg1sU&Z*mdv3Kd2TF_wXu>qM~twBRevjl7u`OJ^C4OseX4xH7~bn5V#qWF7B1>A zC=hnh;8?XP;bgtiP3y4AYb?HfzkYEK?}-KS8+i3o5#qF<6_G=>+|`q!B3vL*u8x@z zH99NdRysMU5+V{*{k_n|YNj-(x9k&j%L1o9cmVfONKT*Ccml8fLGTx2YoLFQF%WEO~-m6#SXP$0M-8xtcBuT6C|zV*dS^sb^JBLrWkB+t{nz3R=s*{?T`kq%VlxK3u@Hajx26Le3#3*E&Qfio21%WO zUrG^`CopQ2;4B)t%^;ZRq5dZ{66=ZqQzvVj(IGMs>nKHx%>byi0=*c^nDXsrRI~w` zTs<@;!l`wdM|pn>9tJ?2DbNeCBG3m$!bz=L)Hzy`>K)bc0eRDVJ#I$ctk-&>7z9%1 zX)*LuY8(bBv?l|m-YGas5G5Jm5ZhE3A}g;E0Aj{b?W}<_k4h;F2rMO zC=GzxB+xRHrehILz&5qTLRNQsAK?3vwFVi79K#u0S(e79m2FqsG^>Fz?6t_De(g46q7gz}rOEFpZr`)}%BuxIrbcYy zS`f88!MI}k?p7EAqIM)0J9hQ8!VnO3U4pUgnwC5SMD0#6F5l6Thk&RX1Y@am>#FTn zU6+a#`tJlreI&uzbKN$FO&mwVs9OYQ*-hK8y7D92_g;C0FfvwnM&RgDAoX#w@Y9Daa zpW}8@OyToOUFFWs?%ryptGlbWAFs0(uN)qm7_IKXny@;)eHeEmr~yIvCxdWqh_F?5 zx_0CK47d+$-rXk9XW+6?ne+=LMsXM4(*1R8?@1=oSf>A}w>lb2C3x~@{ZIX~zU4t) zV-F;|UanWU0R+{M@VJ&dq*^$F`v`DzLSrf3pT`P9=LF~FP}rkg9*%KA*l{6LH-yv# z9wb!&HJmqxhl+IeD!c)AdA)KFL~sF?xmYZMkB^fX@hI zPB#r<`sNM9)$B*wq#hM1&I^!p0At3T-Ahc3+wKj1O?WghZVzs0xju4GZnVaXU9XNx z;=Q1P*@tDp=1On5Yg2V&XIIyzEj>M@4GF0FhOk%#S7UIC`s(R~f_f6osH+A9vIy#1 z89H*Km$|V*B$)vngP^`GbQX#@Ss~U2LTD)UtYECr0>!02D?oIC)e8=ORO&o@O8h;+ zUpzWAj;fJ3OOvvn7BD4*`hmc&ESkqeVxpZBp!tC6We?lR+Y+0yz9!gMv>ix|ghLZ* zS3{{c1!Dy+O-CIfY8w&lIKb*R9DFOSu}(71!>7c*4SfAwaxv;a9!dpR;OOypo*8vtvz&2MeVQCN`B9aYP%K-R2!IVpvEv622yf$TRfHx+u zrl=nalHAXnAjv`u_k>K;cp4(a9K})zg$cow`ur!E^e`87+#A#*Z0qRc$P40_Y~v|Da}| z{)52F_0`Dt@QTa0x!4d(ssM3#yuKed%>K0?$Sv1E(D_?tgA3iM@4`G8hX8Q#`TO4XJ_fQ>efmHN5B4)ApJ*!)L1+q#Zb9^ zR7MH~3%ThfRBKVEl-sXAuyIoTRQeE+DmcNAolUDuuAHV_>hFbAArLkWcOrlGW>Vwa zJZv9q1(DO~)Ho{-(}A&Q>0HW3b71gF+;GM0%5z^jxyvc$8!WW?x#+|8)BiQMpFY?L zR!O?psg4N2v-3J?%+3JWo~8~Uzo!n&O7e4EKqH)KF(`}b`ha{?4+_Qeao*6Qqqs~P z-og{wt^=!aoDF%#4UEBq!VTov%{HuVCJTWiVar8Vv-Rz?NL`#^bS$XY80_i&h?^YM@ z&zs_HWf;9c@a}T)%+*xq<@9h*b$su@P*v{IQ|}hsXEZMLk~e_c$8MA}0I2l4B2$NTN<6CU%h&E0*fl!f=8J z^YHY|oz;#KE;lOocUSxIuEd4}UR^2zEXK2dT5O%dB2kOs37qwy8p?Q4K<5)ji7BeXnL;)TY3245)_4kdU^q)51y_%0GQ98()%^_a$b@_zX}5^`8)T@jpWLo{h%JZ=e9a*26@+7fgt=JA zV$DupvNxkNtXlIf>7{;%4MVLqXpZk02qm9p0l4%J;Mq^KY#8F{l8-^WNV7c(-YM&n zbpbX)hCb)7HcR{3pj{tQ0ry@sm(<R6QXZ$CqU(6JkI@eZSClX)F(BM=pY%C zPYKGs4oYM3aJ7o-G4mK{ZQLzb&$?I($8H;tyM>~{jg4Ta4hhbm5J!&JVN-3v@PxjV zA{bxj00}BC-V~(&?jiB40d8Z-7@onAyF2d}EcwioIK;%nRRcfABou|q%y>}HuFF9S zbqF+5@A-n@-LCOyuxkV1aC0&)|DF`cM_tHMV~{xetR5E7H(k&uQN)}t3FO~UY+X4t zmjQF z?w)G@mMyieYWK#Co8?MVbFrHYfL_Vy3}E?ab$kNeLH20$_y0r|{g3LXuwA#UJ~Se) zwpFelt;=bTgpT?K1a4dy@M(c?dVt_0a*kx`Nzuns^2ayv2lA5$VP=5p+ak(E0p(U0 z3q~i*i65QDE-&KWPC-%VsOLpygL`Ix>maD_ zrX38!7jVKb(tE~#&RM`llr;vJ2OBFKtjrri+Gepcb2wJRQ_jE+9}8aNn0^gL6{ONCRex?Lby3;Gso*Egms)>!nf>I9*iYb*}T={V`J zxu;aC^!D`jbk$0=$VAX3G?@r`M@jvae#!HM%O@OIwc2zfODqC(YQQn0qGf`_uCEcY zX9O5oh>#|?_>W-y($ECmAL0aEh=pazvlBa68%Utr)tMsRQZ0?n%k^`p(hNW-EzZ5j z1bI&)t@}e<+U5|>rvG6~#KuYyA^YPwL9b#^VRt|W3t(K2sQ#1CrX_g4ot;P8MGUp- zo3vJ}vDFJj(V-+FuLH13(vHf&J_u)Dg;=jw9ZIeoz?p#l{?eA-?((M2(w5B~waw)X zSp@Z7VYDuQvqc}(Cw^w>0sAaYN!Lhr;CH000b&BFI&~KUfH7MQQr8LTHRk+2s(RJ3 zTqIr_tm|{gjpJ(v5allj@T2gmN0==;kPuJgOiE3-$Vk?UX9NUOB(+7TEEz3T21?jz zL`=np2KV8}fSf#C*HP)+*x9)W-vZv;vt?svZG(kVmjO+E0DoZqydQtXfGr{QA>pxL zOs7bVT^UQ;u8WyrNh1Kn; zA?1iblOdO8HK6&A{gSSC=MJQ9SA&{rslTZqNwcbJsx=QZ)Rt~nqZ$@3{WxSpSlzBB z1a?^sU(>6PVv(_d1ZzdPK7_r}lKw`r%xXbw94C8gX9dVEtolDR z`bc$jXaa{YR$>12RI z$;;BNKCdZ{;`KYd_mM~00H{d~J&tOETv9`84dpNZ>JcqR&A!9pbTpJkL#anKeff8w z`jCqOQ(x6wJe0;le2QDjLLnawrykdQF#kF`n)Sl~sHZdsJczr>ouay3J*{Ek1De9> zcJ*so3jBMhGbJ4M(*UUF5}6(M6GDs3a6m6=Xz~A!UkjlPfcn0H_C00<+PKV@47Bev zBhbcazM`S`m9P$O)=LARUKi*E)lnILsydvd(yZPR$c6Z)V~XK;>vr{d!QF@c<5ZNZkOaztGSFW5aG<5<(jQ^_PV9)E9#m0QFY_y?kt72%n6uR5qHo zjE*Z!HjcxEOr{!r=H|{yM{iX=o7L0RQLdFXIN<89QvzcX{f2=0kN8pjjr`G+gh5bK zDT$$p!S+ZP1a&keQ5iVU9tne>{R(c#Fwl^w`X2zGndK1l@YHdA$vE#v0nm|;RC30dz-po3n;BE7duGyF z*9Ji?NlDa(O0EP#0+m#`*TQNk$8HRwTAq@U`77>Z{Yl0%!nCgs_9{M>;dMTzl zJEbQ!K0EnROjStfK?Ad-mtv}S2)$K_2h0)_FG$@L;<^)8NG$cPR5&=PCbaU#Awg0X zrljC4+b5MGsf$xmn2T9bdIHO`h@K!vv=mcaBJ`FeDoc~5Gx9Ywsk%}ue~FlbW!8y3 zf@K^}W+js6BJ_Gi^`_kPnj=ZCuhi)BqKte!SZH963%4^!-9q1bdQN;)5)5^9Dg~@29ZsBj zi?J3MwL@@B;xIHYEaxITAB^R39GSrCItRaWM;rJCSnW<_#!{uF%mSlsNO7=WX^A5+ z>LV!*a_^Qn0;6t8agc+z#1RpvU$^nq*YZMX#JttTxdC&vd@9mpZd*(MypbU#;qDnBw?!>a-j1i5onQQ#DUJ2 zM4&~IF@aubdySKwRc#{rXj|i)T=f`0b-=;y?wTRC1ylze>`fbIh;0GYCx~sdGy`lG zQ2nZdZ3Tko%kQ^QFZ+F$gKY(BiERPZ-GaSbtPnTXOc+Z%GgNijt`2z^#s=~+#0oy^ zVHi8e#}G@nUoe(RH?2(J>_}SG=N;%gn>5fO&7=dJXOjk6BzZ)ju{(eZOt3kg@s{hN ziV{HesNgLVJp8{;ztz`RWX>wf*+E>rD1X7gu{#l^V$jrAh0Y4>;0USy0dv!qlrnMr zKEQLq)RTg_SkUVFu*+!yINQ{>bRQ>%2Y4>V$;xqDDnPS<>f3_1d>qx?;e8WWKZ$x8 z3-A#s^lksZK71k3+^G_dwS%Lc)jjOT_jV4HK+0SZB-dMy?8n-Ep)}~aZ`M1y80x#4 z2;xOOB_g*|4fV@G*ich0qJ33#IgHatr9qeTo5J}m%{g>?KDhc#p>ZOjp8TFe_4_YMmQ9tL2{lj;>C3*Pmx2R_)y{R}Q!>Jlb&= zwyE{eeRMh?l*Lki28QZu_yeAo2T}qgGyBz_i)<&5g8SRq0Y(I9p{nbIhEo2%K7g_| zz|>Ic-wUf1q~iQ^RsbKuEXB2v`j#`vgiM!0g(fiSuZ5M>X6ENy{bk@*%0{)`Vb_N@ z6TasJ;`)GUN|>)Oh4v-^2rw2gc z(P6`4C9&=K;6=jYoB%xr73&5LbGcvsv>h-%t7T0)-~uhumpMz|*FHjj!4d&4kjsFn zl|p#A5mN4Go;1Il8Ndf1X9Xb9FYKDn$F8OtU=TQKE?);$CkyBE0wOtpF>bJO67zbi zzdBNFSe7Z2I<+awEFfNngQe@p3rim@nH^|xyyml@e=7en7Y2vj2yoRI!hEgiUY4+F zd{>S#;?SWH37k%K>)I`9R{n1}Q@{s`6V?aKCVax_Z%qiNK+A*=s!zP(Fx8~_-0K-Z z_fvRvfoSiF2l@KN!^K&6z01pn! zCpjmEt21Ku8hV}tTwNmEjl;?OnB#CVP@1#6*xm+b4X!r&oSh$=aCV?H=YD)DqYcg) zTy60=J3ltz>_9D(;B#R7puV`!bB3XzrJ(8q!qymC_SYOk%Yv;5%mEOY?wb!MFV*%W zt!kUF4NV{efQyUFC%%1hsBQ*46G(M+s>sZbIf~3cg|rb8GhdQPf}#0c?GT@HXa`{WZt@vS5qkf@VpoX!EAKVFF;lR8bh31i<|z^oH6L zU64iape8WtUzxEImYE+TV-s(wiEt zv~AX-1V$Z7dzASxr$-s6B?Ds_`wLCof~e04vlFz){%>aodWZmlRmKiutY}nUa9O#( z<+5^tz{=DS6RU`^G9c;^mzDclE-M!Ztn{J$bhu)y42XKnW##^s%gP1Py)v6`xo$~1 zE+Fa&mzDclE-M!Ztj0!4`s*o8SQ!xYEti%1TP`aXNP0C^9vEn@Km($_g+duBV6lOO9u7LDp?9mnyYt$L1Bo9 zXxl|b#ii~2m`mG(I=ypacV$zpr>A#grMrLAMk#69`THm0JXYT*n{dP8KfK@13lMVv z;aiKtbzFU&hTH(vf~dcd@myso`9Bu|v^d;ipqaf{MyS&QL_(+|!tO+ejILklU(XGY zqF}NsVrxod7pgRYQ9l)iiApoS=c_aWxD3xpDT!Rq2;@zH)ZYu+lbjCN!jNt_KS0fc z6xAa8O@}h7T7gjim{o21Yg5&xU}88dSJ_k}5Y&RGp9?$Ja5Sd*xvAkeaKca~cG|sl zF@_pM{ld-+L+9tF3>`RO$l_G99-6AsqAWw_=cWuDI2k|l!8!7aj-NoN<-*RL8tJc1 z$1eq2W*o-&px$CRWAnyxrDr3qmhUh1;BM>98`5UAN|-G#B51R_d4E}}K%@pD5;a=Ac?r`8I!mG~U^Nctm0I46SW zf~eDt6#DCujuh%t{9bBA`1+9QEWoKR;5M6ECnp-G?W+z~M+eHqGOnx}!{-HXD-BLR zj7|QEbnEIpJ7Ai->DAdN+P@J?R>*1x}RXU}ns<>mSyzLHs!yrFMlV>xcN!1NlH+difFM0s{WmQM6H zmY0Ty>*MA{JtN*CTmX69NGid?!D+x0TtW`MM2qDfDrv11qBQW%iCj3)bzbC@smnFF+h z8ebK!=;CUo(ZuELg~+s@pkwN0G~_oq z4FgeXtk9)1oc}24U0I{|B~m{_JW92Gt-3}SEb7-U9_~U%H&T|9j4XK6vYZT}PAlHd z23|7uP=l)A2h0PZhwqq;?Jwb;wAH1a>XuS(cXdmpzq_Lwb~MpgY-V3F^V9{vNaorw z9@Kh6>LT;k#rm)H>Jt1-Gu3k{Yqkrok?&g=4ZRPr5cdjphNFf@-5Jad^&vp0%Ttn9 z%5#RK?u@5$OOUp22}0#+rx3Va{@5*lv}Xa9E^XV=g>7pKP`3z4*RFFAj9uHtjFiT% z)yF_f+q4DCXh#OKrLOnNg+QLJuk>||$2scS5@atd!8z;N(xt8~-F#i=AQ)ZS#*CC% zU0X2f+A^Jqt`}|7ALaCveU-0lJZfbxvxeQC^;v2w%&fN5PO#SZ&vF^5YkfHgr)bBS z8khxRr!8H88Gp3mD!jlfFOp{h?jK{Zq_2NvxWHvt6GJ$oGL|^5#tPiGRUaNah$e}{ z8rnwT1^6+6)W^(phNh?duEq)4GvdW|p*Sfn?;79b;ZZAdt@u&gVmm72b~TpYcDuu{ zvEsJdi!?htIJ&`Zsj z;ZX~njM>4&W6&4oAe0rj`aQlU+v6Mr_W1Qg9CT8>g(s2U;;@UBiQ7dB!Y;ZX zbM0cE-$gw7UHoFUi#Z57T6ZY7i+wos%0618wPqMCms6c#v>@!G15#DDf(#P+CFUx~ zvB_O#@R0I8~Hw20p}o%xRW>pA_~^ZEf~ zJkPN3$~#7!yv!fF#zkAPeK}ky3}eYs7_S$`_g4$@T(9YW$}+gH{<`&@7hbplFXRgw z=w+90OnB6K>D8%kexq>($8S%UK#hf1IoaHOiQJNj^T&ycP|?guYufc!*HIeA7(8le zBzs>_*PGmyapL7AjfJ0(WhVkOv`fAgp zU+@Z0;`J2!1Vb8+T5OqMxYrP$*3!G80JK~NjJ+z3d393Kf=6pBCL2y;8<&PT2$Eg> z6C^>X`8ob7sedsKaVxS!)|sKUTrr(x&rY2%6ZJNr_FptUa^2$?rKH{hkMDQw{>Wx>?3+;TCMI zICU>SA|t1H3v*H;gr#+=F$v2Y;l*jB0-Q#hN2#9(oootaQwye04xXPv$*19)r%*u- z6v?1&rvA7h#-rAs1i5w+nQ8Qd$(^sQ#_1-un*2pytQe*%AN2v z3D@@Q<`%MK=7>klQZh&FaZ|gYyU9T~UCU@2Io6gM8ojY@zUsMIJiVJY*|9mzn3o+J znPpnWU~Qg*aISSxX`XH&X=IMTzLEW;rIF1jPrsGgW(38f*0$7LvU$2({cG~{rUM!% z%d%idvn((KIm*gGC|G4-3R@5sL@iB#w3X%OPmVr!a+Jmkzg!)yzgKn}Dg`XOt9Qs$ z8AfJbAlxo&02c;oY{c#JvJB7#+%YHn|F}P$@Tj$Yvo_WIMm4{gT+ttMJSJnF$!R#l zauC|fwCxYOd3f-12XOpEXkyjhUEm{AUgJ2YG z8#7W$V@Gp88)Q$G)ERz<&#{7~**7gU2jLw+_!v5&E9@4AV~j^VECSP_!mfHgXafPW zwSIqy@u+FdvgB*2aS~W+$(k|(?dHOZ0SOGM4DsX2ED% zGc3`XRDN3d+HAK{o1hI=*exb7c+}mJB_r3px?9Iz`AcD+vcz@Fbu$l3ocX;aj$kSa z8QYp+Euq#Fw*15_%Pkn8D!alw2amcdSeSvCZCq_M?KCj0_Ck{r=2FS634 zisfXhQ5w?1qn2hRdZ*prRUil#hHL4ppsCs@=ssUi zJZeFaR7nk>Y4()TqBU7sCmStWT9L(ca|Dc8vKqED*;`8!AXQcnpb|S(=mQ)e--ujw zr`5mx{v^PoR)Kh?zMZy_q@6}TDQ|lx*rtUS7-iYC@LkqIX1fz?>0ap5y$E#U0Wt^S z65V~ieSa_%bk9t__p$1jXM*18CInH1Y7wiL0vV9;Y z4V1zkvI^fuZp;MmsJS6u5ocvvd2GSyoTaRfEvP{uIfOqZ8q2QUi+k$5GeZ7Jg@2Y9 zGpmydDyT}`P3ft8JZkA@e@?*?q{FlXCEm>`eY12K6D-}tMFiiF0)$*T7v9~B{*k=Te?)ZrJJwt90a3q z+nA9ut8fcOgdXKh=$)V8IYuk9QJ zqix%mkus}o3r1~QrZdpC`l1A4SJR*IHH}B#k+heaSZeHmr6y{Q7gci*P=)m(l?7vu zEnO+rei=PVQkQu;`Ou(JxCX7HvcT}xMLuklPb z2jK#p>DtDOlxR%WA{K<_H7rAb%u^-z>+Ug)(wI4$0Y6iiM?5ap1m&C7)zJbD*bWY&27I7?TUBFk zsNgcc^8WP~7VvTK`lv?Kr$#m;eA2TapQGh)S@a++2e~$~<^0B=I;_hJi!aBeAkMjR zV-}|J;GO};S-QaqeTII0a6llt&<*NypQpquSm9CIy6hgX)bVr7uoe{?ON3QhO9TZe zStZ!k3=1h&WzREY#SJz`EiIa(?Th;kGeay9Y>BzzW>}!Ln%^0;#_BV&g!%$C z%%wUWwTAUBpxNwq$kK2eph)$isZ$PA_C?<&@u>MHCCSa#Wnw}O0^DEh{6k<-7M;~e z%TL0S-OINi?5ztD)@s`8?WEsZJZ5^Ejet1_h*{FxcxlAqFzj0y~-4Z+cO}oW-mhg!3J9uprcxr70jkOTv4+LfxM5 z4^wmWM0nJi6KAJGTN8jJ1%A@_{Ak5T$ zEIRGS@^kISg0QzPNOn)6JrD5}zpr@o`x-2uau8(OL1*#JcQhB`B&_-ZK!0W%dtW*ak7y3^Q#aLDnf)di4wS}kqZK0H<(9XCrKu9j*8qj}4v zbn)^v-}dpSC40Z_S$<;>qicwwW=U>_<~E6{L-+&lKDW&HgXr~jO2znyM=e!*3lvL) z3lvL)3l!U$VKJ)(ilxQXgXPrT0>u*H0>u*H0>!pwSa5-2TQi+$vOsy98fIX@qt>v$ zK(S=$j2xhL<4ce)JmK3N9yR~`1xgOWOcy8?oiot#a~CKUguQh^=9;~K!|yE~{oV%I zdk#X=1&YOCmTsB23ls~&F1jFd?c$Su7xCzKF-V?r5N5SNv9#EA%RE`2q}eVPC^-mn zLdm9H7KFO8GzDaS7bs6rbDX?*)SAm*pyVJp3zV0!pW32)V~Ozez2%A+D4C^g&B!DX zk|$DH*h_mE*f*&HdLuk)6+~7m9KRd{dF@U|@L)paAe=eFRNbPVV=@LSpu3>8AelY@ zWTwlTY#}TNi%z@!Ml3(~4GjyzUOOPJ8F3Cdt?dSoKo`&W z{sxb}ze%S&7brOh67f*;$?84`SQecHZ_7{4XjzY8LD*XtWNr(TZ~J}4qu3z}y{w(Nw->Q`jg}r!R)$D8S3!~K`{54jX7#^=r$Tml8 zkK$S1f?l9L%pOI4W6MaFoi@QVeUXeANbsl!qPkBIigGmb!0K`k zE(C(jSS$#w&e8;kwL16$J1TU9E|B9X!q$0qlP~#h5|6%{4Empg(4L#LMCc|hSGq~t zN;m1WzAXm(L*HQWm@(L7gMtQ|gOIq%)UPs0&Ow-!o3ym(^{ljsn@pK!q|G3>Zqm}E z!CIPcpPPKycawN*;U;qs+H;eZ2@#sQ ztB@Q7DHUskbhS;tm4hIM@2Ej@e(UNMZ^Jp)N?DTJ46s7e0oc||mz+GQX}zI6{k=~8 zajOrHT7MEo(3}ffZ&2SPjYqBTbY~<9@>E|ALesqhi^GDsW#aA? zSdfey0@7mb*Rm+^rr$+8`dv(YG`pCC(6oydhh4Nx+%8%WcF_fyYZu@0yNE}>i|N{e zUCcq?{#N`*n#EzE&N2~CWixyW!Y(=>&C7MRfW~s2gXfp)zCADHy5FF-SX{-U)|R{; zJ3r;RF5dUhDVIH%>Y3dCHdeq_eC0539k;-Z-i}X7qntKAF*;o6aISy&O@A!$sHOXm z_9^*|EdzVYdGcFi%(#h1&A7ednI*#FnI*#FnQhIm$SIzAM?l}nU?Y3DWT-sQ!I>YVTXnc^u;w604yAo(dbN** zq$_j;_Fdr%EnVS^uJ-viR32Y=$D>xB*jx5!)oic!u`H-8%OX)$aA8Fbg1a)eAiQ(H z(gesn9dRnsh0A@NsRzf)9fh%xYIy*kSE$U>bw9t)5uk--^L;&*E@!r-E4#AVN8OTS_ViIX2u9DgF(aik zwz#Y!C@ou3ysyU!mfY79#Kar~ah}PW<`#xSY>5g?i#N@~`+EM!A7VV}Ax>U>ZkhrF zvBFa09I(`q6;|N>auAT4XBVRB#n2Xqxw&N`6D?7Zg`tXEnCB7jd7g51xAgp5s*G3W z;8Ckg_IGAp*0Dr*D%%p#`xkvXZEJ>w9M3fyuj|`(iRtAroC1H$ZZMU=qwa?646++P za?d(tU2Jd>kEO>|p{2)*cx-Ei+pI6*`4dXdpom8;Jr-zil(v!82&d6;lvW~oQwOO1 zi+KK&(vTJ&wKVcRyRNe|KeleM>AfsAychan8#AQEwS_C`>>vdm{U^Slc+`R-4z{cZ zr?hB5mKHDKv9yvckj+`An}gsksx1h6YiR<+xroQk4o+?dC_jfzL+qdVc8^D`0&zKg zJ8dILJB@w{-S+FrHi>(WDW2OT?qX{pv%QGN(!Io|+X1@q$d`lAqq}b#Gg6{4o4Q*_ zrtXfS{M7viEmQX(_l_Jo`g4D_<57>9oH3lAD#lj*^%9f);sS+2|G~oeXz4(86yMP0 z&6XDzCgie9yy=V=ga<14PFKMo>CcZjMUB6pu(TmOYGJR_8qRNQ+oK1`#{WgejJ|lZ zliPaqpJPh4IK66#Faxzj5M5=z!M0{tNbHTA2+AvJ{5uLt9(dG(nxcknqziBw9p`Q3 zppG4&mMPFMzPjsO+VGeDc;Qh?Gs_gnQlo|}wfqz)2cc;SWO0}RSteczWMQZx7p7H~ zn7Vo{1pd9RB0Opp&3++Z2{OgD1n0aEuyh$pE#3TuKn?;l32V2F87ZZ)-GzW9#f5+s zEPo-8gWxR$EDVR(5*3&^XSx43hny)W9`%s7m*rX_%yKOeX1TUC!@|vSv%78C1Sgox ze?_tBJ@BZ-o?#|tv1vXQ+hk(4F++Nmnb?2u1;wKlbXJ*|rNvCl(#p@oauD21%!07D zmZqPH*%71xIzWCVmOpIFCI264gUbUvYHgUhrfnn_r_oQ!+FPsIoPsAoY)+9Jq6yZj zIS6w8Aye11kW7wZ0=FmYr>Gv@Qiw;bp5wt0ItDg^O>jmho+zoR2B)*^PiayDJKx-r&dbz9r@pl}7P+(t_t+P}tTW zSlZ?jdX~0?KpBGle{OOLW6yC|@tt}(ILl<;QZ*}VD?u{Lvqi2rI41D^KHKE?MVg!& z4K0wbOz{z|@`qQl!?M&HmZfG`lKaQn8wS!ceyNYN#J}sAke#&v(4T?z!6nmldm5Eb z&SA9b>5sELUFP+4ndzw{fBHS`_IgTMCOr0$mXxgHJ&l6nu#wl(sC;rFsZ~#ZBwssp z?mEMVb+uw?9m`EmWgKSFQ_?ctAC#^0&*^CtTxVtJeVlRmBtvf1)8EbZbcNT`6-K&Q zIhDrZq3Y0n9JleD1?h7#lD^d8^f>=c=ChW4QE)i}G$-Fes%GN~JoFGG`&NN(iGm~X zgl~z;Cr$2*BM_~J>?CpZZlFs)u{oD-@Aa)T18A~3Jn6oP-^_0N>7m#5n=SA(ow=Wp z2&U%--9H(cJ!#8O?$eKtXcT z0+3a(_LsA85R_n>*Ox17UjnBe1@8+5-r~^{fULkjlWKt$IGe-ji=88bzSpC9L&$Vz z7ND(d+_31|)HJh2qP`Q&Trjybp7dNusuO{ikAfp!NV!;_9$dH$H~iV-gXM16$C@>uf8sEv8j6sR6xp90R@pB>d1M{ z)tNvW1(%{4T|hRBx12;IXl{FjTC|~wCrHmrFWiZ*XDQG(f6=v!-)kSqt&IZCUEg3FpVw!811cTBcQ!9y?c7*WX4e4os=`O?U3%aMH` zycurcxxOGRB>d^7js>A1rXVeM#@f^4sh%EB&FC?WR@7q@+cH5}V zD7dIIo3up%5ed+}yry|Jly#tHWoMXUAH%)w^M+6UJ~QI9@z4Lj70CTxXHlkt*vHRNmEAh#<3zf`3^1xTt(yldn%SCC4AF z0r`_eAX?QvpS&hB-Oli)+ZkqxtNh zh6LSFYP3Jbp7WZ5v$0JLBS;p{@-%ps(O^=2Or11?eH2_Wuq1Mz)9%`(FZtqqA92}# zvNHK&lq{N>uXwp6X=&yKn!rOGkn_aXjttIiNTx7$YoMZIFt-o`Oo^aBnt>cdK zyZk)Yh{OfoxkjX9`56>)qTuZ|G#e)j zS8p$tOCzQ7!1zJVej0GWv-g5gnrLAb*(zzV21;5|;?xOFum=(aM-qt{(^l9H<}eAL zXPi6bkg~g$BUp??!6l^VIh-b1-ZVa5y(RMjGlA&b#UeK(k7<)Hh~$+?Odv9cG(~Q? zP|Ubi^_y6`dEWIrZ#JA~237{6RdvNFYLkY!c)E`?Xx~x#j(vw^?R=4GizLY@Kz8_I zt86ZK%3qi$pD0}X5k{H7d1o|kr_y`T& z`|f!6eCo*clYDqq!frNZPvySPau2E%6xIiqReyHYrp|}6mYA1&jIQ<4>8K{;P(c!p z2*HU%X$7KHs+JY+AG7i3onAb8rc=|Zf z!T}g3E)ayeNI~YjV|#(;O)fC1NY)ssNieEJ!LdM#?YRePCo(tJ$V1CRQv6oTsoRbAXvO{Dh;^ZZVwQMh=)B(_ZLB&N57gP?}FT*GDDvoQ_ zLo4Aynl7kja`{8wdZRBEsn@45CbNa8W_k64Wxzu$WPlXG_`x8fpgcaf)OD;*3BbTb zdI0#}xC42i=VUH4I!u;;>CB?bjDokf1SAPs9yu~aj*@p$WVzXeRusm^tV0dXB#}Df z6gkVa94xAP8FTV-dLPl=ZNdc6@QQ#_4v$hse1)536H|0zqseib1fknZL0aWrDy{X= zC0yirkc-S{o`@dKBAq5JZjF$ZRJn8#5bRh)!7*1NYty+^PsxaJh;rrcq(s5f0&4Rr zXs}Qwwe`jp$UJ{1B?^wBsbe}(`DU<_lC}2i%lmyK%-s-*Dj9udk=|a6BGt=01#Goe z5v)m~;K+_JF{1K$P5uyjSr?HxW!O1^2xD+YQH^Ee2S=)v;>h@@zhZfhH+SA+<_?pF zti@(%s=(Ed7?TJRlLBvEi8!6g^t7bF(hw<#D{MMm!CHxA=zd5h{|tB(Tu1$+Y#;5K z^R??f0&r}|QUIEI@21^)Fq<1+YzB+__!p<4Uz}58kuKZ&Mf)g*b4VdOq<8Mkta3kt?;j)@2J^5D>0r!P9!3UCtjHig4~v3B*GV2m0Onz&Cjc3N5xaEY z%-TjUEF{R&e~W)KoCF$2YV|0U@_&HXqFNz>txbh7Q5?gG)f zMZw{gWMLYWQe0Nf!j$l=8Iv{Ugp*+rgtIRNX}L&m>Xm}*pu^K|htY3-G93kPFPSC@ zCe!4|WI9SdCz+PAJmDECNXy?(Aqe%Dg0!Ehb{bWYQm0YXEHhQoVx~%3`I%}I{O!n8 z$%ttT<;u@gqu{g7R7q{Ui4pQ%Q{{Y*6~-+W}MB+N{eqRu%}B~@msq`DPuM6X|h zOf?E_($T1VUXwq>l7}YsK_dHxE)XpW>nc4oz{OpcH)Xoalvx2vI!4W{q)ysAw?o=8 z9YtB0l6n+Y+}4~*>ZHo_iV`FNPb57@WRImc* z_GUx3nGMTqzdoN`Fhs#6M&vEX(&@*Pg%p@Hl40vJJ4B;h6Ae+=IkOX$&De5YQ}Ze; z(@|#s$*|`_aFbzg z_X1UrcSgY__V@L%iAGCGXeudph1OKMVDeEpYfTWQa%9n|V^B~)j)Kd$Wmb2DA?Vvbw9Pd7kGlItT%!1Ym-UAjJ+Z)IF& zltE8*nNddKse(QDD7fT9T&q`Za9%x$cb+78N`V}uVg+v(C66|{$e#HL+xDjN2aFcD zR{Ma_f{d~Dh=CTO;BtIJgX@XoW`$93S#g;t-#m2++zzSn#Zk(dT=@{}jYYxzeWIv* zW}hgp$*E#+%ou7Z53nOe@Ad}egJw`j_=9FplJ~vRj?%wI!MX7qw?txa8j^ubHS1oZ zBz2aw7+Zd~PQqe2T^XMp8gq>%3cpA> zYq9A%rO|>-gUR=CU$A_+QDQ)H8aA|0uY(9%!t`CpnyVdv-c7LfX zAIrvNw&vQQ4LhqtJ4?f*eP|o04;~zOBc&mwTDak(vAxgBEu6yW0z_HZy6XKzqN2#`tS9^z=zyW8X2h$ zSJrRrN`JrOQheHb9Ed_{!@lbH`i={YyjRtwKWIe1WW#Q(u)exs--g20J$nnED2#8| zcK!J1g%=k_N@Mse(O`8*i*{MB+~r$3P#>ri>ir5g)D^}C2g>-!c-r&9v2n`ml1ha4 ze$>6VxX^0^o=ncrE;Xh_<2>1z))Kvn$ZKjQj`-g(&p3r+BPRNhk0;6n#jW zHG9&Q6>X%R5rvi0Vsk3`kSa^glpue1G763gHD+{FK524qs3H)@jqCu_a&VRvi{(1L z8J`^;|NRkOVlc}K(@2Y>L0Wb+RIpZzf+J#j9gfN;akoYBv2g-A%(ox1eO~KXBwy*D z<&kaDVxLJXzt2(dY@eg@&7{wmf#S8Y{pE}IG#b9cFX=)1GcdSRjI`N*(nig}q_@E} zaZzyDS)bD+B-QmM7*YsHD|LK9&l+V^zL^;1iN)doVqkG#xKh0%+iSk1&tCHt zeAH%U(`(XVuSqMv*HQ3nucPuwuf6ieZ^`A1P0JrMIt|L#Nx8D*%c8Qf%xvl_y~v!0 z$xDV@UXx*RgF`TRqu}p_d~=$-q{@2ztY6E;{QEWW^w76G^nPhW2KcLy@MROj9Z=i!!s&NAr<%WQn57afL$vxywi zresa|6InVMfzqQ?9CJF^6w7yF^K`B0IYxS3Ys!~|#S3TW*nBxLGUNs}874KZz==h{ zC3w%tiIFN_2&E8Rpc>CWqTrkL5J%-hQ(|QV;C38Y2|!lCvvp!*aD{OZWN@YJOW?$! z;5$Nrw|MjbFncFPme+X{uW#kVn!25!bb79_V@@@`c%9VL{z_^jdeU;08wH2i$6nY8 zTpW?Ph$JtG!`8DzsS7~ps@v;j!Rsa8MNWG8<7_XZ;MfgpvM)sx_Kh55fo%I0r6~Y& z?b~@?-_A=54|-1iS+;Lca8&t%zAa6H22t2Ia&Y?=r6~YEONxGKM&J7j4*T$JS8h!4 zZC7Wf$@@&67xU6wfHYY6Bn{o;zP>1ZDT?w4<6H-aFCDUA&zBC9g8fgkgA)bEwn*FQ zMR4$ylzH}&f+RWcZ)7jgj)F@L%=98TWF7^)1c27=qg?`k-7cB4{qrq9s+g|<=Bqdg zP8DZ!mcSf|Of8ZZUgJ-C8>Oz_^G|GzuGT@GtC2scd5}*!$!fe4`+?6t&?&=WFz$pP4uKNV!|1}$Wud6@HwAtBvqbmq!7v3#&rJsLipfV zwjd{t$|ozDG;=42uYTkUiFFcy7D#CXV6GPUZZ8JCI}?NcA!~tAaQ(J(<~EGfi4%o= zBL_DIMQH+{`I><#7S{|8S+DSM)4Uwe;oF0(d+_Z+#IiQdefUeP_HrP;iN*C6-^5Ce zHKaKZO)&~?&bme4=|Yot#HRTceo)J!a=0+1a*_gTkc~&d<%FjWJL#H`a2#KDIyhkW zD=o)&Mun~DTScPb?2_eIg`cjwWFt-xw@H)t)bRZvcQsA`o?J@-S}!{wm@S30%G27j zwD%fsz@+WH#v7~xJMDP`ON)X_4mS6fT}YaXW=diY0;@DPrp-sev1pc^=%|#kptd?} zQ59F0$)LMyDIWf0;=)&r#9U@kks~dZ{76gAC1{lg(Iu3^(ei#OqVs(OazmjL!xg10HPDY?Nz!**3gN3?AX*J%dJzQ|#e8Xrl=#w; zEK+7Mkfg|}LEuhdo zxGbIKG>b{~3Qve@tPsI0j)LE)XK_?MG&%2!5X85an_TRmY0gVAzS2X&e5EHThooc8 z*cAoW#j)_4Ie~dbUoaB8vc;b$bpe>`g0tJCnCxY@NimaNrimSU83mUW3lg5JKMcYN zk@y#rqPqSSNRv9G6 zSEfi#Qc*qEX8XxhQe`efs`RHUM=D%<-kQ|7)ko$%mU-$&7&D^aAMkRTsC*v; zMQvpB^(g{!;a!20`zkAU5M`p^QWBd}lp)nUCdyC)oT&1>myejx%+aT$kJ4 z{MzJcgs%oBMf=oF8Ns69r$UNk@?aRe4Y2e!cH%ONBrB9#;aH<&(bT+Z%9<0aYAHeg zq{Txkp%ih9bNl{SuNUh1UZaHiY*lTxmj{voOOIrbUwVv!C#6T|lmHB-qz8buDsnCI z0+r4%8c6iLM^V%4G6IrgC-_3-oHK&lw>RVAHVSSsf~b7+kr9wET_!u8pAkgC-?of^ z-01QtTz*Cn1)p_BKx)hg$UHwIh=ThWK~%mOWCYo?F1SC5gc&s{>ebd;rgg>kTsEm* zYoa=-?gCY9y+Kruf`3fA-KczClRw00a-ur1eG|PEawJim5RB@SR3O~qiuxp?baF{& zR;Q_hVTO09@xv?&U22vblFi>E!QKl!>9!q_c=m!wQUY;9aFj9}FnlSS*b(BR$%{|H z5-wQZ&?Qr;bjdPrGTTLjV_-|!`GM`~`PnYwdy+iJ%~zh~2(#!|8wkWuXUQzkHCVz<0#BlnrcA$|kU}i5($+`+Ln)~-l#+RVD2;;qp)@Mre1uXGW+BbpW9kO3eUVPYpt=c+2>%}XKUb$Yp!svBA*NbGp z^&%PMuNR}>?s|~`TrZNI0L(V5l38ASrTCkycQhSe)QgTFF0_}P_SNseKa zNo&N-}-D#I$N=7-fNxQU%n`Mf57h|%PPRbu-l>V;K8 zFsxG2`3S35d0ytK)XOvrt3+a0B~mu5Mk&uItP+z>h2-6^8YSH_tkR7$tU6@9u=>Y4 zTJ0}p15NB&+-rx;@KO>>Qh zBur;R5%c3=6#Q+AhvY_QN#XM2VHAAU@sQLQ56L_~9!A0aco>y$2Jx`H9Yk_raHQP% zhm)e<*JDb~>2MOM@^BJ`xCvC_+n7=Cs%!avcf2OwJkaFCQWEyf+dG^@2*y%MDiCwn z#_TiBiQAZc#yQEnZx%+0#A+{*ven)wWmD~C6FWlu_N%>&ReaZru}VCDW*d`mjGrkx zzuJ3z%Vp_I;^$7IPu^Rz)94c!MjP=nQgLW+TJ7=z&aPGgGztzi23H`Y``AQb#hDzW z;%xUuqcj2Fy%QN+SwrPtUxMk;tw zI0}xOq{&DTg)a(|!@15#MQI9v=Tx#K{^0fU-KHn>BfCvckd+`IU=wG1+Tze8^^xtkyRkGrP#^Z+_`1>Pj%$w_jqczq8jH%M36Pc- z)Cj{BWC~+%I7y|YM@T_huB}d#7T zqTmcyS$Cgx(dkIj`bms|jJy-?o4zjLoxDpAeG{E-mgsP^u*N85@xV5jiS|PP+Aam$ z>?!bOqrlamG`rF`$#FW8+?-1Rq{>nNspgjgqTr?!5S4E}N&zIycuf)WO94@E8Nj#Y zJtcDET93lzmja^T;<_nZdsCFuSPCHX{8B&^+%E-0<(ok%pyiAvVJ?>`>XqpDoR;&X zdW{LHq`CuC{qj_cy2R zerD>scNXwdVd`@a9e(q(fA{*K%O?f~E7uQ+s937H*V}P#pR0Yg1nXv4;G9=*vgn znwnPZPUH`Tbi0OZ1S!}CtFGwdY85^&UR{!?SyYzQUCL1T|o>{StLZ6;V*QV}#JvwcXVU*l0r#^y(cWNb9FAta+A7~==c zh%{i#hhM$FpcPb@{^I8jzwubm!x+D$lV+$eK88O2oON1y&=(!mK#=g!KOYEN%@OQq7?S=z`s-c>2}SG#(+Z&v$LnOv$tnsxwqH+*k7&nbaa&}{hPMbdV9o0 ztZ&SpH#l*8v@|?6h!6J^$Hs@oCmYutdF!>KFMJ-(WcsU59DU)rsRzC(#;fQ5^usSs zedB8~QS@Ymq5`G+SJ~MUqOLop=TxZB5 zF;s(b_^l_VKly^0nbTkY=Jb7U!VF>bm6Ni96 zhx5sAOg#ln+?SYfK!AaGz;qX=o8Nzee=z!*B`K>c4!2*!i?7#V2(ToCms6f z2t}>i)gz-YyK-r`XeQg(WaAUZzVYel`@S>%0683f`8ny`*5To;V`BsRhGC1-4?H+^ z-{%-V>@3YFG)p*9XPzO`#jZ&Z$IA7QYOzu+4??P1B30pP9fL2~l?0C`U!4BZ{fSr- zmG5aJBLg!#@^m;$VqCOFR;8-yAFY;dn`~T9Q`3)*o&E6pN8flBp?B)dUpsRD3kZ~z z!qitEX=2lwfM(*Dw0xdxV0Z#k@?+#%tW@lHqv%k06v!&A6xq0K} zP4eTq@#@$(0wy9cgczMDj~8nL)xipew)fbtHIBaUNfV|KP^7Ui{n&klO$g4vHuc;i z)6f3^THRH>W4!R5LQmo7y}yQ55nv1gY%Fc*@7cVm)ZbI->MU>3&Uv}cDvGs<;qqkT z^c_0IkOwKI6_6B~i~S-8&%ru{-aYdUbO8$vfdiQk1`Y{n2Az{o0XlzdHTM zOGY14jaQD{4ad+hKOTMh9;7OVU;oln z{k4siQl)EixwlfTZkq4(_+(_HV-xU8n2F^ozFsqcpt$wO6VD%h>#I!R9zQho!|zQU z`YLios3VwiApt!DRwHj8C)L`hw*M=Q{U3Su*}{NWTVb#8yh<7i(@(!~_>C||Wr=9g z%SR^0_8ZcZjrUL8|5+>y4!?XSD4I!q_~p+We)+T058pfW^3#F1DXylqY@|M7NnJek z`YTiSzB>K*p<_?H6vef$8g)f^uqsKKbYilxVfy8}VLXY>0>%!sMn6H8IOEl!kz!>4 zNqf)H=ifZ?#`9d@*xv&xE|MXm)$EYbD~?uVTqI5AG$CA`7{%8E$BRSt%ETaC$Np01 zWaGmW?2RuX3{5}x*X>1UpR7cT6%W-FFTnV6JAP;*;btn}~We8Re* zSVMX~4zI8amUiUn*N%PpDd_R&3lB{{@P+9ozAdCb_c+W0HhJWsFCTgCP3<-t$3FSi z)ZL$(dg|e0pL)jVed_gxBt>}YyGMT=X&jQV(?_fO@CitKm#JK-*04Ur=i!FO#!JJn z@|#TXDr~z#w-ijTrXTzI)XOhpZH8bo{n)cpkG+T_An05!S)u(N8f`K2(!c|-!5?kcO? zgz6q^XQY~}(M%eZbjmJLv^pn$HdvNN| zBQZWXBsITNokm2zl-lf{K}F!jb4jz0gyk>?*Vb9VZnU&m56nE+v@BZM@IQ^aSWkXaoaC<~);r2LbO%Z=BW z{{B}`4?S|&g8Eo}@IW<@ejIA%8mm6_ zt-Geb_E#$S~jr5~_(iH1l7UC-U87Yrh$b z49RIWt95W;YFHbPG=^3(rE|hG8+`cQ!>_#*(_of@p({zKO*t)HlfBNAZkB?kdr}dl zgi3L&J~4_Fjcf``Hu}U{z4{>51d#CP3$Kalu?&&M;dS|@@}jzXUQ*1ShHJGnZPQ6V=b!<`L;On5ju69?P4W+__c2q zu0M#y@o?eTllMQiJg&b7lO?N}ts5Ub2!AQv zhJB%8Rzl_pn}B!wn3;9rr1^URE*yG<7hs88dy2x29XIY2?m^G;Xlu^Phe}vXa-(Ud z#A7h}$Q^eSE-94FKa!a_{iVmJUi>t2qkL8=F+*H7oW_f#aoOUzO0tw6e3q_62R}GF zu#;x(3JX(jd;^8cpaUrtO?8z#mu16hs5E+86{N2XNsHf*@3?bs3OOih%u&h?B~5;{ zCa<^OEd3oh^z}X*wT1UDuOOj0awkh|V4 zGkprW5)jus*Y?Yn!6^!md`9{*(ie2r4lOqL7H(#QyQ z3nm+via#D3Efk zz(lhG_HDu#mSv@NwYpdy(zVc3fFTiJTYU(Fgst%T6(Pe+i*RyrVz@MV(APp;gt$R| zpMO0B?6eqbCB|bn%s8X^f$FFn9++(0HTB|GQIkv*aqQmD;amlBy}|usveY>8+81HG z;xzOL4jBY}45i==mE_jRCI*p9o^0Uss6Te>EB8!2cnCk1k-^L10@>w7 z$kUL$X7kpC$65oy3bufq)~Q4HVDG80bL&TnS8d;ML^SfdT{D9UxyB{e<|AxvO$Gv#ngAdR=_WV6O}3~ z_wiTIIh+{KgLP6F^L+w6&`iw^K*=na3{SIALh5gd5W4nXz|KJDCgY*OY}@V~SN+XB zU)XU~0aYLa2B8kWe1GBk(YmUZ^$>0tIS6U)JbLf1YrgBW#vme^>o9TrJuy0__wn|c zq6hm(Q5(~fFG1;r4F^Up5mH9Dc6z!}bF^xhZ0s`(QpH%U9GaedVY=~2*%^HNbs4Nj zbTpd@kqv1bxw$qyU%L4P=gU{n|ovY49AiT26PuUlGCvy;mz9dqpAc$oD` zYj&$yg@)jk;Q*ElrjC;6{@9%l9(na?9MF=j27UU)^e-_p?B1IZ&u5-x#7TziRCw#0 zzNk0fSvMQuE}uT>1dBC?+vtqV5*aIFS-n^VbX;b<3l_JXm)R}1OtvYO6XU0)(FI6p zmDQ(w<^(PdXHQH9Z+ff~@3b{ZYG)&Z!$q@SBCZweCmY?yry7>H|+=Z}iCI*P*8LbRAu@ImZ*-4$G1SGjrVX@EdPobF(0;i@|~M z>IRed8cK-}1rZ@({@S7G=e~h-HzmJE66Ay^)bG4~=yD>EpG849ejRe#+ z(-kmotlZd->yEzl71^74_(g|~jUhO7s1FNc7CNmNeL3Vb{pHm=q*KP(_nER>#;u?q z)B5}yOx!(A7xW+{Wk_>hQjh8`u`gYoO=QCg{O~LHnc;QZLz;Z}HM^9W84W)3%zC?Va83muoyx!!Yk!p)u)_x%SZ_hjS7Rt_kzOk)vekG%Hu^nEzb z^8F*<$6>RRidP{=)U>Xs*7oRwIPWt3k(i9l-DLAh&pwkV>SP=VTXAoFq`s#=)vQEH0ChosVzlt{^vC|MFI*?LfX{*grxBSw`6Kxw z!6Luk`JH>eM^(2d+ncN~V|G=2-#z!9d+xdCeW=zz*6IYqS~z&B00l$nH83N1Ko$-> zwXpw*g+os^&K|DU{^ZWNi9295t0DsE`}$);vYdomgUp36e`$4K&VK35%+8gGt)AY2 z?h=%(_2ur-kT}bpm!0Rn2v}v54$bkd&X8?7q6WtBmDE8y`oCU%8e&$jdzat(2(;p! z3z7|$g0Y@%PL@A{S&~i1g~%@c__BF6g}LQ#rlyf1O5)vwWCW6AOeyemts1_+d}sMYvq_w z6q)r#G_TqW3#YRQDCaWwbo(Fui$CIjxRUz%D}%i~mA;;yp009L_QIaQuJs7A?kku2 z2a&tjZAQeN%E-X_&aQznaunD1mn-@b&Z^Qtd32--L7;3w*%%Wx$ga+6U*{+i87u4c zWN+8{zR|AUO5Z3Fn|k^MsJFY?IaulM>K*Ls?j0Fa;#6;M=V;f!=pdrJ2l`5beFmtv zw>;9<-_u>fIHT)JKIUL&=RogB-(Y35e|@F5S5KBom?=`O)>j8cdqx>izPk3AyGqly zR3~m5+r@ihwJxoWC_E+h18{pse{du)z#H3kP3Fb+XnKK-YGtbp?!4@a!2-hf!1v6y zfNQeZNK>zUz14d`uO3|aZ4juRISgW!uxJ;l*S?V*I2F&s&^P@qT0jdh-_C+r&g@aI z-S~$vv(#&U)e2h1z=4>J-_wjzuYEZS!wny_j+^~idkJP2H?@H2q7|cF`}f?$PiY)U z@B9B`#t&X0zpnvA*U&e!2qQZz7(~9Yl0E{lF#CGJ?s09ic_JR-V9(8gZ!$vEYlF>W zT&0NvsW;iVWlRrHEh1Zv6N<-?`IAkS3`p0x!7^rxb)U*?Q5YySD_~M2wNGQDsMm7X zYhjY$kP>R+I#;%P6sDJQ9y0=bdXsO#@=)NIc_Tr+cI_wH8462oVNoE@E-YCTtTSJ) z{bhC|3p#zhcHj?TIB7zFqAOE&-7-4O|J71oz?u73j5jKta6AW6m(9yz^uz<@6 z5x^8EvA7T?<*nUu+&@b>48&xQ26_zWs6qECoK<<0h9Gw z;%TCYUu4{$i`=H_D5$}9sM6VAMiBsr#-)MY9w#4&y4@pPgXPL#b$wrn#vXvJ_9Ah$ z+E<1QJK9r{WR0za?F@&fd$hlI{eVtRe^04r1ZQcmpTz=9;9Xt2hM|~uS|-=@?somb z2$@$DfA2awAKEf8I*G;4j=8`R?F6^*QN??N=p^+*?+?9q<}hs zg+-%KM3a`b6>4*4B45Z&wMqZ?myIDL_;IlIsfk^vhZONM2S8wRr9 z5hXew?gvE=jCQRr_oI45e~HBShb$cNr4Xgb)Mg991^Q;7JfNsUh+7;7w@Ez0xYE7} zk+@@Jgi<63w}8(qibc`BrSF#yY-MNP!mc{812Hx-&D@J~ zeEHnDg+~s{0wIkj2D&Vs--E@_)U)>mv#E9<922(oL}#fbz|8mt@he$~!w-(l-sj1- zJFy%EwF(}llAQ!RxW6a(6qrrqi(w*0)^3_2P$_DNLos!)uz0OByZDt>9fvlEUmKmA zey}u+dQp~Sg+L>(6@c?piJlU%8)aK1H~SOtgz$cqO&cXKjy$nUYSpqJgnTnaTMd{1 z8Wum7-m{fL%i%$Gf}plluh`X z>2DJ#?0{NZ`FT(Iye)z!I}0*p3#7vog-iWPY0I#vDp5^mb47SIrO&&+Axs384UH(~ z=955dk6R0rcvWBlg)ulVL=;HTmCg}V7#n~gtWuK2tiQKZ>Fe$u9O)nEsg$~9^6Kxa zRJu`*tPC-`v(t@Z{e$aEeWR!@*4_5-?~S$_`-o`~vL-*>5?lr72zQu*Csv*lQ4ih=G~4$s8E4M3no$LHikE zS6OVpN;=_gk_G}gSU7!{(T67MI#umI81C7E7q{iu2KGy4F3JIAV2{%R%SgpoS#URi zr2ry7CXD<~))MB>ts6r;GTCZ~qva9HT_Md-3_7#MwbHQgdhK2pbYh6Ek_c@5@r*N$ z$-Y5IQ|Cq=VgJ2Aw@u?aSUC!<+=_>l+!@80xL^rakS{Y}mkX6}*JC=O0NJ(eD}*tI zVWFD~r8QD;7P{JW!kdP$kyW$9O2q{G=#PEifH-;yLj4ZOW{Nay4Iwj>0r-4O7}xac zwe7-3oUcUD6gS(9WZkIiu9m`f6vh-Foif9mf>_-dcj5%4fo`!lfv4Z~5{J1{n^}YnWdJ^7 zu7W@mKY?;YLI`27amZ!pV#Nqd4Qf!X$w0|Q-tLI-a5EC~iL60?0Jtd_o57b0Gnlm` zo?Q+fI+#)iRPrn!l6={|hec=MbbaaK!x-y#M+K)uxHh5By5Y|$=nl>#z|~o_paxT; z!*+;>RHLow+-JuV(zD+XwuPOd(pNXP~SAr}o>^nEo~bDI7x{c~e^g!znP8 z43$P)nO9XT4a;z^YKvv)cnRQ&xFV4Jc(#l$`x2D2Hd;aw0q*R7YVWH$i8zx3@+XD29i`IUFc_# zeuVvKuxkwzDY!&2;yjwxTpYU@qIf~sAx2(cAtZkoxRH`S6Ba+obez9m8NZM~@A%zN zi_vYF42;3wDO!h@Ln~n=k$iGcSH^8-_zVs41W|~BYN<8Gp%)Ik#sd+}Nis?00A3vh z1rXZL@F`ttrR7pT3HAzSwFtrhf7UjXKTT90L~QGFtHrOw!|v<<9T$rs4CLn>TDsKI z3QJuU@F%R4@A+vos9z!PND~+Mo6b$Ocy4runiLUNDxm_r5uQ&J30gLcw>1!(04lS1 zX#r=NVif;KX2=U=J8srs1l*?bitv}QXJlVO2>S6Coz zFIy+?vLvPyqgNxn+XBPD2J6ejnF%8U534(fPazA1d*dhP}YqDBqGBDXg*>u2EU`KYr zh4AYfT0eYz@#&xd@=!LN#0(^E6vi}If5z{3PEVqsp~dI!yzS20lf|=_U|2!gyq0HCA--ryYfiS`Lofyf>imnJ1q}fe85+i zE-EG5h-T1-y8>-HmyC$7VtIs+QjfF{UsX6JK@XHJ5f&D}eIhzDV;Z2p^h&dSZ^Gn` zU5weU6JB%nBabW#`&7rxiiktTH;Lu^0sP!CWgUPi|%rXW7D{ zif0DYuqQgv$9}B?*#w?MsMUtCi!g}=HIeYv6)j-~o%vIP4Z|DQYtrd}7O3S4^3Im4 zjmmAtzgeJtXtwdG71o{sX7ey5S7>R@i=AmXnNQA+z3QDPg5;Fw1sOr;Zy!o~SNeNL z;m9yI#-AX1NM$KdsV0W~z{?XaNB5ee@;y{y;^6ehOYgmmTWIOhUKG}CoVs-R41Dzn zacRoG@xq;|92^IaT~;NL^Tv;h#2J`5d>@Qy@_Nk5!E`<%pXHB|o+j ziWwFb5zx0D@kYHRgsM~#(rgI$Gs}odW2kN+B`W>U;*DZJvm6?f$vw{}q*5Wwh#h1+ zZ1vJ!WMLXQzL6W*n!8l06LUL<%Lv*+lDWG)`N_-YMU|XIzHY*!DK+AvN##HU#x{>_ zLswJ^{SF^HPB9(X$92gE0zrUf0nXPu;3QT*Qq3=f_BBJSxMjnZ^Zid)&QEA~S#~`w zM%UoJplvHG$Vbkv$i9qA(x@#l0$8|e6ey4meB>Ykw+cHSlvO%v)t;%wT8QaORua|&MfN?6 zOCE`WC`z?(=uMCi!5t5fbmOL&?5>EnmgM5AfuZZ*yg z^CJ(^RL!F>OzYVO&H^1Dx^gT6k3JSps5m=I}V=D;M=V=_Fv?Y-=L6w)(T8B%B%DVWSVIrm9g_i**dv875qg>>*~Dwf9$Wg=8Gem&iiaO!ggPtYS_Yc^s!#{j zq{nJ=K=d1IKWWtiL{qMo0K5jP0SZ(D$A%gouOz6fnY69?&eSTzmBCk39Z47+lu&TW z4ZRA8T!l!e*#yx?sF{NYS3y=>)yC*XhCK5>$3F1LT0~Ydm(*=NNfL+#kuXu+%Nm|h zYO$$6lnO+!A654e+NXJDM{mB^c>5awsW1PI_pjZUO(AI(GuSM;${CqCJf}Zq->Yq* z&|$1xTSL0>((8MZsmaN4h$9TQU}2(no?AF@e&Nt-DqL*iAC1`Hvm0%N*yt&aZcg(H^|9I%>|5%&}@-HIbcp0AZO0 zAeG7SaqO|1QJ``EP}Pq-N(!b!@vg*A2hzh)-A>a&Wy3j!O=+o8;+mLkRx1cW(|(If z`HSq2tw4}4$PKoUL1UJ%x^G^V49!614M2r40}Yp!(7oppt9jLHe_dRfRnuhg#bI86 zCWgbgtfP%>U^z9#YM7zq@>vE1sz=SHv`G?qW#`7lv!})0JAhF=h7szu?-gJoE_25Y z=k&ufI6Y&f@v(pM;^H?hokX9OCq%bcT!#3-#ImKUd40Y9P;$$*TX8XOMf~O6<_x>1 z>A5XDDAZ{bfz}ddTmubQ&Y{Sn z-=XCy;$fy|=Sqn0Mo_zTLA0CH5q!43bow==^N77is$pP^)!UQ<@z9fqhi~4>5%f9( zk-8xRO*UrdK&sbriB_yV3nqJuG|xLQE0gYaR(F=MS>%AIo9{(VUwYy4nTrh3c;Y$i zijFH}4E##oY>wRpD~zt6n#2^ArR5A^!^;$wcPU>3DX&VC=AgWS@j@0U_%ZnVnvYbF zyjZ>6J*Mqsh(%tgd0MhYK6juK$SZ7U8klFO!4(0xo^fv|;d1kViwTA)ikjrpriv@E zV8BbcW&GhlDh?1(kmea2c?&njl?z9}S4KwAalpvDC^yHEaiVrW|63)tqg}wDkRcWy z`A`G#{1^-ysUSyYiXTX~$gVXyUt6qobpd6ZQM$*@=(O&QTDP`4PBFjk(0WlqyaX4$ z)=X3B?nrmADPODYNi;y~{rPTT&QXZgI1iMj$I!6`hiOo9bUGOK$-GNo&H>BS1l>8I;27Q`*Wb@-fdG@j#JA}Ut^M7QRE&@FT1Y70K)9&| z?^@>eEN(JRVMfhz@5fDIiU7kRZpQrizZvg;ZZ69n$h8HmwpuU^el~UHMItXA zga2pok%DqObBXIvA!SVgRAB?%xHLXi!XCEg_Rx1vc`CfO-{MY&?X!)$t}yuA)Cd`u z5QlSyo5hwO>)9;}N8h)^OAdthWed;lk79|i7ILFW7U5-OZ+nY;jviODIu>t}9R9LP z8u|*->V+pqU13!upQ+MrmQhVY?3oKB`Y1f6RHgNhnl>a1@ZY=*8Bp83{CFk`YJPYn zWF+h+b?!JM*RbSN)zJJ?2%uS%q)k-aG6Y%8YpWnGCJ#*PY)7A9NYt)_;=7W{t+Sje z)vF^YgX67xGbCRW7(w!|jH&5{1jhef^e)Yv0;ALXF^hqF>40h>gImVZ-e8z1DK4XT zLJEeEXo`cXEYBoMduntuS5VZ!3%cR&cG+ZEhZ*^JmZ`FI>e7{GPsKGfj-EhnnMX>> z4sKCC64u24%!!>>4vLI8o{6x0_Bc~ToLd~vYC3{!MPzWicnK>eyF79bela@&#Eouc ze6#T4Yi#I{Z9oR`^4o>8V&Qhp0Q-FtivWWzUjP?4S@S_}Ilkv|T;CE1&O(c+*P>@C zgHKd!C@jbGNWy|Dk?GcJkI1?z%}03Kfc_RR8C{p$4H@K~WZe(#vwcX9n#Za?lNQ;L z3KeODw(eu^dO8iX#`7rI8q<0f&b|VjKaxtbeuT6_G+j$C;Ck(pyvMq4vGI`Ez^2q@ z6+jn`UP76E{VK{&w&U34`bL8$(gn;;*}Z|PVcD0Ai?Z8Ma`&q3tL}+2G-@xgyiIuA zl)UWYKvw337TTDWG`(Yv6)VBf2ehIDRde)Js-|i+2>>Q34yZGcC2p_RiZ{Q|W%~;0 z0X?ZuG7t(%edq^dvF3I!o(1qn=*U^cB*o1-@b!SsBQQ0bO*oq2D`EuCSXZ7btKiYI z-appHiI%S{@5#QZDTVq^VP%_wYL-waxjC1=lgKrX8mI;ZwSd^555JB8tQR;PEM zVdY4G27ioHIk8P=)Sxf_F=4q(6#X>u6rK%BtH7dF;EPQSvZaj;YVqoiN^;tB$!N4b zbT{Zyq>`bKaJOsS#=}#Z>}vPuYQ3OI$9?K<$A!<5se%5|DpNgp(Sjj`)%Z#;zHfOl zu(IWeElV7I?TI|5Is-XkB6@Vf0!fC`>t`!FP(KDz&G%FnFhnuI%oVlBq2mJ9<1KYi z2-FsTYEl7Pj0+CsI);HtS|~+D1u*L9Op%0s$f|40wMJ-WQvNoDCxjbTM`niqac+{8 z?W`*e>YYjdMiZCQkHW$$aYhC^9As;PJCE)^uth=FV$-Bo-^UG0L;0%qRYreBD-rnM zPL$a-Cx#SPy2VYM4$Ou2Ot?DT$7r?_zYjvRU%gg5Ou??^3yJ|PH_E&QD~Rk#A=JI* zR06h-JaidjZnJj8GacDao0TF_G~?N|P0?NOP{KpAP4sTgHQ6l6q&v@8*EmZfNGEvDpPV zrOeeZZ4@ab;yANL$Wg7A?sW~a1Dfl-TJA!QVYzqxDE?11xB5Zn=(^pH4$Y-%UaOahyFb{Zw?+_fpdC6F)C1+kbh^bZY$Qj zgB3oJTsQwJ*n_hCbdf?3;W>fciEPdNPc;s{OEKOU(B+FSE`9I}{5N-H$D-sS0!DcS z))rBPwxBb~XS6Q!#%kuKuT4rbw4m*rU1P2ZdX7{ZGT!H^AJVa9wBzQ<>5iYGq-3?D zy}dn9%rZmXgvN+8zOG4Z$RJ6^QMZCib!_&gza7?2B|qxrGp{b~*|+$@qtuOB|HqLV z`_N#G-LG%6=Exm{TSWns$%*W6Dw~1M8$vf8$EdNf@Rb*zw;H7T(Kr)PL?~#9?N5jl zoY_N3SW3{N7zeVxvuCt_u+-PrTOC0aIMz1dm+Sin`bJBm2#^3libB_S4s@aNTxoqb z3bc%tR2pS{=ivIjYG<|5S+4e@1f7xXXW9JhmRJ_mye*}?D%4iO(Co# zL{NM+JF3-m@Gn@^GjtF4+tI2$cy$ios8FK@N;oWhA*`f^O5-R$9>aX$aAc)i)vf}A zS-S8x?DckSB)KUJ2N!a-oApz!l$qX0sXx@w4GDnJotRO?QWmM8zQuFTW7p=&w^10I zZok!Pday|E4ZA@dq&O^U@i!N3kJ(tBk)1T4A5;ZPOg8K>362Kv%#O6TnE3F_-00}o zuKLh4PCbNjQ~^-S`s{MT66lqHaOdxAY#TOX?@Sx!V3TQ!CFH{|=>jF|SORX+KI9@~ z@^|LMI(mlKI(^=D`~}F7qwSI*X|YJ!+K1Y>muFr_l>$6v9a4E+L}3QOtqX_t$6rmi zIGeQbwVJZ-tSO$1R#)n$Y}Bdyci6!0@yo6~i^Hqkm~Do~xINq$!zTYYY$XNkW77_` z<#s6AGAdQ8{a}&_i|(1DIoXV}!qjC?gU?v=0GR2h*O??k0V=s{O>hvfWfc6492nS& z@&LNrRJ59dtWDx5Yl6)P`;Z6DNQY%;%gq#LXa=;Vr9od1O@XstO|EK)s7*--;3glW zcV&8b6o0ex3?72qZ;vqGPYs z(uf-+s)0I9NS!VrC#DbURNP)1T?-AzCUfA^KwWU$XrVe|z~% zT^}jH&`x@K>ER3LONwX~Ox7(2_Pn4e)&-X^qeO#CI?F`p(#dXi2-mGZzAH003tge1 z=B%SR3PytCuTd7-oHWj&&*}xLGgedsksJ1)$M(~Tmm5?K@qmQt^aPr$8Zk|qN3K4! z7L=r7?J42AvGtiN4@0I4U7PeX;JfB%7|76+wJf@PX8+>JgK;E92X2U%1%V;91*Ewl zX*1!mZEYm4_z+3PoDz8GA7-$RdJ?-ro{_{WLeghxCP^R4QXZ6d+zd*tRuvnJ*NuXC zgD7p=w|=m1urxT@9>e zi(dg8&ssx48kCbjaGd3g_4fjV-_C)0U}lJ$@RM6_-+D{Owk`kWreSn%MvRzwHKZER zs)qr1LoYnMukq*yD^fK5-sF#tQ0tFdANmp*m_-C670{{~2>nXI@NqMeyT;HKFKSKm zZ9nhoNA%r&)m^`ACmDl>c+=TT-NwxMu%k@wMXg4phs~skFd__(+@&CeO}IuXxd$Cv zthEy{L&wYEhaf$RRc23vLIp73(g*J*PIQjNHkoHjVNPVlEBiDjyQqKBFVbI1#iL{!;3Vwhr;jE^&|X5p!WsA{_K-pdQenM5rc zzeZNKMgIxFor@~_o!B}z3j?;ozhgziQVD`K~RzG~IE ze(|Dh8k4@$zwuEw&2Zec3F0a=_zZOADnBN(lLP>Cp!aG8IwvnY+%EVTi(n{3mKSG% zAhQWVLZy9Mb#`@WZBo|2rDS7LHX1qrzaunOw7LO`N>JEv2fS`!8yGe(WMzj%umnt1 z-$y+-{IMFYd{

f}t>UA_KFUtd!it33#CEgc!3)FF(3EQ)2X6@oZ+=-{ZW$$BCl` z6}nU=xLhHZ>^aZvMa|2H-e81Ssm18XyGQ$a>zO)SfouT|OUlM64tBH^EQNoS!>$cg zMVme3l+csG1`j<@*MP!>_a1{*3~M*Kdb`SDMniOch;Sm4r3)szYcZHHh~exehdIu+ zZ`yX-@QpWZ+k9vH(9n>r*c_TT-SIFko_&4c#p5ZEJ?H5fXgNGFfewikPFt21u@nt~ z%OEeY|gZGoS;e^9M7m^=8gkD>cAnnU(qL<7>WbWo%M%CT?WI0Ld3F73n z8-g<#E6OD*P?@S2T2jSYG#F9jWmHzF+Y$VpZ^I=z_zvH_hy%YaUhs5l)07r;1o5KtVuN(-4@t{I=l5ZDgL`hCq`2v69PY}>X8mjc4No`ck#d`FAkn&`?2&Z+cb_0f^uV`1N_ zz9>ct+&mApO#qy80d5ZAwiPM53fIS97if5DYJ7L7*#%FDS3J44akdT=#DI1jTFCx5 z3Ng!z_TSvmO}7=S3$@OM*-f-Q^fl~k97eT}bpdllo`kEbMAxnurWO|8$Cv2_ z7wT2KfZ33b(_&cR5iA(n)9cWGl?`6E8EwDN2C|$h%UknJwF- z%nfO<6}U9H1$A7W!R-k6gwmPn`yK}8uX%`3`p%Y#+1%p@(Nf%{^`)UJ8P}}GZ4r*b z=8m!9usnJpGAV^v;g0ZimM^rx&4#7R#GOFDukbUTfIbj^X=0)ylOg)nW$p_=rKCAU z+g^E=o^CPc=y{4L6*YxpI{&~Vf|2A7$sN0l-0e;+#@}O($^(R>%|n#t-GomQ&#^Zk z#G@P_fHe;O7H)1#V&UociLc4>KQI^!+mIEE({#hx`^FGgWRIJiRUIF-a54#)RP;{L zxxr1vP}lWRz+sUxRWq<-2P-&+2keMD7;55>ni)zV2A>0!coas2O-*m_Id3H1c84y%*{(9jeQH!Jc`R_ z4luI(@rR<7)}^q~(kyHe)#>TU>4+{lMH-JiO3U2iuQi@{95Fw%v%Fk$XD*C;A+bVV zE%?21!pc z^x<^FTElw}spCgbS>a%`(9nWphg+u?mDL*W!j&)&W=4`_`@Hs8A_yprC^3r^dMqS8 zPy~J*bu>iSA!+2w^ZT?3FnZ#KPI~!_XuL81JjwsiyEN7XO<#BG;`y_Xlp=&Uru06v zeN}SMz2Hd}WdvIg^c}DPh}N=UApU;ZA{g#X(Crm`4KtQGEO&SVE=VG{CXi%=`5nA` z>C{5~V-m_f^kOE%TZHJK+}cNfi$9vEzqR$%cTff`u)Nan15;!5+E!Yb@s|vJ;#rFR zQ8b53!sg)h`_@caID$BojVCT(7c-o$iGDmnB^*Dur`2we?+p?U z^UmAv#GS3ZYMgj<;RJHGGpsy2K?M)uEy^ut(E$Lg^92ckZr3(bq%lQ`i|r6Xe3vPd ztgr<+B7yh+;WtvupMHPgxkFl;XhPH~Sp}Bcg@eZ%FJdya#kUUN4p~&=;TPV&a_l$! z^4yD{Fd1H*CnJ3=3lA-3a)KO`@a>3kx{)g5k3wt?zDU$4LERJVpdO9ZsTQcWSaw;Y zfv6@$?+$v*DQln$!1mqSsOp26EJ zM8sg+44dh8?8>dT)@%QaBOw>NHjd{p>=>xsJ$p^`lybN^r1F(vk+y!Rp?5qxhbwc) z7EeMsatxwP()M#2{(jm1b3dUprT((bX#<-SIgj52i~}F9?y63A%ue24oj?FKjd58T z``^zWO$E86ap{6NFmjSY(;YcdokH~5E}GF|dyX3y4!wdDq2%WbYa2$Fj9+%xT<`AO z(0z~p{mb@%8if;yonzVvMlsIL=$;(zQz>?8nwsk@Do^48xE?wD`JW9!cz4^ zvh)FMb8(T(R>K`NT)}&)zo)Q>E#;ypf~}2%2Ue_G*P=m^bElR#$m9V(TVHM?n@=((L8MQ_s4V zkdeTp?BRPzzm2_zT|sG)-G)8Z-3^NsM)I?Pn6rW?a6j4^>@ckqUX@wI6T?vb6Pe-A z&KYqGfF+5FqUZe&4&!lmuE^z+{wPdM!QXHA#@1Nm^+5=hqt>k z)i_LD59SVtceyDo?uXLzwvAnIcBK1AvQXa$Tk1@GXce^@1bP(43ZCz{fs|29mXvJ; zmIJgS)~|9eq+F)pH%=YIn)z~WVhBI+;u=NRrFtW@<7P)bONZUL9mbgGWkMTv<-%BZ zppNakJLD5VLNf*WIFJ|@^#;>1A-lla404doFY8QJx0^e5Z$<&f)UBLnZOfiIPr{^^ zqCWKB0Hw|_O~9aK%DQ&DFfJGOlbFLPXl{D)%AWlT2i}xGf&+wZ11UbCz|&~K6Q)1W z-@9?@0{Am{BJL$-awDINFtQj<66D+@V<^Nh zUq&`Pe&zW8l(kBtn_^~$I6w;2!W#(sz%?V^q6GS6^G{&485%+>>~{dC)nI@ZFPYq6 z?cv?kyU^$Q{8?ZDxw!EW=@v3kwjP_gAO*V@#RX+eK-FX7FaBLu1 z*Vk!pcJ8{_{@Z*LfJFLficG=y(a9) z;2v&%ih!8k6O()HZi7FqElqV98LQ0R4Zg4znxfKw?q=`^o&5O+ZIpbVDsqMHZo^l< zP~>W6)Fv5Mj@6iw1bb^-W_@Ts_4jj!+~jJhHfEMsu%L#RGQjAKkcWeNOl;SmL9GUB zXQx?Xn;0rd%7sxIsYt|o#D{#!aae)HD>qE;THV_%&l~Sl;_HaaxA?}PWMvV+cM4QUtCmQcQ0-pmwxNF#IEx2%N*u)aED`?ufl*Q+^Ph!BG z1vF~X$|)mR-LsknHP$8rLhCRq52Lp5bw!i6eIqk>(Rr1^&q*FyeL&I*Qb3a=7jDBe z^chJB>4()2)7K(@YGw`49D{U&WwBK>a{xYuB;U20b0T>-)9LUT0U08|y*$HDMyTpv6ybsZKeV#EnNuiSDwN~E5wsZzzFL*_f+HE zi!>RXd!$J`+F80kWIVuei<*xE^;%gc6K5hK|Jb{Y7xyU73&2rC2*j(y;3_9Xdb38k z*Br-6V`r(62j_nn;=Ra6b*tXNT%=$TXY#L(cX`_UPDV7R{jXi8EMlD zW{}Z9eI~q1mF3^QbRf9{MT_|VV*_gl2UyP~9XF`}Zp;lWC5awT-*;g?#%-#l;xfa% zPCdNjqW_R{d7A+C_4ZYWe3;D1vC_t*ic^-kx|@%nXw(f!p*`$7Tqcyl}CqX3AXP9 z&zYn?iMK-*O|5~pre#ey5w0$Zo@S`|Q{#L)Z@bB3EIpByP&4X^ zYM(Ap*i#@RA>Z6hLd=JS-hHtTier$>nr2WG=5kg(oZpJZ?-p_Q4GZNg~7< zrDBu@?!Z5c)Sl%Z)rpZr;u0ks#FE6Jm39Z!&p0?XS977K@5+<3V}k%v0Zk{HY5zc6^EQuj~Lsx!TCO-5@5!2Ujd}VIH)9fTn9>VWlaHjem&zd z5*+e;mfkadinpuD49gLIltsJ>A<)_rMj<^iY4V|JL7||Lw-f zIdp)t_eSi`{LkR-8h`VBrRkWkCNKlv%RCFg4-eAPGSl=cl`pBO5_0m#d;Wo$2|rZ0 zA01VzOH0&Y5Yo3>UXxn z;j8bGACzE<-u*-V`@^-#54f2>Ot;1}2F;M^FMvi6#sjLPWQXtUXlc&yr$QYuSKxD3 zp1ve0Z$(l{7ePw$75umOdo?H0Vzv%YQ?|F;LFG0Hp8FO{kV(Y@gzN?YrCoX92zXbR zK8{B7P=zzQc#1U-lkZ_}s1PE}1VKmer@>+2s1cjYFL+s772Ywv5>|aWd|^8WZ3-2e zrgsPh48&*g^?if(TJRek`{~M&&^9gMFw?7>S27pwEuMDwF}&!&B>-4w!j~JV&UP_`9&1$ zeYDNkHH$nmR0ohL(ksG$U%XeFk5T0}bzLSjaPYKOnch4&8JKHUQ|_xWq77(*&tfMM z$3ey@a0PRPUz7j0#4y$+m7`zMODMm}%M3@%zQoGu=f_WQtV2Q9PsV;w$qx6XuU~CY zQ(BSivjO^91fHyBUNeUl)V1uDWffKRc}-+Ujs2$)E)AB2v?lYKC-+rR*(m1wEPc2S zhTCQw0dXPX0@THA(X{f+E+3(6inDEtw|M!M1ZHOIqHM>}4}}NZ96|lco5pkbNp-hO>uHqAchX$PV@$Z28i)G0b)9S z5X{qk*#sVwCa5s*WW>V(H&_BOepiW=_V7I%GA#2V#D-hkCC*Ge__%qQF`);dmEi`L zvml57g)r5CCn7~*bpSw(C--*dWWWz*WntrsG|Zrm0Yi$gOb$b?+0OrI9tY+V44|^5 z@3ASHZb83!w&NPu#?Y&yA+*MN#N#V)s=M15<`YxA6ob299rp^%M+u@r?rtPhbfPF!7LY z+>UyrV<jhH+G;ox>BoDD{2MnR`HDy**ul-M1-G>Bd z74bkTz;qfAH2-`|1zU+QJwL+|B{Boi5-0YMG@Swr7jib9Y+QIU%Y3bDZR_2hUv{?( zcThfO*z2HW5Ma_NaXa)w9!6D#Q&GUMsk|Q|naxM8AigehkRM_+;6Sm>Os)U)$ZGk} zCBwuJkL*m z9=pF2XU(g4DI6;~;`Gf%ub&2*T9O!Vu;wA8e=w=I^ZQfAUXTg0Y$EVOXYn;$L@zc@ z9)M`5bxT_n?ck6#g)kHkX&A3Q^bOKy#!itPDSvLm#ngOp=zUV5nO0Td!UsZ#Xea<- zIU#0{Z(Mq7aor4iv4?()zMeBG7y+fr{{quRounK&MZ069e-%B(sn*aeeSGe$ ztp8@FcWxksfi&j?cl0ILVtEu*%=*!NwD{+#Z@D`?;;{B3UgElHL#}idjcEm&^k%=& zZ&srT3p*$4X^I9HyRI+>+`U#4r72VvhW+O{x=sv_S}fC6M#gYG{W@YkuD@uHEs{3U zsa-s|J~E<}#giggr%PbnjIM!dPuKcNrL!_xu2i~I_~K?9_iz!RX|@p7q1Xer%~)v) z-o>GqbZnjieohVd@efhMLylpP1Y*jvgSH2+fL(92+{5H|8}&s5drn$O7paXRQ>L~A zOTS0#q?eGXp3Fp1f=;kD0g*X~vj1Qdg&~(3XzIk z>&*1GnoHOir?;9ccg+UaAh@db()fd=-Rze%j`-2lYgk;cE%#kpl$qA0-i-MA6p8|% zWIf-~pDiCp+XDl}Tcdr~u3ag3`(^^-+k-f+Hca@C4urI^Jfb{_hVOdt)LumUMTEo@ zF)4=edx+YK&;_$#uPFgBUfy-7`OOm7GtaUZf+Hb zutto}NC-D2zlr;95awJ0wI&neHb#i6(F z^Pv?c)>pXjP|?M=GK;;M|oV4 z8Se6dK9jK*vVTR@!2;nP?4~l=fh{}_<7Ud;P2M@77jjb zH1r(o6~%*8nXb|UGV1sS?R%z-2^7u}U_LT-D0$r~jrDbQ_M_ZgZ@Ig(e{is@N@IO} z13jbNDAUp1T`G5b`LTiCu7S#EceT2{yL+@#t=YZ|j{wpw!L=X|$o&FJ_%`CY8J)Zt zjF5>Y5(jB&QC)YdgI2G7(OyQz{^ZmQu8EP^`(QQHt4J9_qz2+I^@fLI*?aD6ICTLH zRc!?WmHw`tO1ZnI(pBvoP|v*2Z?Sr(GvP#HPAXv~S6-}lc1OSG(?QGZ*+iyuQK$QKWC?E~Q*@L00nlhp#VmHt%`s_F2s%{oxUdx~DH zQq(%30UYB5Vvvf<%+->LOH2hOxj0jClNLD$*0IWr@m{;YH~8Ago>IBao=2n2P?e_j z^BX47b3u?6>u{J zr<)oo!1wtoWhN1|VGhcs**%CP#pdke5Zf)Q5{cJ<=_LmWP1Q<~cMkZdI zyc4d?BakT!ZFO_~7AlJ+*KU-g13R8B`^8Zc;Q)Ojjk;qDhX73eeNn z1v%FVKJ8l<@r3GTik!eV>$+krOVio%ZAhW?`W`ex3EU%;xyQX2HUU*RiVKL&X%rGg zYQY25*vai1DDwx+rfJ&12Bj>s^nIou@F&`PK}ZJUbGr%L3{H$uDAkjloA zw5BqLIAGXc@I?lc&GVwA@%Du}eEF(xKmnDNJs~a?p~46^j6iLqp0io)IP}<`Dgn%s z+}`;WMeVE2R`_BLfjG|xK(eh|3r#a}NTI;|ux1NfaL zfZ*_AV9x8bK|6ECBTsooctiMud)(MKt?! zC=G7#P45skZU$q_*eQt2!$)AQRVs0oxsvsV#WM$qr6{v!9Isma0F+v~Z?249czfF( z?CEYNPRAy#IzVJNNDY{qo+vn*5YJ_ItAg?viEP|2t`^vFM}X~r+demA z~I5uMtzMf-(g`Kc4YQ6TS9<+xn#Cq+2kZ3OPSw|3)g4lWa z{P|?({dgu>HzkDl0fiW7XLRZ0qm(J&GkN^DaGyU3WTEIlVW&DKv&u$b#w{FpyD$ySjo1j$l{O9pZdr9L)qsu|GW1nYf2kPFKeo94F--~# zPN7mhu4h_);lb%K+zVrf^q&-u9{LyLAV{5sy)xR!SSAMP@613JnpfW*(vY|Lp7W_sO|g+*3>(MJ0rbsKt0z)5TsHaS)w)ChW8GkvYTwQ##y` zhGTuKrbj|PL!rcOv8-I_6+AvV zUa}r5@db;?2rsN7N1nwUy^$c-L8gGcg~ow(m~eG`( z7YYa+y*ax&H5j?=OV& zGZPQc`{a#wVh{)kCv%qQS3Er|Vg(V0J-^;OOY@VI(L5)SKJ2_d80O;Qc#v%ji6Zf1 zQjkUde>+E}%@@Rj|7;G=XQ$^-4-3VEfgW(eKmL~p_y_?%2p7}&Swx!s*-Ne1Uyu?1 z^E@h%Mt=7LLV1+`tw22yia+yvvD`S=|A!QE1H=CAtj^4hBgo41SDS??$feQlf!@k` z^fDPO4|Xb8<8w6Mcs$#VDtZa`Q&B|0ON+8X#gd7HU4dA3aNfqg!|AJo&fJ(?0~6Ed ztU#)DOs3pdul>xuzWfw|BSLgBlPqq64w~xSxg;+Nb|>o#`=2AH#~jd4jZGTx0!s1B zsM4sxv#%^Y5UHRJZ!u7L7-?VgoaYMqxq)k4$3Q;1#)lRH?il|Ff)pBicg zfI!O} zt+E-K&BBfr51S@)R!(i1*=zK(rUaxr{nyqSdx5es{4~>x~)r8X}EFZG;}}JL^Z>9 ztYibJ54IhY-}qj#aPorHlEhL}41yE=ITFX#;{SgMH}k`Yalmw>ulaSiF1Z85Urjcx zLj(cPkTq0VPP>;SJ%@O&S#!| zQBbXdUt0zNP06)qD8*s{_N)ATO3cM7BLIC5Q)tYDoM&$KjBWfHY$ukj(ik>Os2ka~ z>N``byxQAH^5EF)eU>8^hg}7@s}Nc?iwt^nLq)t#vI=Qst6)Tb$R2V`18>pOMCu*B zpAmSt&?E7AGfPzjB|5+p!e;N6|6cP8BR3r!-es8sf;HI;c#|_r$-vTXSFinV3~}V= zjQ_ydR5(fLp)q%(t?liV#$ABrL2M0l8&{$6ztC^)vVd&N07qs~$`gg$o>o>K(L$n4 zo^cl;7~C&;buVssEE%}l*`;a#2X@IY2n6->$r-|fUmpQXD0wxns5?=i;;vKL}=o+u{!5AI8qwTSJZB}!_2IFwL%go}LE}vx-CrX!NF0nH*hQbs& zH^w;Q4m$GfF^tf>C$`%bGL*u!>3m}t35+|?hfe1rw(2!|DrTkHz&a$rM~2!#C|={m z`pyz2svF(1?N%hyY=s^6?z>9kbJcrnrbX1O0Mn5~IiobO+v1RhE6P-=*XB|rW#ksb zoL+`|)1n-8cK~O}^$^8XawI*&xcCrC(81iiXPGipAfQ%2Z9ZRvr*m=+c}ITtml30+ zJ~Q>&gi2!Q7Wa)iTSu%eQV5}N=qk!i!EJ6fi$hOZIl$sXmV@TV89|jnoFp&Mf{=yT zIh?1zC2~Gs<=*TpvKM0Wid&83D-OjeO;m*7d*WKn(3b;YGx&4zajq@j0N%9(!ST@aAnn*Cf)}#b1}<#FArCcA zpalejoyxRG@Krb(D!sG{h}QzWx>u%E1;a{;yBfsSIHtk+GEQKqJY={YVd(BH?zuD^ z6My;W-B!al4`bu&*5l53WbD6bj*P`wmgQPjZce>rNyFlbc+td>4ch1Jj=B$Z3m@e26O_HRK4$VsY_qGrr>JHj)kh=NV*4wKHt}NZ3M$kH(RC@Xt?$ ztvHTB__{5iG%+#B5}PQ*E;g>9;`@a<5no(U9(C>&OH74xSyHdHUSUg6O^cO&XN%pU z#X5jbOB-<@1MyWzW1jt}AG}Qh*hy7-QwoMeqP7RPno$qYyCL9~_S7}|5pMnFbuI(M zrf^MYSelzaz4i-fRuQBk3^0jwMvxICiiyNFWD6=$q=h_-%)@6)mTaC>jHRM2z}Jl# zxv*&LM^n<}DUorfiw??omgbEA4RwBs)B7}>s0hrk^R1THLFP;l;O=LA(Rkfn@HE_A$?=q=t^EJBBGnlZBy zT$|e0^81vTd41>y@H}{!o-+j}*HL zIcRro2f=qG#;}O`_Xqr&a<|5);idvRYwjAGJ z|7B~~-WzzbYB~l(sC*W&Ns-jxB@oP(^9Y9tw0s2-`W(_ zqr^tUGN@L~6apIbmf|)nJG6oRBIpuRhSCxwhkETF77l#0^!|&YN00|3V{oOI`JrIe zEVU-v8BE^T_Yq_m|Gt$Gwg|~401aCc2t_XFsWA8nT*s<=k(ww3n^m)tbjH+p$&9u) zFTOCgLHw#iG$cbbu{M3wAR#L||yv8B~-3Acr&T!`s*@4F@!Nb%|IufB}3Dh02nOzdf}d z@(~7Xfz&v>!TSrSmnd?K4hP~X9%YM*^#O!^iJyp9aFY~*i!_jrKV+PoN&oOCSzvCO zB?6#XuXW35w1#R^g5nD#kKv~Mr)p#|wm0?Kzt%~L{3Y_%>)SQ5iy2F3k;{5nMM(ZOBa~i2!qoIntsOg z*n)f%6>h$5BYriEX!fOvYIS60_#fv`m8f2u_WMbCFzoQBA7uc$iHtH3DiaSFLV!55 zWT+91^LrZTvNit<&GD<+R{=&d0(}-mh&G>Vcm`2NUUn0yW|WM6O5HW&(76NE>sXlC z#FBxTC z%=$XbGYNLYJUE-n7et~o8R%E+utz6qV3rGkX&;iQD)kih*KUpUZ5#6|8I5yta>^}0 zSl<7l#9c|3NhamaeL)C*wZLH<3!g)wo1f%48a=Nr*cmPq?`5-P28{zdepF)JX#TTh zVhluk;<3i1XGu-VhCMeUGd(GpwPD>+?n)ofzSe6uXj$~0pZRt0T?Lt<`7CD8rx6UR z*Q7gDu7b7@4vaOBrzpm{fU4LudIdOf^D+Yx7Rxz|jEwdn<*<9CzdTwk_bNGYbaY^} zw=y`=TN>%_86C754}Z9@fzRB=ZVpN)LG*$3c1X|xxN-P3ttm%36P4 zKJzLPoD_=#p9Qu!H`4b#9W(PKIHDRT79^JZtB#9-uHI^Yxu>f%GFs{H?&~*P40M;e zdj@(2`}zmF2YRXup{RXf0H3Pes7=;6(%D}&tgWtnU5T0~$yA;0VmK)ck)=wdO2_sf zOVr_e=ng0tgm#3dE?s%{RI(L@FJ>#sh7I!c#)bB)p#ctpKhF%@4LSRPD!MD742*{C zMz+D>gQ$Ow2rh_FO~cn~oFY05dq?o6 za4;~izHhXrTcOx?4xlvXGk^eFUFWi{$Is z0o!SPGmpLuAK$_aA``pMO!YuQc?484$-V83o2^;~l*q9OloMu~Wsm`GK_-!22#v5p zTvq%Ee_VO-6>#XJ!j$!&b#}HT#ql{i8{FX4Nf7e?Nf3oZ%Ygs8C}|)J0s_|7PR8 zrzsEONnD$BVw`)#e@5&E>HvE)cd)MS=5a*Qsm!5k?oJk`vo^xxGs6>TNqu)_Ezq{H z+Z5zOC;PbbS!*Jr8cg1eaSRcSq>XG&=eP6I03NB#qMB$KO~}WlYP{-8D+gpVrz%nx)@SwUIUiuXFv-cj- zF+&@R9GJ>vb-Dtj57jT}T^srwtc4^@wC7}Jn#TNxDXa7*IJ3JYJ2L1~gu4MnBh`h* z2p1cMdd~=(MeX0v0J5Qvb;Mu;17vDc2kJsY)H<>B&{wvtE7S!%V zF+83$+-IE<#ayQd7n>KUVA-cSN^4rc5v~vG(^R-5(}h@pw9*75;BUEjZDr;#Q7oYY z06V;65>mHw)B~0_3dbxO&+U{a&eE(wJ97}8dZ_i;^=iKOw5qsT!PsesN<=j1q5(fC zlBXCoN)wJ4|$9o&4U*vr3sCp&R*CqjGu6K zhIf|dMn;sAocl9UgZlqLpgZu|m4`1x^A2c72H3`{&oFOXalY4w@mMB#O@g#w$uKl% zKmG8NI_4cJK=8jlv2-m|zxEk$0zr zZC6l~6gIgbM_35UNbWAJP0DMN$~{H`eg|2DpfxzeD!i7U9xRIWqFham{!>U!^NF9I zJ?Eo59HSBJ6f8f&*l2av6dcwX;qn=Bh&V{H+Eo0pQKSrG3#;RZ8iU@7f7Sq3e%7b% z8)G}0OvlgsmEv(7CX1j@4dT*=euVSn5hNypc%wD+V>^QWPcL+Bj`5vm*zkGD_FB!akf@)2CdX+R|@sH+{_ z+PLt^an)1zxpbj&^@|I&y$SDDbgicH%88gb!=`4SMo?8G?Ih{ONCURJKE&d0&%ytM zAW~HN1^?i$jmJ)0{`kP)j}75T$vxNryUyah07OBZZST|PTXibjXnQx9}{?g z{Rn=Q$PYZwB_!0<9&Q|cKTabvKP;BV!Uk(wc=)$VukUS(bHHVO<*~F`cWv5q z!ws7^-*{v4!(_|W?LFPYw{04t2P{9FHC|wYIyPL$_~mMbD8#fbJpOogFvv*=r74aP zI>g<4bA*bz1!!Ehu=h#Yd93kWe5rU*nqsMIA#8tr=-)xUSh{cy>XpbY8~bQ-V36U? zMg(LPCZNe>LQo&%st#~qR7~Rz#d$2f{^;V-XMoM6lY0@M3N}mRX1WHdh(w+)NwAx7 zU36><0xR<29z}jEhR&1aI&xv6c3^vl{oB>=e*o9|roWeeILUv{S`R;W5uFR-lKj52 z&VNd;jJ!A?^arf?|D|2GG?YeBIXm4ix{ii$dR$8+!MS;%yap%=9tAi2`0TJ zFzG#H(pKUNI9j)BZE_v{AE-<4&wsfKI70R1Wo``eHI6mtSH_u#8}HWRSZFcOG09pO z*!jid@8EV{c<&(vdIiZ2r6||r#zxpEtCP=6&QYXi#-A6xwX&51vU_>$Czw-Yj5d!E z%wQ^@z!sSnd~eR9U9AILgEKaDA}qi-a0GhN%F?8_!EQ@FYs>CR4gGSAFjAX^j~r zKDiflLS+wE*nPHwvP7orLQt15Pdd=oeG9Fs1gVGe7V06&Y5+EZ%TOnm*V&QzbY`fY z4-R$qbxfM`0A0O$5;^JDK|XKHKZ(4^>*Qa;1d1k|^qd;Ea4G6KKN6}|87fE`|C5;q zBT-zZvRmXmCh`S+TqS;CorJ`V@H{u~oBWqm+C#rf7o=P@GyOa<(Y?vaVo(Zd4_AQh zsnmK5Ldx%CtTatW3Xy(lIdx>SBXjS0+X^7E0^YA*RJpY&3S@k;jQV_tgi{VW_&7u1RB$fi=94)cC%Vw6#JR6gcu^;?u9L3qTg}xC zIaNP%Dw5UOA?g^jyTPhpYdW}i@?Czup7gk;s2kCS>QS>WBhh^#vi*-v6a1910$U~) zX3twlaZR@Q5-K*|0m}f}dv$E~7F{k8Mt-?;>G{iNkLKPy_C{=8iZZ^KXciO6^)}}9 z)-w!)F;OWL4~>JOT@d6DWQbAsO;f>Y?$$o`hWCzwnrrSnw4YQN462uV&U0&xyXIBM zb-6u;b7f|7Jl3JJlG|fQFhUrDZG649O@gZLxRp7V!zrGY?83APY?mrih5IqlXx=a! zo0X?D+7-!`X$WL7ai!ep{C;qNp>D=7eZRQrmG&F?^lF^7H8G7i>W8!$dNdsUw5)_p z7HWKXxsyYcCJ#vr) z5~)tn-A>BEn>ZBP&0!?cqO}|2M&M}R=Ad#OfvQXkuKhTsZtY}zSNrVb{V3jrE&^lY z?Gw~xHzxQBgSxG^eY^Q)GQ-9}TpF__1ElvCX9K`#uS%av0wagK<(XVGS-?dW zW6loIN}4~N&7>6RQlzxrP2CyVBpumCtxQLG`JA;{5N82<_{bdGHMp@((j0!n*u?Eq z@Zz$VFT@|OK+S+1dn%OQwYs^`YV>>R1zh^Hb!6;; z;b9PmKiF-SjbZq^@ik*-8)uI<&Lhe;XK*WO8mNaem0!sgu4J?Hq2F&UMSm#NJkyM_ zcr$1};rG8U=89|)fjh&KQ}F(=U;89n^^ybsuJP`RsMj1f2`O^8$$?#P46?}R0unuN zcdSKQeh=*qrN742EN)%V?9B<-id#*iqG`al8FfQYOq`5O99gHo=Y*ECLmK%)3Uwg| zO}jG+s*;q&!&K%TG(->oVCN{xXRlwsezd!%JkYE9*@NBvD3;yR+fyAJDUDPZlCZk= zxlJ>)c@;LfZ^`(hu}?D@~vzUGRENydSS!Rgr~zeLC02z zNgZY{atbFRYu6P3LyGY9mH^t+PSVz7pRkOBP ze6x8L6`m3V=Yd(V7Kx?ngV8TtdIDs+@b=3IW~yi6L~*7N)nz6*m4bxIxZJ?Gm+G|- zh*VYQR0&cP0XBQW!roVqw5sK$%ieRIt5Cf~RD8O-6Rren+4cBwKZ9K$w17MIF9v%m2Ax9Us41^!|x++!H`o#EzSpIIPOWp$KnM~nWtkP5$ZCc>iT%A6uW;fq zSa7M;L!LIh04K#PgJ$}KN?`w5atLUW`z!4ic6KwVBV4J)R4j-NITo{1C^9~*&K>pI z4tG!}f?X#ygbc*+-^NP^L=jR=5Fg09|1^@MX^P+kU^1l9lHsk^U_k;M=4~gs_4&>A z5G%ORP(GhzZpB67QH>5P$^KGt0UVf9S1+N#?GTItxDF-A;mCmsSi}b$Pvg6XOLIGL z$pBd6EX)^gunP*T#$vgME6VeCKUv7^FezW&Xn+uN2)0FW{Jw#%{`H;JQcq9!`oRHb z?tiedMV~j!Swg9I#=0%y#xr*dwI69r4MjaT4sMCZp%(nIgKHcc{m&u`Cj=VS zl(7?YY+ph(sK6&~!Xq~^LOE5~^3lS%!GsWYKFCe}@8HC9Bv`);B}+#jo;&SP2lKJ; zJ08fxDhzDU{=}>xTFF*O`GP}UfS@3A&__5)W--fU`NYv|@GrSelUvP50Sb~pwSr|J z-eyVT(f5yoo?lfn3~duQufdh}80u~L$^zesK~h?Gy4GB9Srg3M*jj2NIjam}K{&Nr z3QKj}2GLTFJsR0^T8}Uba$+_1u$_ zk3b+mIFHBQt7w_Lu{0iCc)M{JZf;0!f0dg82w-LoQQ;IDLu~lXDkiP57fx6g)-+sU ze&MkvWjO>`@M%;NVdx1>RH~qFF(wA;n|V;&IKdg6HUsjt1vZv!=PYjKk6t>cUi*vO z7*lgI_h}3;tj3`Oz$?T$_OW$Kr$@>(&L9SJUWFml*2N#NhR|rI6;&de=vVSUs7rDt z2<&N`{}_I5Ab~BiY*1B`UvaqnE?35@6gM?H<o}{=U!_Z+)G-X{}AFA&NQOB zmHtL^mqkuN^^f+^!~<IucWg1w zyi{bE4tv_Wz`F-M4knuRgtp{6qb!t8w95C3c3M`aP0}Nl%5K9rnG-WiEmr*zSDsum zHAQu$mHFM;wB1AZ<2EWdg$v6{cUdZv{F}7p?KuySIH4?i1!2WBAEZ}5jUOBrTejY{ z>DDbb4*zJ=)*ElVX&4`Va?{3iUpKPq0F{x55lYlLtHU@JBkKS4JMFFWE(A`Ut>aYs zu{d(b-73Z5v&bvx!(dFla*N0cU1+RYTxJ-E5+WC;LNqgnQx@yX4h@YjcMuEv66o#! zS$RuE(YAqij`-%2v;5!O4hU&STH{lY%ma~lx@ zhMr3C0eq&BB#%i<8=K*{lu5-cECn2WD~BTt8Ym&)$GZ>aEGEG(FVwN8fO*N>VuBd5 z3`Ce_mjhwTsn?5AKVg(u?O(5s>q=%_P1M z^AgB|W}H0FvUF{S(ZY7(2IG~sMWHpd~&W$G-XO}rylD4y?d zMog$ca+%pXqT@JTK4E~nZr^g_9oz3jqcA8tZLr7OHHjJ(zn~2hmYLkZ(E2%vAXT@A zeJ3zm{*`breXj8&E;otv^cA@0axY-Scyak5r^P$VM6QCh`GjR*T;W=5gOnE$7OOK7 zzeQT+Da?(E9$(_6g)`z01yf~uHu9)-!u6*?uxEh60PPBLOMH>z8@GvMuMf8 zJ!MXoFer3WW_Bay$69~68`6wMq!(+k#btc}-9N)Ro9g=$MJO9*J$W=BUWcPeBj8=^ zBUDct2}eXn=k~;M6^H`8x#JOsI+4`Wk?PQl_D3t zTsg3mI$U_~peLAkDRKc6tI4LZW=6XFaaJ|TNH{N_g7lu-FvN!djxz-Fi&Jy9&`=)x zh>2$Ouf$Ym(G@VHD%f_QL6wk^j@WWXG=B(q=_Fw{g?Twn1VLlDEg7yttfxgD8Vr3o zRfLk)hkCIc?$Jgu{!`ED26EG9sC$ymg=^`^MgevdYhuVT`6SK}#}P!O zuX*-*D^gn}0lf>rGp|x&*c-4veah_l=L0JBC?j z1`nhEm+@?N?2EGk?}EZCDB^2)hK~0TXrkaoO&;7L%ia-%mcy>ufJ3n(cs<}fqaD-~ z;B4)bhyyI$Z3@3V3Nt(iOL2(w=$io|f9K~VQt{TcG76}P3n`DCZM^hwMy)z!w;9Q`c8{&1u)sD+GA% zQZiba#a&vRp0;FzdM$6I&HP%g{nt%nw&)~lZIxN<{>({8E6T796ttJ#QcHruveKgt zFBOmDzVkpY@P)Y;2kAhm9ai9-p0&TKjF~yM-^1E1W?uLP2MIJ;pTbzm_jv203AG$!1 z*_4!QTmiHI%#TmlO^nX2j8-6LM;$85#+VJc9O*+u)vwMNGs)1B?kg0rSv+|Vet%d8 zN#~h93tMKk-!?fiHx6G4=5hSBPziW{+SA<%!?pJ76f^Y^% z#&j^<+dTTcXcCRK)~tPlwZ{#)mr<&OelJesy*4>KXX^q@Lq@aJczPA99vVVU zA)udUmR_Fq=hbRc_NK6Ls-6!geDn75inqmk+?^SlqbQ}KBEYp*70Dk?8~*_qP$B@c z#Q`h%I1u67o#irTFAE`m6{J!TgBL;2_1gI;uLwU9P%e1I7)lJd9)iyy1w*?DE4zc} zbiRuR3H#}%+agolXJG;e9Z&8ugn$BDE{C<~M9Q|$o`5WmBv2Fy09lEtDmP2lTYiT+ zc!;B}A2|?{`Rsf(NrOYDa4ZV~p{*IBsa8U6VX>_lmb1)KEtg(g7uOJ$ffFW4I<4N1 zMNr1IEE5WULH1w{xkFI7%MlaCBPIKLZT2GkSM7M&L!9n$S&3&ohJwdpn8pb$iZ(kg z3{~gBXkgPoN-Jg>;XrOkEFuBqfC?%J&Z4^^RDO|R;->0^$mQ$?7y?N1qzC$ogoAYT zID5a=DslD$W(^^>u&@xzan9b2Ss;k;%n=$LQKJ#}7j*-vUP^KP z87YV{xFHIj*cYxMTVY;tv3a9dm_+tWffnmSPlCWSg)C&9VWO(}>RH+NpfiH3#kgg> z-Bsu#3n8OgV42in%qkn1IpvTb7x3Sr2>=#kL|bQ)_HYU^C%;(SGB;M%wt%7}NJ(7h zd4PW9rW|Cxjf&z1nR|@n{cjkNjYNy{G!qd_V5VLJ4LD=!sg8qpWe@ktmCTc`Bf`PA z-Do#EQc<#msR0!)E0YSW4jg?@96gIx@&&WpWkVh9LiXle;=uJ<-aik+;1rn}@P{qQmA~n{(g{pWE>``$ z%9unw9_!C0_od7qvU*A7Q4of1+qogph9mHDX02_#{RMw*TO^?-gSb^%f%rH#J>fGL zko7TQ&@BmiCSt1Q^R(z!?PAd_sJ!9KJarHLKsmt@74#;wE=nPRbeCTT#O!>K3WroJ z4R}2$kuF#Gl=0}L&YrHG!T$cv&hEj!uHI3GCH*n#{Z>m8a|ni9O&iydM|l&2GoL!Z z-~{kwla-`ocBsvCeFkIo_VxGml?MmAE0uxu{p&57=}QQAwHkt!Ygf4sp}oiq^x}p{ z%rNOfxqCcJ%a+pnVi;!zL4!WbI^_fFZDwshSzBogE_Z!bS7or$-#edgYP#UMNFz!ObG)7flZ@>Mv1h!DrhSe29g9=p*R66M@Cs&^PP*oxk9i`AtO4=F;EC;&?AB-U{ zKFJ4ol6Qk1p*FAOopP|YVm&j*p`;i_3LuKQ|XKAsruuvIUY;E5ztPOWP zR!83v)!G>&Hn`RPMh_Iii<+AYN#XturcvTsn z8>xa*TgF0mSX`F{95668j{y{ETd-JLAs`+(8NJ9uE%g*qA$yqQgo2QcWY|s$kZ^Sh z#Q`4bO-g}{ApAx)#Dh{@j_%s1nV5pbgai8>Hvb|3L|q0D9Eta+8+UqPS~iBVIemy#K1ARty!1j)Htr>yU!7dspM|kvc!B05 zkC9ds=b>9JMW2SqMq;Ow3To2h(rX)sP}K%{+x!@a$J=0#WdP~^BxFZ>CM(DzLwe!F zN2#CYh-GktPEd&sA#VHLL;L~;X&hnaB9;<5@b=T`ztc@v8PYJY_FFOF;>a zFRR|9B6V=enrB;90Mjy>VThT=3D#?#J$#igf_848VdpFm2amGR89IE^V{zn(bX*;1 z&-o1=Ap00f_GN?TGu9}?aFoz8njv)1B z;|Pj%GBlSuu*;8X+z>_u0n+7U4XX68W<#k7_J!X*En9NB({Po-^t{g_giO)`NS-;|UATqqW&ygMTX_E*$u8b- zg;7DfqgCX)+a&HP@d}2^&>5_8Z`@;uC!;TufsC2T+{j^~X8<9r02{~WDYW;}t+&8( z0LnP!#XS(>0NXEv&RFdki8}tZdboXQ&xv4ovFrsVJd=0vjv7IVLNUI1`&wvX_ zESL6OdHGz#arQ*QI4pE#$i~!Nx$0PfN+G&YTfzKfs%lt+h&XDrQJMK7q6R34^G|YE z55?F>xa4-&SY2@|??4^d!Pp1h4QqQ+Y^ASOlyL_YMIwPwwSp0#Gp zmtJc=%}`a;$N2+ht@-`--p}(s@8uL=)4e7uYMpc5cklh&_OtK%pCKISp;7~hf18_D zS(v_V7lmcH#5-5b(#rnkUp|N#vI7b$*z$X}wr{nNk5P#a!y5SM!QBS?6f}xtiK7O; zKZ!_eOrDX3C4%EGj?tmBlu;ot2_JgOMUn2)KmZRO!8@%7UMM}`s+(-Pl9qdi3Mpk| z;L(?y4SART4DK1VkR1w#7f~f%$y*5Xn-`sip>ks!ehofOJmMu^onZ8Q!tCn(g+1fP zDrl32xkCzrtSMOVHsZe-#^mIp%Ss@t!UKdFz3}8sit+28;;DP>8MA>)hE%YPP!V?T z{I8}F)ESBn7q+*|NrM@IHVm#7{a8dLmW+TXG9i*VECxRo`==L9l;JQ@R)u^%3poKy zOPj9xQHrfeBEhYc8sXR_qP#;KDOeNQci;-(sKo}o35C}uQK9Hp@W#&W`}NHJ<5&)? zmj_ML@GpJ`JCAka*otbP)3^abgB38T5QB}33L6QI2ttzlVjpfW%SHJ3x3edI8S=>4 z<_S&?TskZqhy2utrRmetPLAV&SZh~t{Dz=Vr8c$j7P)B>#3oyD$7F1_kQN{^0C%Ts z0R5<)Nn&OJ?-kFrZjqxe%smft*L04AxaaqC??1^K{Ph!XK%PB=XbJMj*pcOVhYyyM z(Q>7s=bb%u+U+$mj`(&oa5EyEfa$xYNl-o-$SV~4yb=$Fs)AjlySL+ehYh`?yy z-Z%kIhFZY=VPZL9{6Eqkfk`L9A9Fk&F$}0aGL=y3vYaZMbFwN+*lT)J%)_{#3IF^h zv{~ln5EkJm%bRma_0V06>(jX4i=TLuwrV-7BCU-CmzA)I#tIK4rQvXwOBrQdldKv_ zP^u$g7Np2L+yfq(p9K|GErvqoMR#77jTz5Sd$5RC(Cnqb?~%7X(^7pC7q^{~&))IE z2PoEw$MSkT6i1lB@lQv07dmC7_ zrO9fuv0m-cxq<*L29=Lt3rUcj)lAZI2l$?LamDoW>S#6w{p_of?rq!oDB%D0{?CPg z>qdFbfcwit`0oXyh#3twz1Awx=~G@9ty$yMSM&JbNcwxy4!WFd&j_;Olbd+-^+EN$ zg{K|HFw{g3HcEEJZ%l0$%s4v+`T1VcYQ70u%X+fFPy$Oh>ACxc+n<@|tV$w2YroxQ zpLv_RxgbBIB#-J)3Fz4|q!-qKk4N!0xuZBArtny$uO(RqB0_7?W@BxuVc^#b9Yvar z8Sr=zw=Xb=mUzN3q!muGhFIk#B0UD*P9FokFq58Y?(D#27ndvi%hZnYkvhiv^c-&> z>v7J>$f9=iP1smo!j>X)z8`1arzE?5EV3E_DdycInZJ6Y$ zScfuyM*3PUOb&){J#x>+$Y?97RlwGS>+_t5wDgQq?cm1ysU<6g_K<@mJk{yFN-Gtd zT#$|(n@(A&u$XhxpXi=B5AEsGoPv$}a^nKPU15++14m+YR*2c-pPfA+`AZ+4g2<6I zj`C#Kcue2@j)@L32vuz%JHly!^6l~+;KL%k|9Q=X$EVxz@vTGdBZCc72O~hjGl4pU z$el4Xw7XUwM`-T*iD~=f>AB~_V*rO=4$z%wS&1>IR`0BF`crmtxaxM!eB;4E zU3WcIdNWYqmujcy*;Id>GffHbPP(&dcLp8lrY|3YWk>zL&L-(rU^T3(t_vxuCY~3C zZKZ28qsj*v?hY8h?VY$QfdV|Mx(BZ7)gG-|D_dn&^V~yG8KUPy0tbAd)D~uH8T&NQ` zdW`867i7^)j@X@n04AL{G+J@?m%C^7{4q5Bpvbin%mV%@qTy$&avGpdqEVk2bn5vR z5z`b~KhOgKA%JZPk;V<$8&XiAOhaR@R-IZ7U*W5vIR;BARYE>;G~c&WK` zB{Ou9ctcZoaTpHPab6q2F^so{9_?4GspUezIT$T6X#wcDz}-~3W0!`XwzI{=o5@&Ftk0$2 zYgP%bK@t^$1W&zm?$}$B7@VhH>C&Wq2n-#6_ESW=r$?3bEF?uMvEGrjD8FOa2KoaI zbd~$7oxRm4m#^(w6HHYZx%1V%mhrj27P-8?mNAG|SjV%Ri3%Hqdx zRN?khqkmWsM31OTSBpB$#|iM1=sM9t=c98Uzb*QYjJtQJhH8n`T4$-&hdzli?n~Fq z^Di(lu9fHCpj~OC>75!1r71Gf$I`BG^Z#>Izj%?=V@A-X86E^V@u>OZp|v}pD>RS{ zRV~I*I;%bs;hpW(HpC;{oWKP=FMhf3FnSbVdTH`wFTQ4@OHrIVa}>eK2zdjv#|aHj zzyfvnV=Po`TKnuIcoZaqEI=)^=0M85nE{DskZg#uQ}Xlt^JgF;=tIbL&4OgWsOuPL z#C|7Lx-Emkw*?YJTDVQc4u|M+v^e#+nvDSqAM#%<&>7V~LurL4XP~p#jYhGR;!v$? zppV6w+8Rqn>LmtOATIe~G!BHYgh?LkT;0_tj;9r!D^{-05Vg&Klb9TJ0JiJbc-K3X*wgUi z-ykBQN~<3Znl;U1Y)!iWaRyjaxj?HZ$a>NDChNl!?X*g>Ft>QEJE9F1z(Jk@$DjXM zSb;o)`v8u57)v9}YNYM$9B@oh2oJ5~wT~rcM8mc5vRM5*r{T19^-~7UogAzIJg>@O zP$WXGAS}fd&~+Y_Du?i+Qlz#v3(?pQB;{ol?DoifSvfXb9l>R-Y0~I|ojuHZmP5-d< zU~XJ0^gO#P*%;s}B?n687dy2yg|ZF*SHqla*xvE$@UWNtp5L=>&WTTuoqX=YC&LY- z%vbG({>g>*%3(SekZ~oXb%3oX-VO^NN>l9CI^IayjI3kJiG8Rct>g%(eS8y zX1U^8sRLZ8TYkBA2XlbIV>$C%M>WoZ<^jzX$7xg2bS->mMd!C-^hn}_oOeZZt{}nI z#~^NL=u%+}72xZS>!CaM=^s#i8(dg_>)@ndl_zqji z4GJ;hv&Wvcgv{Vkh@@jXwr5_(cU&^<&V>)iTvg}+$an$bnQt$orw*pk^lHGb4@0V- zH9ew^P(+HZW1uJmie_U%#fX{d*AW_^F`*F8H7nnCC!GWb^(UMlEp-K+IL;O*4QCtms7c3YSq4_rv|1*8=*RP)2_j~$iP97tb zmeHgyMf1OTmVw36;!5Wi9jy&6*%_rE%Wb<~Bao?PfBwR`51+GS62S>Pb0^=NIr;qD z%crSN33BMzr~rnLKK!8%tJlEcS(d`{SaEzr3Sp!%ojdx@%yUoc=zwYd)KkDTf9knh zO!{yV)1TLNqKhop%eH?9-Asj6tFtOm)iNeyEI`oJ+1+b5ne91|*T9ew?-D!708lD3 ztV<=hJz(Q9q-{5QYd4zk;U#*}*yxFJehiHY(xY|U!icqOpBNdV2ej6P$I^sI`O ztEhErbkjuC#_MR!O%pdSUlomyf#u_4jE10wN4K{l@O)GuEZ3@U%k`ONr3R?QyQZ@5jSAOD}Yb)hJ$~jiuqP9D-FNd z_*2pe$Ef9*Zn*z0nsnY}R@;kj&zyNtApW`E9qzdY*KWQ)``n+|ZtXH?cW&OiadYA^ z+#HC5o7w*d<-ib0(8^D7OiWor_;1?VTfVn$-JM&uB;J=tzk<%hlXZk}Ghj`QK(uc2 zhOHact-Uw#Fc09~k8yqL0l)za&xtz;e^#lYq%=fY1GWCnJHB^!0uGT<*sGwbW~tKM z+fy2-_LUfsjxTGy-F+ywSsUyv_Y79MggGphw)EBt<}nZp-_m-Ga|hp@Lx0}m&$%8V zs-mm6RSN{0*l^|;T;IwpecceGW@JFa_{#JTOvYM|V)plM&uVwj1w zw7DjPPaVNSzxx89n4Tgak44UORrDcm`$~2p4KSP=TP?SSr*w0Hd`U4q~%W2tnvjFeZs+7~Fab*fYw9 zpx)VsZ|iUTXzeQ-u4!N1Q@1!S>F{DGY#VOq;dfWOv0X+d6?Y()(Y4Z|Qp_lzf^ z0+%0ok-c~mlIPte37KAZU*@Hq^~bAd5b#%E7PHSBi4X?AV{&wimKJPLa270>hvF7o zuQ+yRt`{pjdbZOe{egNvl@H~v?kRs%mdSE^s&~>pQ{Zs=lyF#QpjkyX4Nsv0`-?gczdT*qA1gIAKP)1ny{x z2q)jAqJWegbf8A%zNn)&w|P`J@wng>gNGV?z2lC?7dV!l|0lEMJorJ`@_SM`?(b>+cwt*g6lptG~m zH_$t%g~ZE4eS?**QrBR4sIzaN%#1xWi=hB%(hI_{$zpXWcE30C(XI$zMes#pVsWaI zWtVp%A(m@`{a)=C*#u9ZI%BGPOv0O97qQRGe)*elwU15SuJ4pF#r6y8o5u#+naY z%#igl@knlk$qz+k=#;TMX8AkLZRH_c_}N=W$LrhcBL*dY6XYd+f!*yS9SSn<=Kn

X8s143XP-@g3;w9(bW$R%g&His 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 S*`^yewlJsBvB=D(yZ&z^Z*~p< diff --git a/Test/WebTest/output/a2c1138ed2328b33.deps.json b/Test/WebTest/output/a2c1138ed2328b33.deps.json index ec52732..d593dc2 100644 --- a/Test/WebTest/output/a2c1138ed2328b33.deps.json +++ b/Test/WebTest/output/a2c1138ed2328b33.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdlib": "6c658cc728d0bbf4", "main": "8046d45456d0b153", "string": "928c0ff6d8c69ec9", "requests": "a2c1138ed2328b33", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "socket": "f742623d43c327ea", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdlib": "6c658cc728d0bbf4", "requests": "a2c1138ed2328b33", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "main": "c8c02b9059ebc28d", "stdint": "f5522571bcce7bcb", "socket": "f742623d43c327ea", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/WebTest/output/f742623d43c327ea.deps.json b/Test/WebTest/output/f742623d43c327ea.deps.json index ec52732..d593dc2 100644 --- a/Test/WebTest/output/f742623d43c327ea.deps.json +++ b/Test/WebTest/output/f742623d43c327ea.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "stdio": "285b6aa29a34754d", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdlib": "6c658cc728d0bbf4", "main": "8046d45456d0b153", "string": "928c0ff6d8c69ec9", "requests": "a2c1138ed2328b33", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "socket": "f742623d43c327ea", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdlib": "6c658cc728d0bbf4", "requests": "a2c1138ed2328b33", "atom": "aa246c6e6aa30484", "platmacro": "b57252077e6b596b", "main": "c8c02b9059ebc28d", "stdint": "f5522571bcce7bcb", "socket": "f742623d43c327ea", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/WebTest/temp/8046d45456d0b153.doc.json b/Test/WebTest/temp/8046d45456d0b153.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/WebTest/temp/8046d45456d0b153.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/WebTest/temp/8046d45456d0b153.vpi b/Test/WebTest/temp/8046d45456d0b153.vpi deleted file mode 100644 index cea83df..0000000 --- a/Test/WebTest/temp/8046d45456d0b153.vpi +++ /dev/null @@ -1,18 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -import t, c -from stdint import * -import stdio -import stdlib -import socket -import memhub -import requests - -_mbuddy: t.CExtern | memhub.MemBuddy | t.CPtr - -@t.CExport -def main() -> int: pass diff --git a/Test/WebTest/temp/_phase1_manifest.json b/Test/WebTest/temp/_phase1_manifest.json index 5d03f79..84d1c5c 100644 --- a/Test/WebTest/temp/_phase1_manifest.json +++ b/Test/WebTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\WebTest\\App\\main.vp": {"sha1": "8046d45456d0b153", "mtime": 1783055933.4493492, "size": 2570}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.vp": {"sha1": "b57252077e6b596b", "mtime": 1785332415.2187803, "size": 1266}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\requests.vp": {"sha1": "a2c1138ed2328b33", "mtime": 1785320389.7040715, "size": 9839}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\socket.vp": {"sha1": "f742623d43c327ea", "mtime": 1785319698.632702, "size": 14717}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\winsock2.vp": {"sha1": "6446627d4f07a1b5", "mtime": 1783052668.8022628, "size": 3547}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\WebTest\\App\\main.vp": {"sha1": "c8c02b9059ebc28d", "mtime": 1786189362.0426824, "size": 2589}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.vp": {"sha1": "b57252077e6b596b", "mtime": 1785332415.2187803, "size": 1266}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\requests.vp": {"sha1": "a2c1138ed2328b33", "mtime": 1785320389.7040715, "size": 9839}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\socket.vp": {"sha1": "f742623d43c327ea", "mtime": 1785319698.632702, "size": 14717}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "4c39369ffedaddac", "mtime": 1786188859.6154988, "size": 12277}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\winsock2.vp": {"sha1": "6446627d4f07a1b5", "mtime": 1783052668.8022628, "size": 3547}} \ No newline at end of file diff --git a/Test/WebTest/temp/_sha1_map.txt b/Test/WebTest/temp/_sha1_map.txt index b597b28..5547f07 100644 --- a/Test/WebTest/temp/_sha1_map.txt +++ b/Test/WebTest/temp/_sha1_map.txt @@ -1,13 +1,13 @@ -04e5fe47ff2af528:includes/memhub.vp +2408ce147bac090b:includes/memhub.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +4c39369ffedaddac:includes/string.vp 6446627d4f07a1b5:includes/w32\winsock2.vp 6c658cc728d0bbf4:includes/stdlib.vp -8046d45456d0b153:main.vp -928c0ff6d8c69ec9:includes/string.vp a2c1138ed2328b33:includes/requests.vp aa246c6e6aa30484:includes/atom.vp b57252077e6b596b:includes/platmacro.vp -c9f4be41ca1cc2b4:includes/viperio.vp +c8c02b9059ebc28d:main.vp f5522571bcce7bcb:includes/stdint.vp f742623d43c327ea:includes/socket.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/WebTest/temp/a2c1138ed2328b33.stub.ll.dep b/Test/WebTest/temp/a2c1138ed2328b33.stub.ll.dep index 82735c2..7ac4a58 100644 --- a/Test/WebTest/temp/a2c1138ed2328b33.stub.ll.dep +++ b/Test/WebTest/temp/a2c1138ed2328b33.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6446627d4f07a1b5|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|b57252077e6b596b|c9f4be41ca1cc2b4|f5522571bcce7bcb|f742623d43c327ea|fc980acec33d69a7 \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|4c39369ffedaddac|6446627d4f07a1b5|6c658cc728d0bbf4|aa246c6e6aa30484|b57252077e6b596b|f5522571bcce7bcb|f742623d43c327ea|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/WebTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/WebTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/WebTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/WebTest/temp/c9f4be41ca1cc2b4.vpi b/Test/WebTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/WebTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/WebTest/temp/f742623d43c327ea.stub.ll.dep b/Test/WebTest/temp/f742623d43c327ea.stub.ll.dep index e066296..eb370bf 100644 --- a/Test/WebTest/temp/f742623d43c327ea.stub.ll.dep +++ b/Test/WebTest/temp/f742623d43c327ea.stub.ll.dep @@ -1 +1 @@ -285b6aa29a34754d|6446627d4f07a1b5|928c0ff6d8c69ec9|b57252077e6b596b|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file +285b6aa29a34754d|4c39369ffedaddac|6446627d4f07a1b5|b57252077e6b596b|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/03/03b24bc1d9327958.deps.txt b/Test/ZlibTest/.tpv_build/temp/03/03b24bc1d9327958.deps.txt deleted file mode 100644 index e3f9b44..0000000 --- a/Test/ZlibTest/.tpv_build/temp/03/03b24bc1d9327958.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdio string __zlib.pyzlib pyzlib __zlib.zdeflate zdeflate __zlib.zinflate zinflate __zlib.zchecksum zchecksum __zlib.zdef zdef __zlib.zhuff zhuff __zlib.test_pyzlib tpz w32.win32memory w32 c testcheck \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/03/03b24bc1d9327958.vpi b/Test/ZlibTest/.tpv_build/temp/03/03b24bc1d9327958.vpi deleted file mode 100644 index d556dd9..0000000 --- a/Test/ZlibTest/.tpv_build/temp/03/03b24bc1d9327958.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t -import stdio -import string -import __zlib.pyzlib as pyzlib -import __zlib.zdeflate as zdeflate -import __zlib.zinflate as zinflate -import __zlib.zchecksum as zchecksum -import __zlib.zdef as zdef -import __zlib.zhuff as zhuff -import __zlib.test_pyzlib as tpz -import w32.win32memory -import c -import testcheck -def main() -> t.CInt: pass - diff --git a/Test/ZlibTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/ZlibTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/ZlibTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/ZlibTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/ZlibTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ZlibTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/ZlibTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ZlibTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/ZlibTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ZlibTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/ZlibTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/ZlibTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/ZlibTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/ZlibTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/ZlibTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/ZlibTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/ZlibTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/ZlibTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/ZlibTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/ZlibTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/ZlibTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/ZlibTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/ZlibTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/ZlibTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/ZlibTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/ZlibTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/ZlibTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/ZlibTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ZlibTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/ZlibTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/ZlibTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/ZlibTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ZlibTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/ZlibTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/ZlibTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/ZlibTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ZlibTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/ZlibTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/ZlibTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/ZlibTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/ZlibTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/ZlibTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ZlibTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/ZlibTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/ZlibTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/ZlibTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ZlibTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/ZlibTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ZlibTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/ZlibTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ZlibTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi b/Test/ZlibTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index 837f0e5..0000000 --- a/Test/ZlibTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,86 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -MEM_COMMIT: t.CDefine = 4096 -MEM_RESERVE: t.CDefine = 8192 -MEM_DECOMMIT: t.CDefine = 16384 -MEM_RELEASE: t.CDefine = 32768 -MEM_FREE: t.CDefine = 65536 -MEM_RESET: t.CDefine = 524288 -MEM_TOP_DOWN: t.CDefine = 1048576 -MEM_WRITE_WATCH: t.CDefine = 2097152 -MEM_PHYSICAL: t.CDefine = 4194304 -MEM_LARGE_PAGES: t.CDefine = 536870912 -PAGE_NOACCESS: t.CDefine = 1 -PAGE_READONLY: t.CDefine = 2 -PAGE_READWRITE: t.CDefine = 4 -PAGE_WRITECOPY: t.CDefine = 8 -PAGE_EXECUTE: t.CDefine = 16 -PAGE_EXECUTE_READ: t.CDefine = 32 -PAGE_EXECUTE_READWRITE: t.CDefine = 64 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 128 -PAGE_GUARD: t.CDefine = 256 -PAGE_NOCACHE: t.CDefine = 512 -PAGE_WRITECOMBINE: t.CDefine = 1024 -HEAP_NO_SERIALIZE: t.CDefine = 1 -HEAP_GROWABLE: t.CDefine = 2 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 4 -HEAP_ZERO_MEMORY: t.CDefine = 8 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 16 -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - diff --git a/Test/ZlibTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/ZlibTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/ZlibTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/ZlibTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/ZlibTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/87/87b3eab7da115d70.vpi b/Test/ZlibTest/.tpv_build/temp/87/87b3eab7da115d70.vpi deleted file mode 100644 index 8d699be..0000000 --- a/Test/ZlibTest/.tpv_build/temp/87/87b3eab7da115d70.vpi +++ /dev/null @@ -1,119 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import zdeflate -import zinflate -import zchecksum -import zdef -import zhuff -import stdlib -import string -import t, c -Z_NO_COMPRESSION: t.CDefine = 0 -Z_BEST_SPEED: t.CDefine = 1 -Z_BEST_COMPRESSION: t.CDefine = 9 -Z_DEFAULT_COMPRESSION: t.CDefine = 4294967295 -DEFLATED: t.CDefine = 8 -Z_NO_FLUSH: t.CDefine = 0 -Z_PARTIAL_FLUSH: t.CDefine = 1 -Z_SYNC_FLUSH: t.CDefine = 2 -Z_FULL_FLUSH: t.CDefine = 3 -Z_FINISH: t.CDefine = 4 -Z_BLOCK: t.CDefine = 5 -Z_TREES: t.CDefine = 6 -Z_DEFAULT_STRATEGY: t.CDefine = 0 -Z_FILTERED: t.CDefine = 1 -Z_HUFFMAN_ONLY: t.CDefine = 2 -Z_RLE: t.CDefine = 3 -Z_FIXED: t.CDefine = 4 -Z_OK: t.CDefine = 0 -Z_STREAM_END: t.CDefine = 1 -Z_NEED_DICT: t.CDefine = 2 -Z_ERRNO: t.CDefine = 4294967295 -Z_STREAM_ERROR: t.CDefine = 4294967294 -Z_DATA_ERROR: t.CDefine = 4294967293 -Z_MEM_ERROR: t.CDefine = 4294967292 -Z_BUF_ERROR: t.CDefine = 4294967291 -Z_VERSION_ERROR: t.CDefine = 4294967290 -MAX_WBITS: t.CDefine = 15 -DEF_BUF_SIZE: t.CDefine = 16384 -DEF_MEM_LEVEL: t.CDefine = 8 -ZLIB_VERSION: t.CDefine -pyzlib_error_msg: t.CArray[t.CChar, t.CInt] -pyzlib_error_code_val: t.CInt = 0 -@t.Object -class Compress: - stream: VOIDPTR - is_initialized: t.CInt - is_finished: t.CInt - level: t.CInt - method: t.CInt - wbits: t.CInt - memLevel: t.CInt - strategy: t.CInt - zdict: BYTEPTR - zdict_len: t.CSizeT - last_pos: t.CSizeT - input_buf: BYTEPTR - input_buf_len: t.CSizeT - input_buf_cap: t.CSizeT - header_written: t.CInt - def compress(self, data: BYTEPTR, data_len: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def flush(self, mode: t.CInt, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def copy(self) -> Compress | t.CPtr: pass - def delete(self): pass - def __del__(self): pass - -@t.Object -class Decompress: - stream: VOIDPTR - is_initialized: t.CInt - eof: t.CInt - wbits: t.CInt - zdict: BYTEPTR - zdict_len: t.CSizeT - _unused_data: BYTEPTR - _unused_data_len: t.CSizeT - _unused_data_cap: t.CSizeT - _unconsumed_tail: BYTEPTR - _unconsumed_tail_len: t.CSizeT - _unconsumed_tail_cap: t.CSizeT - input_buf: BYTEPTR - input_buf_len: t.CSizeT - input_buf_cap: t.CSizeT - def decompress(self, data: BYTEPTR, data_len: t.CSizeT, max_length: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def flush(self, length: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def copy(self) -> Decompress | t.CPtr: pass - def delete(self): pass - def unused_data(self, length: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def unconsumed_tail(self, length: t.CSizeT | t.CPtr) -> BYTEPTR: pass - -def set_error(code: int, msg: str): pass - -def clone_bytes(src: BYTEPTR, length: t.CSizeT) -> BYTEPTR: pass - -def append_bytes(buf: BYTE | t.CPtr[t.CPtr], length: t.CSizeT | t.CPtr, cap: t.CSizeT | t.CPtr, data: BYTEPTR, data_len: t.CSizeT) -> t.CInt: pass - -def shrink_to_fit(buf: BYTEPTR, length: t.CSizeT) -> BYTEPTR: pass - -def runtime_version() -> str: pass - -def get_error() -> str: pass - -def get_error_code() -> t.CInt: pass - -def clear_error(): pass - -def compress(data: BYTEPTR, data_len: t.CSizeT, level: t.CInt, wbits: t.CInt, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - -def decompress(data: BYTEPTR, data_len: t.CSizeT, wbits: t.CInt, bufsize: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - -def compressobj(level: t.CInt, method: t.CInt, wbits: t.CInt, memLevel: t.CInt, strategy: t.CInt, zdict: BYTEPTR, zdict_len: t.CSizeT) -> Compress | t.CPtr: pass - -def decompressobj(wbits: t.CInt, zdict: BYTEPTR, zdict_len: t.CSizeT) -> Decompress | t.CPtr: pass - -def zlib_adler32(data: BYTEPTR, length: t.CSizeT, value: t.CUnsignedLong) -> t.CUnsignedLong: pass - -def zlib_crc32(data: BYTEPTR, length: t.CSizeT, value: t.CUnsignedLong) -> t.CUnsignedLong: pass - diff --git a/Test/ZlibTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/ZlibTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/ZlibTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/ZlibTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/ZlibTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/ZlibTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/_sha1_map.txt b/Test/ZlibTest/.tpv_build/temp/_sha1_map.txt index bc9cd5a..32c2d1d 100644 --- a/Test/ZlibTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/ZlibTest/.tpv_build/temp/_sha1_map.txt @@ -1,24 +1,25 @@ aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp 6ddf430432a0e373:includes/json/__init__.vp 240a9a4157959a9f:includes/json/__parser.vp 20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -72e2d5ccb7cedcf1:includes/w32/win32memory.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +fb67ebda973806ad:includes/w32/win32memory.vp +a92fc54f13764510:includes/zlib/pyzlib.vp +8ebed83a7817fa0c:includes/zlib/zchecksum.vp +aeecc904d6ff52b1:includes/zlib/zdef.vp +86e699622c143be4:includes/zlib/zdeflate.vp +0356c825384821cf:includes/zlib/zhuff.vp +53a851b5e8241473:includes/zlib/zinflate.vp e0f0afe3caa1e486:includes/_dict.vp 7cadfe07e983fd90:includes/_list.vp -03b24bc1d9327958:main.vp -87b3eab7da115d70:__zlib/pyzlib.vp -d89fed00456895c6:__zlib/test_pyzlib.vp -cb151b297f4ea56d:__zlib/zchecksum.vp -cda405a4c150e028:__zlib/zdef.vp -ee3f4534b0bcf6c2:__zlib/zdeflate.vp -7e96bad77926b481:__zlib/zhuff.vp -83d6521067b9a42d:__zlib/zinflate.vp +e2636960dbd2d187:main.vp +e8e3d15126cdf5cb:test_pyzlib.vp diff --git a/Test/ZlibTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/ZlibTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/ZlibTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/ZlibTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/ZlibTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/ZlibTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/ZlibTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/ZlibTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/ZlibTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/ZlibTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/ZlibTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/ZlibTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/ZlibTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/ZlibTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/ZlibTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/ZlibTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/ZlibTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/ZlibTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ZlibTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/ZlibTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/ZlibTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/ZlibTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/ZlibTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/ZlibTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/ZlibTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ZlibTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/ZlibTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/ZlibTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/ZlibTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/ZlibTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/ZlibTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/ZlibTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/ZlibTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/ZlibTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/ZlibTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/ZlibTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/ZlibTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/ZlibTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/ZlibTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/ZlibTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/ZlibTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/ZlibTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/ZlibTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/ZlibTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/ZlibTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/ZlibTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/ZlibTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/ZlibTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/ZlibTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/ZlibTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/ZlibTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/ZlibTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/ZlibTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/ZlibTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/ZlibTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/ZlibTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/ZlibTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/ZlibTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/ZlibTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/ZlibTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/ZlibTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/ZlibTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/ZlibTest/output/03b24bc1d9327958.deps.json b/Test/ZlibTest/output/03b24bc1d9327958.deps.json deleted file mode 100644 index 09a1aeb..0000000 --- a/Test/ZlibTest/output/03b24bc1d9327958.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"__zlib.pyzlib": "0f8134f67bdaba8f", "pyzlib": "0f8134f67bdaba8f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "__zlib.zdeflate": "784dde8a8697b7ab", "zdeflate": "784dde8a8697b7ab", "string": "928c0ff6d8c69ec9", "__zlib.zdef": "9b7d2adaae94f021", "zdef": "9b7d2adaae94f021", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "__zlib.zchecksum": "cb151b297f4ea56d", "zchecksum": "cb151b297f4ea56d", "__zlib.test_pyzlib": "d855b3e66d1d6522", "test_pyzlib": "d855b3e66d1d6522", "__zlib.zhuff": "dd19090b337e9bea", "zhuff": "dd19090b337e9bea", "__zlib.zinflate": "e445a2bb299d1b7d", "zinflate": "e445a2bb299d1b7d", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ZlibTest/output/0f8134f67bdaba8f.deps.json b/Test/ZlibTest/output/0f8134f67bdaba8f.deps.json deleted file mode 100644 index 557abb1..0000000 --- a/Test/ZlibTest/output/0f8134f67bdaba8f.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"main": "03b24bc1d9327958", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "__zlib.zdeflate": "784dde8a8697b7ab", "zdeflate": "784dde8a8697b7ab", "string": "928c0ff6d8c69ec9", "__zlib.zdef": "9b7d2adaae94f021", "zdef": "9b7d2adaae94f021", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "__zlib.zchecksum": "cb151b297f4ea56d", "zchecksum": "cb151b297f4ea56d", "__zlib.test_pyzlib": "d855b3e66d1d6522", "test_pyzlib": "d855b3e66d1d6522", "__zlib.zhuff": "dd19090b337e9bea", "zhuff": "dd19090b337e9bea", "__zlib.zinflate": "e445a2bb299d1b7d", "zinflate": "e445a2bb299d1b7d", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ZlibTest/output/784dde8a8697b7ab.deps.json b/Test/ZlibTest/output/784dde8a8697b7ab.deps.json deleted file mode 100644 index 7958eb3..0000000 --- a/Test/ZlibTest/output/784dde8a8697b7ab.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"main": "03b24bc1d9327958", "__zlib.pyzlib": "0f8134f67bdaba8f", "pyzlib": "0f8134f67bdaba8f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "__zlib.zdef": "9b7d2adaae94f021", "zdef": "9b7d2adaae94f021", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "__zlib.zchecksum": "cb151b297f4ea56d", "zchecksum": "cb151b297f4ea56d", "__zlib.test_pyzlib": "d855b3e66d1d6522", "test_pyzlib": "d855b3e66d1d6522", "__zlib.zhuff": "dd19090b337e9bea", "zhuff": "dd19090b337e9bea", "__zlib.zinflate": "e445a2bb299d1b7d", "zinflate": "e445a2bb299d1b7d", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ZlibTest/output/9b7d2adaae94f021.deps.json b/Test/ZlibTest/output/9b7d2adaae94f021.deps.json deleted file mode 100644 index a619c2d..0000000 --- a/Test/ZlibTest/output/9b7d2adaae94f021.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"main": "03b24bc1d9327958", "__zlib.pyzlib": "0f8134f67bdaba8f", "pyzlib": "0f8134f67bdaba8f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "__zlib.zdeflate": "784dde8a8697b7ab", "zdeflate": "784dde8a8697b7ab", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "__zlib.zchecksum": "cb151b297f4ea56d", "zchecksum": "cb151b297f4ea56d", "__zlib.test_pyzlib": "d855b3e66d1d6522", "test_pyzlib": "d855b3e66d1d6522", "__zlib.zhuff": "dd19090b337e9bea", "zhuff": "dd19090b337e9bea", "__zlib.zinflate": "e445a2bb299d1b7d", "zinflate": "e445a2bb299d1b7d", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ZlibTest/output/cb151b297f4ea56d.deps.json b/Test/ZlibTest/output/cb151b297f4ea56d.deps.json deleted file mode 100644 index 7edc094..0000000 --- a/Test/ZlibTest/output/cb151b297f4ea56d.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"main": "03b24bc1d9327958", "__zlib.pyzlib": "0f8134f67bdaba8f", "pyzlib": "0f8134f67bdaba8f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "__zlib.zdeflate": "784dde8a8697b7ab", "zdeflate": "784dde8a8697b7ab", "string": "928c0ff6d8c69ec9", "__zlib.zdef": "9b7d2adaae94f021", "zdef": "9b7d2adaae94f021", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "__zlib.test_pyzlib": "d855b3e66d1d6522", "test_pyzlib": "d855b3e66d1d6522", "__zlib.zhuff": "dd19090b337e9bea", "zhuff": "dd19090b337e9bea", "__zlib.zinflate": "e445a2bb299d1b7d", "zinflate": "e445a2bb299d1b7d", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ZlibTest/output/d855b3e66d1d6522.deps.json b/Test/ZlibTest/output/d855b3e66d1d6522.deps.json deleted file mode 100644 index e840059..0000000 --- a/Test/ZlibTest/output/d855b3e66d1d6522.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"main": "03b24bc1d9327958", "__zlib.pyzlib": "0f8134f67bdaba8f", "pyzlib": "0f8134f67bdaba8f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "__zlib.zdeflate": "784dde8a8697b7ab", "zdeflate": "784dde8a8697b7ab", "string": "928c0ff6d8c69ec9", "__zlib.zdef": "9b7d2adaae94f021", "zdef": "9b7d2adaae94f021", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "__zlib.zchecksum": "cb151b297f4ea56d", "zchecksum": "cb151b297f4ea56d", "__zlib.zhuff": "dd19090b337e9bea", "zhuff": "dd19090b337e9bea", "__zlib.zinflate": "e445a2bb299d1b7d", "zinflate": "e445a2bb299d1b7d", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ZlibTest/output/dd19090b337e9bea.deps.json b/Test/ZlibTest/output/dd19090b337e9bea.deps.json deleted file mode 100644 index 74c33c4..0000000 --- a/Test/ZlibTest/output/dd19090b337e9bea.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"main": "03b24bc1d9327958", "__zlib.pyzlib": "0f8134f67bdaba8f", "pyzlib": "0f8134f67bdaba8f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "__zlib.zdeflate": "784dde8a8697b7ab", "zdeflate": "784dde8a8697b7ab", "string": "928c0ff6d8c69ec9", "__zlib.zdef": "9b7d2adaae94f021", "zdef": "9b7d2adaae94f021", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "__zlib.zchecksum": "cb151b297f4ea56d", "zchecksum": "cb151b297f4ea56d", "__zlib.test_pyzlib": "d855b3e66d1d6522", "test_pyzlib": "d855b3e66d1d6522", "__zlib.zinflate": "e445a2bb299d1b7d", "zinflate": "e445a2bb299d1b7d", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ZlibTest/output/e445a2bb299d1b7d.deps.json b/Test/ZlibTest/output/e445a2bb299d1b7d.deps.json deleted file mode 100644 index f29302f..0000000 --- a/Test/ZlibTest/output/e445a2bb299d1b7d.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"main": "03b24bc1d9327958", "__zlib.pyzlib": "0f8134f67bdaba8f", "pyzlib": "0f8134f67bdaba8f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "testcheck": "748d0424e8976fa0", "__zlib.zdeflate": "784dde8a8697b7ab", "zdeflate": "784dde8a8697b7ab", "string": "928c0ff6d8c69ec9", "__zlib.zdef": "9b7d2adaae94f021", "zdef": "9b7d2adaae94f021", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "__zlib.zchecksum": "cb151b297f4ea56d", "zchecksum": "cb151b297f4ea56d", "__zlib.test_pyzlib": "d855b3e66d1d6522", "test_pyzlib": "d855b3e66d1d6522", "__zlib.zhuff": "dd19090b337e9bea", "zhuff": "dd19090b337e9bea", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/ZlibTest/temp/03b24bc1d9327958.doc.json b/Test/ZlibTest/temp/03b24bc1d9327958.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/ZlibTest/temp/03b24bc1d9327958.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/ZlibTest/temp/03b24bc1d9327958.vpi b/Test/ZlibTest/temp/03b24bc1d9327958.vpi deleted file mode 100644 index c48b581..0000000 --- a/Test/ZlibTest/temp/03b24bc1d9327958.vpi +++ /dev/null @@ -1,21 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -import t -import stdio -import string -import __zlib.pyzlib as pyzlib -import __zlib.zdeflate as zdeflate -import __zlib.zinflate as zinflate -import __zlib.zchecksum as zchecksum -import __zlib.zdef as zdef -import __zlib.zhuff as zhuff -import __zlib.test_pyzlib as tpz -import w32.win32memory -import c -import testcheck - -def main() -> t.CInt: pass diff --git a/Test/ZlibTest/temp/067c78e9f121dce3.vpi b/Test/ZlibTest/temp/067c78e9f121dce3.vpi deleted file mode 100644 index a606126..0000000 --- a/Test/ZlibTest/temp/067c78e9f121dce3.vpi +++ /dev/null @@ -1,136 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32process.vp -Module: w32.win32process -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -PROCESS_TERMINATE: t.CDefine = 0x0001 -PROCESS_CREATE_THREAD: t.CDefine = 0x0002 -PROCESS_VM_OPERATION: t.CDefine = 0x0008 -PROCESS_VM_READ: t.CDefine = 0x0010 -PROCESS_VM_WRITE: t.CDefine = 0x0020 -PROCESS_QUERY_INFORMATION: t.CDefine = 0x0400 -PROCESS_ALL_ACCESS: t.CDefine = 0x001FFFFF -THREAD_TERMINATE: t.CDefine = 0x0001 -THREAD_SUSPEND_RESUME: t.CDefine = 0x0002 -THREAD_GET_CONTEXT: t.CDefine = 0x0008 -THREAD_SET_CONTEXT: t.CDefine = 0x0010 -THREAD_QUERY_INFORMATION: t.CDefine = 0x0040 -THREAD_ALL_ACCESS: t.CDefine = 0x001FFFFF -CREATE_SUSPENDED: t.CDefine = 0x00000004 -CREATE_NEW_CONSOLE: t.CDefine = 0x00000010 -CREATE_NEW_PROCESS_GROUP: t.CDefine = 0x00000200 -CREATE_NO_WINDOW: t.CDefine = 0x08000000 -DETACHED_PROCESS: t.CDefine = 0x00000008 -STARTF_USESHOWWINDOW: t.CDefine = 0x00000001 -STARTF_USESTDHANDLES: t.CDefine = 0x00000100 -SW_HIDE: t.CDefine = 0 -SW_SHOW: t.CDefine = 5 -SW_MINIMIZE: t.CDefine = 6 -NORMAL_PRIORITY_CLASS: t.CDefine = 0x00000020 -IDLE_PRIORITY_CLASS: t.CDefine = 0x00000040 -HIGH_PRIORITY_CLASS: t.CDefine = 0x00000080 -REALTIME_PRIORITY_CLASS: t.CDefine = 0x00000100 -BELOW_NORMAL_PRIORITY_CLASS: t.CDefine = 0x00004000 -ABOVE_NORMAL_PRIORITY_CLASS: t.CDefine = 0x00008000 -STILL_ACTIVE: t.CDefine = 259 - -class STARTUPINFOA: - cb: ULONG - lpReserved: CHARPTR - lpDesktop: CHARPTR - lpTitle: CHARPTR - dwX: ULONG - dwY: ULONG - dwXSize: ULONG - dwYSize: ULONG - dwXCountChars: ULONG - dwYCountChars: ULONG - dwFillAttribute: ULONG - dwFlags: ULONG - wShowWindow: WORD - cbReserved2: WORD - lpReserved2: VOIDPTR - hStdInput: HANDLE - hStdOutput: HANDLE - hStdError: HANDLE -class STARTUPINFOW: - cb: ULONG - lpReserved: WCHARPTR - lpDesktop: WCHARPTR - lpTitle: WCHARPTR - dwX: ULONG - dwY: ULONG - dwXSize: ULONG - dwYSize: ULONG - dwXCountChars: ULONG - dwYCountChars: ULONG - dwFillAttribute: ULONG - dwFlags: ULONG - wShowWindow: WORD - cbReserved2: WORD - lpReserved2: VOIDPTR - hStdInput: HANDLE - hStdOutput: HANDLE - hStdError: HANDLE -class PROCESS_INFORMATION: - hProcess: HANDLE - hThread: HANDLE - dwProcessId: ULONG - dwThreadId: ULONG - -def CreateProcessA(lpApplicationName: LPCSTR, lpCommandLine: CHARPTR, lpProcessAttributes: SECURITY_ATTRIBUTES | t.CPtr, lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInheritHandles: BOOL, dwCreationFlags: ULONG, lpEnvironment: VOIDPTR, lpCurrentDirectory: LPCSTR, lpStartupInfo: STARTUPINFOA | t.CPtr, lpProcessInformation: PROCESS_INFORMATION | t.CPtr) -> BOOL | t.State: pass - -def CreateProcessW(lpApplicationName: LPCWSTR, lpCommandLine: WCHARPTR, lpProcessAttributes: SECURITY_ATTRIBUTES | t.CPtr, lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInheritHandles: BOOL, dwCreationFlags: ULONG, lpEnvironment: VOIDPTR, lpCurrentDirectory: LPCWSTR, lpStartupInfo: STARTUPINFOW | t.CPtr, lpProcessInformation: PROCESS_INFORMATION | t.CPtr) -> BOOL | t.State: pass - -def TerminateProcess(hProcess: HANDLE, uExitCode: UINT) -> BOOL | t.State: pass - -def GetExitCodeProcess(hProcess: HANDLE, lpExitCode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetExitCodeThread(hThread: HANDLE, lpExitCode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def OpenProcess(dwDesiredAccess: ULONG, bInheritHandle: BOOL, dwProcessId: ULONG) -> HANDLE | t.State: pass - -def GetCurrentProcess() -> HANDLE | t.State: pass - -def GetCurrentProcessId() -> ULONG | t.State: pass - -def CreateThread(lpThreadAttributes: SECURITY_ATTRIBUTES | t.CPtr, dwStackSize: t.CSizeT, lpStartAddress: VOIDPTR, lpParameter: VOIDPTR, dwCreationFlags: ULONG, lpThreadId: ULONG | t.CPtr) -> HANDLE | t.State: pass - -def OpenThread(dwDesiredAccess: ULONG, bInheritHandle: BOOL, dwThreadId: ULONG) -> HANDLE | t.State: pass - -def SuspendThread(hThread: HANDLE) -> ULONG | t.State: pass - -def ResumeThread(hThread: HANDLE) -> ULONG | t.State: pass - -def TerminateThread(hThread: HANDLE, dwExitCode: ULONG) -> BOOL | t.State: pass - -def GetCurrentThread() -> HANDLE | t.State: pass - -def GetCurrentThreadId() -> ULONG | t.State: pass - -def GetThreadId(hThread: HANDLE) -> ULONG | t.State: pass - -def GetProcessId(hProcess: HANDLE) -> ULONG | t.State: pass - -def SetThreadPriority(hThread: HANDLE, nPriority: INT) -> BOOL | t.State: pass - -def GetThreadPriority(hThread: HANDLE) -> INT | t.State: pass - -def ExitProcess(uExitCode: UINT) -> VOID | t.State: pass - -def ExitThread(dwExitCode: ULONG) -> VOID | t.State: pass - -def TlsAlloc() -> ULONG | t.State: pass - -def TlsFree(dwTlsIndex: ULONG) -> BOOL | t.State: pass - -def TlsGetValue(dwTlsIndex: ULONG) -> VOIDPTR | t.State: pass - -def TlsSetValue(dwTlsIndex: ULONG, lpTlsValue: VOIDPTR) -> BOOL | t.State: pass diff --git a/Test/ZlibTest/temp/06f53cc594b4ac6c.vpi b/Test/ZlibTest/temp/06f53cc594b4ac6c.vpi deleted file mode 100644 index ac278f4..0000000 --- a/Test/ZlibTest/temp/06f53cc594b4ac6c.vpi +++ /dev/null @@ -1,109 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32sync.vp -Module: w32.win32sync -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -class CRITICAL_SECTION: - DebugInfo: VOIDPTR - LockCount: LONG - RecursionCount: LONG - OwningThread: HANDLE - LockSemaphore: HANDLE - SpinCount: QWORD - -def InitializeCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def EnterCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def LeaveCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def DeleteCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> VOID | t.State: pass - -def TryEnterCriticalSection(lpCriticalSection: CRITICAL_SECTION | t.CPtr) -> BOOL | t.State: pass - -def SetCriticalSectionSpinCount(lpCriticalSection: CRITICAL_SECTION | t.CPtr, dwSpinCount: ULONG) -> ULONG | t.State: pass - -def InitializeCriticalSectionAndSpinCount(lpCriticalSection: CRITICAL_SECTION | t.CPtr, dwSpinCount: ULONG) -> BOOL | t.State: pass - -def CreateMutexA(lpMutexAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInitialOwner: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateMutexW(lpMutexAttributes: SECURITY_ATTRIBUTES | t.CPtr, bInitialOwner: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenMutexA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenMutexW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def ReleaseMutex(hMutex: HANDLE) -> BOOL | t.State: pass - -def CreateEventA(lpEventAttributes: SECURITY_ATTRIBUTES | t.CPtr, bManualReset: BOOL, bInitialState: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateEventW(lpEventAttributes: SECURITY_ATTRIBUTES | t.CPtr, bManualReset: BOOL, bInitialState: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenEventA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenEventW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def SetEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def ResetEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def PulseEvent(hEvent: HANDLE) -> BOOL | t.State: pass - -def CreateSemaphoreA(lpSemaphoreAttributes: SECURITY_ATTRIBUTES | t.CPtr, lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCSTR) -> HANDLE | t.State: pass - -def CreateSemaphoreW(lpSemaphoreAttributes: SECURITY_ATTRIBUTES | t.CPtr, lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def OpenSemaphoreA(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE | t.State: pass - -def OpenSemaphoreW(dwDesiredAccess: ULONG, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE | t.State: pass - -def ReleaseSemaphore(hSemaphore: HANDLE, lReleaseCount: LONG, lpPreviousCount: LONG | t.CPtr) -> BOOL | t.State: pass - -def WaitForSingleObject(hHandle: HANDLE, dwMilliseconds: ULONG) -> ULONG | t.State: pass - -def WaitForSingleObjectEx(hHandle: HANDLE, dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def WaitForMultipleObjects(nCount: ULONG, lpHandles: VOIDPTR, bWaitAll: BOOL, dwMilliseconds: ULONG) -> ULONG | t.State: pass - -def WaitForMultipleObjectsEx(nCount: ULONG, lpHandles: VOIDPTR, bWaitAll: BOOL, dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def InitializeSRWLock(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def AcquireSRWLockExclusive(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def AcquireSRWLockShared(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def ReleaseSRWLockExclusive(SRWLock: VOIDPTR) -> VOID | t.State: pass - -def ReleaseSRWLockShared(SRWLock: VOIDPTR) -> VOID | t.State: pass - - -CONDITION_VARIABLE_LOCKMODE_SHARED: t.CDefine = 0x1 - -def InitializeConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - -def SleepConditionVariableCS(ConditionVariable: VOIDPTR, CriticalSection: CRITICAL_SECTION | t.CPtr, dwMilliseconds: ULONG) -> BOOL | t.State: pass - -def SleepConditionVariableSRW(ConditionVariable: VOIDPTR, SRWLock: VOIDPTR, dwMilliseconds: ULONG, Flags: ULONG) -> BOOL | t.State: pass - -def WakeConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - -def WakeAllConditionVariable(ConditionVariable: VOIDPTR) -> VOID | t.State: pass - - -INIT_ONCE_STATIC_INIT: t.CDefine = 0x00000001 -INIT_ONCE_CHECK_ONLY: t.CDefine = 0x00000002 -INIT_ONCE_ASYNC: t.CDefine = 0x00000004 -INIT_ONCE_INIT_FAILED: t.CDefine = 0x00000008 - -class INIT_ONCE: - Ptr: t.CPtr - -def InitOnceExecuteOnce(InitOnce: INIT_ONCE | t.CPtr, InitFn: VOIDPTR, Parameter: VOIDPTR, Context: VOIDPTR | t.CPtr) -> BOOL | t.State: pass diff --git a/Test/ZlibTest/temp/0f8134f67bdaba8f.doc.json b/Test/ZlibTest/temp/0f8134f67bdaba8f.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/ZlibTest/temp/0f8134f67bdaba8f.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/ZlibTest/temp/0f8134f67bdaba8f.vpi b/Test/ZlibTest/temp/0f8134f67bdaba8f.vpi deleted file mode 100644 index 4398566..0000000 --- a/Test/ZlibTest/temp/0f8134f67bdaba8f.vpi +++ /dev/null @@ -1,122 +0,0 @@ -""" -Auto-generated Python stub file from __zlib.pyzlib.vp -Module: __zlib.pyzlib -""" - - -from stdint import * -import zdeflate -import zinflate -import zchecksum -import zdef -import zhuff -import stdlib -import string -import t, c - -Z_NO_COMPRESSION: t.CDefine = 0 -Z_BEST_SPEED: t.CDefine = 1 -Z_BEST_COMPRESSION: t.CDefine = 9 -Z_DEFAULT_COMPRESSION: t.CDefine = (-1) -DEFLATED: t.CDefine = 8 -Z_NO_FLUSH: t.CDefine = 0 -Z_PARTIAL_FLUSH: t.CDefine = 1 -Z_SYNC_FLUSH: t.CDefine = 2 -Z_FULL_FLUSH: t.CDefine = 3 -Z_FINISH: t.CDefine = 4 -Z_BLOCK: t.CDefine = 5 -Z_TREES: t.CDefine = 6 -Z_DEFAULT_STRATEGY: t.CDefine = 0 -Z_FILTERED: t.CDefine = 1 -Z_HUFFMAN_ONLY: t.CDefine = 2 -Z_RLE: t.CDefine = 3 -Z_FIXED: t.CDefine = 4 -Z_OK: t.CDefine = 0 -Z_STREAM_END: t.CDefine = 1 -Z_NEED_DICT: t.CDefine = 2 -Z_ERRNO: t.CDefine = (-1) -Z_STREAM_ERROR: t.CDefine = (-2) -Z_DATA_ERROR: t.CDefine = (-3) -Z_MEM_ERROR: t.CDefine = (-4) -Z_BUF_ERROR: t.CDefine = (-5) -Z_VERSION_ERROR: t.CDefine = (-6) -MAX_WBITS: t.CDefine = 15 -DEF_BUF_SIZE: t.CDefine = 16384 -DEF_MEM_LEVEL: t.CDefine = 8 -ZLIB_VERSION: t.CDefine = "1.3.2" -pyzlib_error_msg: t.CExtern | t.CArray[t.CChar, 512] -pyzlib_error_code_val: t.CExtern | t.CInt - -@t.Object -class Compress: - stream: VOIDPTR - is_initialized: t.CInt - is_finished: t.CInt - level: t.CInt - method: t.CInt - wbits: t.CInt - memLevel: t.CInt - strategy: t.CInt - zdict: BYTEPTR - zdict_len: t.CSizeT - last_pos: t.CSizeT - input_buf: BYTEPTR - input_buf_len: t.CSizeT - input_buf_cap: t.CSizeT - header_written: t.CInt - def compress(self: Compress, data: BYTEPTR, data_len: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def flush(self: Compress, mode: t.CInt, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def copy(self: Compress) -> Compress | t.CPtr: pass - def delete(self: Compress) -> t.CInt: pass - def __del__(self: Compress) -> t.CInt: pass -@t.Object -class Decompress: - stream: VOIDPTR - is_initialized: t.CInt - eof: t.CInt - wbits: t.CInt - zdict: BYTEPTR - zdict_len: t.CSizeT - _unused_data: BYTEPTR - _unused_data_len: t.CSizeT - _unused_data_cap: t.CSizeT - _unconsumed_tail: BYTEPTR - _unconsumed_tail_len: t.CSizeT - _unconsumed_tail_cap: t.CSizeT - input_buf: BYTEPTR - input_buf_len: t.CSizeT - input_buf_cap: t.CSizeT - def decompress(self: Decompress, data: BYTEPTR, data_len: t.CSizeT, max_length: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def flush(self: Decompress, length: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def copy(self: Decompress) -> Decompress | t.CPtr: pass - def delete(self: Decompress) -> t.CInt: pass - def unused_data(self: Decompress, length: t.CSizeT | t.CPtr) -> BYTEPTR: pass - def unconsumed_tail(self: Decompress, length: t.CSizeT | t.CPtr) -> BYTEPTR: pass - -def set_error(code: int, msg: str) -> t.CInt: pass - -def clone_bytes(src: BYTEPTR, length: t.CSizeT) -> BYTEPTR: pass - -def append_bytes(buf: BYTE | t.CPtr[t.CPtr], length: t.CSizeT | t.CPtr, cap: t.CSizeT | t.CPtr, data: BYTEPTR, data_len: t.CSizeT) -> t.CInt: pass - -def shrink_to_fit(buf: BYTEPTR, length: t.CSizeT) -> BYTEPTR: pass - -def runtime_version() -> str: pass - -def get_error() -> str: pass - -def get_error_code() -> t.CInt: pass - -def clear_error() -> t.CInt: pass - -def compress(data: BYTEPTR, data_len: t.CSizeT, level: t.CInt, wbits: t.CInt, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - -def decompress(data: BYTEPTR, data_len: t.CSizeT, wbits: t.CInt, bufsize: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> BYTEPTR: pass - -def compressobj(level: t.CInt, method: t.CInt, wbits: t.CInt, memLevel: t.CInt, strategy: t.CInt, zdict: BYTEPTR, zdict_len: t.CSizeT) -> Compress | t.CPtr: pass - -def decompressobj(wbits: t.CInt, zdict: BYTEPTR, zdict_len: t.CSizeT) -> Decompress | t.CPtr: pass - -def zlib_adler32(data: BYTEPTR, length: t.CSizeT, value: t.CUnsignedLong) -> t.CUnsignedLong: pass - -def zlib_crc32(data: BYTEPTR, length: t.CSizeT, value: t.CUnsignedLong) -> t.CUnsignedLong: pass diff --git a/Test/ZlibTest/temp/285b6aa29a34754d.stub.ll.dep b/Test/ZlibTest/temp/285b6aa29a34754d.stub.ll.dep deleted file mode 100644 index e69de29..0000000 diff --git a/Test/ZlibTest/temp/285b6aa29a34754d.vpi b/Test/ZlibTest/temp/285b6aa29a34754d.vpi deleted file mode 100644 index acc57c7..0000000 --- a/Test/ZlibTest/temp/285b6aa29a34754d.vpi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from stdio.vp -Module: stdio -""" - - -import t, c - -def printf(fmt: t.CConst | str, *args) -> int | t.State: pass - -def fprintf(stream: bytes, fmt: t.CConst | str, *args) -> int | t.State: pass - -def sprintf(buf: bytes, fmt: t.CConst | str, *args) -> int | t.State: pass - -def snprintf(buf: bytes, size: t.CSizeT, fmt: t.CConst | str, *args) -> int | t.State: pass - -def puts(s: t.CConst | str) -> int | t.State: pass - -def fputs(s: t.CConst | str, stream: bytes) -> int | t.State: pass - -def fgets(buf: bytes, size: int, stream: bytes) -> bytes | t.State: pass - -def fflush(stream: bytes) -> int | t.State: pass diff --git a/Test/ZlibTest/temp/6446627d4f07a1b5.vpi b/Test/ZlibTest/temp/6446627d4f07a1b5.vpi deleted file mode 100644 index 55f6a1f..0000000 --- a/Test/ZlibTest/temp/6446627d4f07a1b5.vpi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from w32.winsock2.vp -Module: w32.winsock2 -""" - - -import t, c -from stdint import * -from w32.win32base import * - -WINSOCK_VERSION: t.CDefine = 0x0202 # 2.2 -AF_INET: t.CDefine = 2 -AF_INET6: t.CDefine = 23 -SOCK_STREAM: t.CDefine = 1 # TCP -SOCK_DGRAM: t.CDefine = 2 # UDP -SOCK_RAW: t.CDefine = 3 # 原始套接字 -IPPROTO_TCP: t.CDefine = 6 -IPPROTO_UDP: t.CDefine = 17 -SOL_SOCKET: t.CDefine = 0xFFFF # WinSock2 值 -SO_RCVTIMEO: t.CDefine = 0x1006 # WinSock2 值 -SO_SNDTIMEO: t.CDefine = 0x1005 # WinSock2 值 -SO_REUSEADDR: t.CDefine = 0x0004 # WinSock2 值 -INADDR_ANY: t.CDefine = 0 -SOCKET_ERROR: t.CDefine = -1 -INVALID_SOCKET: t.CDefine = 0xFFFFFFFF # WinSock2: ~0 -MSG_NOSIGNAL: t.CDefine = 0 # Windows 不支持,设为 0 -SD_SEND: t.CDefine = 1 -SD_RECV: t.CDefine = 0 -SD_BOTH: t.CDefine = 2 - -class WSASocketAddr: - family: u16 - port: u16 - addr: u32 - zero: u64 -class WSAData: - wVersion: WORD - wHighVersion: WORD - szDescription: BYTE - szSystemStatus: BYTE - iMaxSockets: u16 - iMaxUdpDg: u16 - lpVendorInfo: CHARPTR -class WSAHostEnt: - h_name: CHARPTR - h_aliases: CHARPTR - h_addrtype: SHORT - h_length: SHORT - h_addr_list: CHARPTR -class WinTimeVal: - tv_sec: LONG - tv_usec: LONG - -def WSAStartup(wVersionRequested: WORD, lpWSAData: WSAData | t.CPtr) -> INT | t.State: pass - -def WSACleanup() -> INT | t.State: pass - -def WSAGetLastError() -> INT | t.State: pass - -def socket(family: INT, type: INT, protocol: INT) -> u64 | t.State: pass - -def closesocket(s: u64) -> INT | t.State: pass - -def connect(s: u64, name: WSASocketAddr | t.CPtr, namelen: INT) -> INT | t.State: pass - -def send(s: u64, buf: t.CVoid | t.CPtr, len: INT, flags: INT) -> INT | t.State: pass - -def recv(s: u64, buf: t.CVoid | t.CPtr, len: INT, flags: INT) -> INT | t.State: pass - -def bind(s: u64, name: WSASocketAddr | t.CPtr, namelen: INT) -> INT | t.State: pass - -def listen(s: u64, backlog: INT) -> INT | t.State: pass - -def accept(s: u64, addr: WSASocketAddr | t.CPtr, addrlen: INT | t.CPtr) -> u64 | t.State: pass - -def setsockopt(s: u64, level: INT, optname: INT, optval: t.CVoid | t.CPtr, optlen: INT) -> INT | t.State: pass - -def shutdown(s: u64, how: INT) -> INT | t.State: pass - -def gethostbyname(name: t.CChar | t.CConst | t.CPtr) -> WSAHostEnt | t.CPtr | t.State: pass - -def ntohs(netshort: u16) -> u16 | t.State: pass - -def htons(hostshort: u16) -> u16 | t.State: pass - -def inet_addr(cp: t.CChar | t.CConst | t.CPtr) -> u32 | t.State: pass diff --git a/Test/ZlibTest/temp/6c658cc728d0bbf4.stub.ll.dep b/Test/ZlibTest/temp/6c658cc728d0bbf4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/ZlibTest/temp/6c658cc728d0bbf4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/ZlibTest/temp/6c658cc728d0bbf4.vpi b/Test/ZlibTest/temp/6c658cc728d0bbf4.vpi deleted file mode 100644 index d7c42cf..0000000 --- a/Test/ZlibTest/temp/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from stdlib.vp -Module: stdlib -""" - -import c - - -from stdint import * -import t - -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass diff --git a/Test/ZlibTest/temp/72e2d5ccb7cedcf1.stub.ll.dep b/Test/ZlibTest/temp/72e2d5ccb7cedcf1.stub.ll.dep deleted file mode 100644 index d4b382c..0000000 --- a/Test/ZlibTest/temp/72e2d5ccb7cedcf1.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/ZlibTest/temp/72e2d5ccb7cedcf1.vpi b/Test/ZlibTest/temp/72e2d5ccb7cedcf1.vpi deleted file mode 100644 index f85ee45..0000000 --- a/Test/ZlibTest/temp/72e2d5ccb7cedcf1.vpi +++ /dev/null @@ -1,91 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32memory.vp -Module: w32.win32memory -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -MEM_COMMIT: t.CDefine = 0x00001000 -MEM_RESERVE: t.CDefine = 0x00002000 -MEM_DECOMMIT: t.CDefine = 0x00004000 -MEM_RELEASE: t.CDefine = 0x00008000 -MEM_FREE: t.CDefine = 0x00010000 -MEM_RESET: t.CDefine = 0x00080000 -MEM_TOP_DOWN: t.CDefine = 0x00100000 -MEM_WRITE_WATCH: t.CDefine = 0x00200000 -MEM_PHYSICAL: t.CDefine = 0x00400000 -MEM_LARGE_PAGES: t.CDefine = 0x20000000 -PAGE_NOACCESS: t.CDefine = 0x01 -PAGE_READONLY: t.CDefine = 0x02 -PAGE_READWRITE: t.CDefine = 0x04 -PAGE_WRITECOPY: t.CDefine = 0x08 -PAGE_EXECUTE: t.CDefine = 0x10 -PAGE_EXECUTE_READ: t.CDefine = 0x20 -PAGE_EXECUTE_READWRITE: t.CDefine = 0x40 -PAGE_EXECUTE_WRITECOPY: t.CDefine = 0x80 -PAGE_GUARD: t.CDefine = 0x100 -PAGE_NOCACHE: t.CDefine = 0x200 -PAGE_WRITECOMBINE: t.CDefine = 0x400 -HEAP_NO_SERIALIZE: t.CDefine = 0x00000001 -HEAP_GROWABLE: t.CDefine = 0x00000002 -HEAP_GENERATE_EXCEPTIONS: t.CDefine = 0x00000004 -HEAP_ZERO_MEMORY: t.CDefine = 0x00000008 -HEAP_REALLOC_IN_PLACE_ONLY: t.CDefine = 0x00000010 - -class MEMORY_BASIC_INFORMATION: - BaseAddress: VOIDPTR - AllocationBase: VOIDPTR - AllocationProtect: ULONG - RegionSize: t.CSizeT - State: ULONG - Protect: ULONG - Type: ULONG - -def VirtualAlloc(lpAddress: VOIDPTR, dwSize: t.CSizeT, flAllocationType: ULONG, flProtect: ULONG) -> VOIDPTR | t.State: pass - -def VirtualFree(lpAddress: VOIDPTR, dwSize: t.CSizeT, dwFreeType: ULONG) -> BOOL | t.State: pass - -def VirtualProtect(lpAddress: VOIDPTR, dwSize: t.CSizeT, flNewProtect: ULONG, lpflOldProtect: ULONG | t.CPtr) -> BOOL | t.State: pass - -def VirtualQuery(lpAddress: t.CConst | VOIDPTR, lpBuffer: MEMORY_BASIC_INFORMATION | t.CPtr, dwLength: t.CSizeT) -> t.CSizeT | t.State: pass - -def VirtualLock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def VirtualUnlock(lpAddress: VOIDPTR, dwSize: t.CSizeT) -> BOOL | t.State: pass - -def GetProcessHeap() -> HANDLE | t.State: pass - -def HeapCreate(flOptions: ULONG, dwInitialSize: t.CSizeT, dwMaximumSize: t.CSizeT) -> HANDLE | t.State: pass - -def HeapDestroy(hHeap: HANDLE) -> BOOL | t.State: pass - -def HeapAlloc(hHeap: HANDLE, dwFlags: ULONG, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapReAlloc(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def HeapFree(hHeap: HANDLE, dwFlags: ULONG, lpMem: VOIDPTR) -> BOOL | t.State: pass - -def HeapSize(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> t.CSizeT | t.State: pass - -def HeapValidate(hHeap: HANDLE, dwFlags: ULONG, lpMem: t.CConst | VOIDPTR) -> BOOL | t.State: pass - -def HeapCompact(hHeap: HANDLE, dwFlags: ULONG) -> t.CSizeT | t.State: pass - -def GlobalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def GlobalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalLock(hMem: VOIDPTR) -> VOIDPTR | t.State: pass - -def GlobalUnlock(hMem: VOIDPTR) -> BOOL | t.State: pass - -def GlobalSize(hMem: VOIDPTR) -> t.CSizeT | t.State: pass - -def LocalAlloc(uFlags: UINT, dwBytes: t.CSizeT) -> VOIDPTR | t.State: pass - -def LocalFree(hMem: VOIDPTR) -> VOIDPTR | t.State: pass diff --git a/Test/ZlibTest/temp/748d0424e8976fa0.stub.ll.dep b/Test/ZlibTest/temp/748d0424e8976fa0.stub.ll.dep deleted file mode 100644 index be4eebc..0000000 --- a/Test/ZlibTest/temp/748d0424e8976fa0.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -285b6aa29a34754d|bbdf3bbd4c3bc28c|f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/ZlibTest/temp/748d0424e8976fa0.vpi b/Test/ZlibTest/temp/748d0424e8976fa0.vpi deleted file mode 100644 index 5ff4850..0000000 --- a/Test/ZlibTest/temp/748d0424e8976fa0.vpi +++ /dev/null @@ -1,31 +0,0 @@ -""" -Auto-generated Python stub file from testcheck.vp -Module: testcheck -""" - - -import t, c -import stdio -from w32.win32console import SetConsoleOutputCP, SetConsoleCP - -CP_UTF8: t.CDefine = 65001 -_pass_count: t.CExtern | t.CInt -_fail_count: t.CExtern | t.CInt -_total_pass: t.CExtern | t.CInt -_total_fail: t.CExtern | t.CInt - -def begin(name: str) -> t.CInt: pass - -def section(name: str) -> t.CInt: pass - -def ok(msg: str) -> t.CInt: pass - -def fail(msg: str) -> t.CInt: pass - -def check(cond: t.CInt, ok_msg: str, fail_msg: str) -> t.CInt: pass - -def info(msg: str) -> t.CInt: pass - -def end() -> t.CInt: pass - -def summary() -> t.CInt: pass diff --git a/Test/ZlibTest/temp/784dde8a8697b7ab.doc.json b/Test/ZlibTest/temp/784dde8a8697b7ab.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/ZlibTest/temp/784dde8a8697b7ab.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/ZlibTest/temp/784dde8a8697b7ab.vpi b/Test/ZlibTest/temp/784dde8a8697b7ab.vpi deleted file mode 100644 index ae61080..0000000 --- a/Test/ZlibTest/temp/784dde8a8697b7ab.vpi +++ /dev/null @@ -1,54 +0,0 @@ -""" -Auto-generated Python stub file from __zlib.zdeflate.vp -Module: __zlib.zdeflate -""" - - -from stdint import * -import zchecksum -import zhuff -import zdef -import string -import t, c - -@t.Object -class zdeflate_stream: - writer: zdef.zbit_writer - window: BYTE | t.CPtr - window_pos: t.CInt - window_size: t.CInt - hash_head: t.CInt | t.CPtr - hash_prev: t.CInt | t.CPtr - level: t.CInt - strategy: t.CInt - wbits: t.CInt - is_finished: t.CInt - adler: t.CUInt32T - def find_match(self: zdeflate_stream, data: BYTE | t.CPtr, data_len: t.CSizeT, pos: t.CSizeT, best_dist: t.CInt | t.CPtr) -> t.CInt: pass - def update_hash(self: zdeflate_stream, data: BYTE | t.CPtr, pos: t.CSizeT) -> t.CInt: pass - def write_fixed_block(self: zdeflate_stream, data: UINT8PTR, length: t.CSizeT, final: t.CInt) -> t.CInt: pass - def encode_block_data(self: zdeflate_stream, data: UINT8PTR, length: t.CSizeT, lit_tree: zhuff.zhuff_tree | t.CPtr, dist_tree: zhuff.zhuff_tree | t.CPtr) -> t.CInt: pass - def write_dynamic_block(self: zdeflate_stream, data: UINT8PTR, length: t.CSizeT, final: t.CInt) -> t.CInt: pass - def compress_block(self: zdeflate_stream, data: UINT8PTR, length: t.CSizeT, final: t.CInt) -> t.CInt: pass - def write_stored_block(self: zdeflate_stream, data: UINT8PTR, length: t.CSizeT, final: t.CInt) -> t.CInt: pass - def compress(self: zdeflate_stream, data: UINT8PTR, length: t.CSizeT, out: t.CUInt8T | t.CPtr[t.CPtr], out_len: t.CSizeT | t.CPtr) -> t.CInt: pass - def flush(self: zdeflate_stream, mode: t.CInt, out: t.CUInt8T | t.CPtr[t.CPtr], out_len: t.CSizeT | t.CPtr) -> t.CInt: pass - def set_dictionary(self: zdeflate_stream, dict: UINT8PTR, length: t.CSizeT) -> t.CInt: pass - def copy(self: zdeflate_stream) -> zdeflate_stream | t.CPtr: pass - def destroy(self: zdeflate_stream) -> t.CInt: pass - -def zdeflate_count_freqs(lit_freqs: INTPTR, dist_freqs: INTPTR, s: zdeflate_stream | t.CPtr, data: UINT8PTR, length: t.CSizeT) -> t.CInt: pass - -def zdeflate_hash(p: BYTE | t.CPtr) -> t.CUnsignedInt: pass - -def zdeflate_len_to_symbol(length: t.CInt) -> t.CInt: pass - -def zdeflate_dist_to_symbol(dist: t.CInt) -> t.CInt: pass - -def zdeflate_count_cl_freqs(all_lengths: INTPTR, total: t.CInt, cl_freqs: INTPTR) -> t.CInt: pass - -def zdeflate_write_cl_encoded(all_lengths: INTPTR, total: t.CInt, w: zdef.zbit_writer | t.CPtr, cl_tree: zhuff.zhuff_tree | t.CPtr) -> t.CInt: pass - -def zdeflate_create(level: t.CInt, wbits: t.CInt, mem_level: t.CInt, strategy: t.CInt) -> zdeflate_stream | t.CPtr: pass - -def zdeflate_one_shot(data: UINT8PTR, length: t.CSizeT, level: t.CInt, wbits: t.CInt, out_len: t.CSizeT | t.CPtr) -> t.CUInt8T | t.CPtr: pass diff --git a/Test/ZlibTest/temp/9b7d2adaae94f021.doc.json b/Test/ZlibTest/temp/9b7d2adaae94f021.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/ZlibTest/temp/9b7d2adaae94f021.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/ZlibTest/temp/9b7d2adaae94f021.vpi b/Test/ZlibTest/temp/9b7d2adaae94f021.vpi deleted file mode 100644 index f574d11..0000000 --- a/Test/ZlibTest/temp/9b7d2adaae94f021.vpi +++ /dev/null @@ -1,65 +0,0 @@ -""" -Auto-generated Python stub file from __zlib.zdef.vp -Module: __zlib.zdef -""" - - -from stdint import * -import stddef -import string -import stdlib -import t, c - -ZDEFLATE_WINDOW_BITS: t.CDefine = 15 -ZDEFLATE_WINDOW_SIZE: t.CDefine = (1 << ZDEFLATE_WINDOW_BITS) -ZDEFLATE_WINDOW_MASK: t.CDefine = (ZDEFLATE_WINDOW_SIZE - 1) -ZDEFLATE_MIN_MATCH: t.CDefine = 3 -ZDEFLATE_MAX_MATCH: t.CDefine = 258 -ZDEFLATE_HASH_BITS: t.CDefine = 15 -ZDEFLATE_HASH_SIZE: t.CDefine = (1 << ZDEFLATE_HASH_BITS) -ZDEFLATE_HASH_MASK: t.CDefine = (ZDEFLATE_HASH_SIZE - 1) -ZDEFLATE_MAX_CODES: t.CDefine = 288 -ZDEFLATE_MAX_DIST_CODES: t.CDefine = 32 -ZDEFLATE_MAX_BITS: t.CDefine = 15 -ZDEFLATE_MAX_CODELEN_CODES: t.CDefine = 19 -ZDEFLATE_LIT_COUNT: t.CDefine = 286 -ZDEFLATE_DIST_COUNT: t.CDefine = 30 -ZDEFLATE_LEN_SYMBOLS_BASE: t.CDefine = 257 -ZDEFLATE_END_OF_BLOCK: t.CDefine = 256 -zdeflate_len_extra_bits: t.CExtern | t.CArray[t.CInt, 29] -zdeflate_len_base: t.CExtern | t.CArray[t.CInt, 29] -zdeflate_dist_extra_bits: t.CExtern | t.CArray[t.CInt, 30] -zdeflate_dist_base: t.CExtern | t.CArray[t.CInt, 30] -zdeflate_codelen_order: t.CExtern | t.CArray[int, 19] - -@t.Object -class zbit_writer: - buf: BYTE | t.CPtr - cap: t.CSizeT - byte_pos: t.CSizeT - bit_pos: t.CInt - def __init__(self: zbit_writer) -> t.CInt: pass - def ensure(self: zbit_writer, need: t.CSizeT) -> t.CInt: pass - def write_bits(self: zbit_writer, value: UINT, nbits: t.CInt) -> t.CInt: pass - def write_bits_rev(self: zbit_writer, code: UINT, nbits: t.CInt) -> t.CInt: pass - def stored_block(self: zbit_writer, data: UINT8PTR, length: t.CSizeT, final: t.CInt) -> t.CInt: pass - def write_zlib_header(self: zbit_writer, wbits: t.CInt, level: t.CInt) -> t.CInt: pass - def write_gzip_header(self: zbit_writer) -> t.CInt: pass - def align(self: zbit_writer) -> t.CInt: pass - def total(self: zbit_writer) -> t.CSizeT: pass - def free(self: zbit_writer) -> t.CInt: pass - def __del__(self: zbit_writer) -> t.CInt: pass -@t.Object -class zbit_reader: - buf: BYTE | t.CPtr - length: t.CSizeT - byte_pos: t.CSizeT - bit_pos: t.CInt - def init(self: zbit_reader, buf: BYTE | t.CPtr, length: t.CSizeT) -> t.CInt: pass - def read_bits(self: zbit_reader, nbits: t.CInt, out: UINTPTR) -> t.CInt: pass - def read_bits_rev(self: zbit_reader, nbits: t.CInt, out: UINTPTR) -> t.CInt: pass - def align(self: zbit_reader) -> t.CInt: pass - -def zdef_alloc(n: t.CSizeT) -> VOIDPTR: pass - -def zdef_free(p: VOIDPTR) -> t.CInt: pass diff --git a/Test/ZlibTest/temp/_phase1_manifest.json b/Test/ZlibTest/temp/_phase1_manifest.json deleted file mode 100644 index 21fba93..0000000 --- a/Test/ZlibTest/temp/_phase1_manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\pyzlib.vp": {"sha1": "0f8134f67bdaba8f", "mtime": 1782266233.8661451, "size": 20930}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\test_pyzlib.vp": {"sha1": "d855b3e66d1d6522", "mtime": 1782407614.5315387, "size": 36204}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zchecksum.vp": {"sha1": "cb151b297f4ea56d", "mtime": 1782266234.306909, "size": 4068}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zdef.vp": {"sha1": "9b7d2adaae94f021", "mtime": 1782393175.830038, "size": 8195}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zdeflate.vp": {"sha1": "784dde8a8697b7ab", "mtime": 1782396643.2488594, "size": 18977}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zhuff.vp": {"sha1": "dd19090b337e9bea", "mtime": 1782388678.1362753, "size": 13596}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zinflate.vp": {"sha1": "e445a2bb299d1b7d", "mtime": 1782266257.0389085, "size": 18067}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\main.vp": {"sha1": "03b24bc1d9327958", "mtime": 1782110043.5860827, "size": 484}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.vp": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/ZlibTest/temp/_sha1_map.txt b/Test/ZlibTest/temp/_sha1_map.txt deleted file mode 100644 index ddf9247..0000000 --- a/Test/ZlibTest/temp/_sha1_map.txt +++ /dev/null @@ -1,16 +0,0 @@ -03b24bc1d9327958:main.vp -0f8134f67bdaba8f:__zlib/pyzlib.vp -285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -72e2d5ccb7cedcf1:includes/w32\win32memory.vp -748d0424e8976fa0:includes/testcheck.vp -784dde8a8697b7ab:__zlib/zdeflate.vp -928c0ff6d8c69ec9:includes/string.vp -9b7d2adaae94f021:__zlib/zdef.vp -bbdf3bbd4c3bc28c:includes/w32\win32console.vp -cb151b297f4ea56d:__zlib/zchecksum.vp -d855b3e66d1d6522:__zlib/test_pyzlib.vp -dd19090b337e9bea:__zlib/zhuff.vp -e445a2bb299d1b7d:__zlib/zinflate.vp -f5522571bcce7bcb:includes/stdint.vp -fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/ZlibTest/temp/_shared_sym.json b/Test/ZlibTest/temp/_shared_sym.json deleted file mode 100644 index 1e5fdb74fa7a12e704fb90fee437b55e59bb58c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500100 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 WoO?hZh7;9$oA!Em#GlPX=l=uYZ$8=p diff --git a/Test/ZlibTest/temp/bbdf3bbd4c3bc28c.stub.ll.dep b/Test/ZlibTest/temp/bbdf3bbd4c3bc28c.stub.ll.dep deleted file mode 100644 index d4b382c..0000000 --- a/Test/ZlibTest/temp/bbdf3bbd4c3bc28c.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb|fc980acec33d69a7 \ No newline at end of file diff --git a/Test/ZlibTest/temp/bbdf3bbd4c3bc28c.vpi b/Test/ZlibTest/temp/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4709b3e..0000000 --- a/Test/ZlibTest/temp/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,138 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32console.vp -Module: w32.win32console -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -ENABLE_PROCESSED_INPUT: t.CDefine = 0x0001 -ENABLE_LINE_INPUT: t.CDefine = 0x0002 -ENABLE_ECHO_INPUT: t.CDefine = 0x0004 -ENABLE_WINDOW_INPUT: t.CDefine = 0x0008 -ENABLE_MOUSE_INPUT: t.CDefine = 0x0010 -ENABLE_INSERT_MODE: t.CDefine = 0x0020 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 0x0040 -ENABLE_EXTENDED_FLAGS: t.CDefine = 0x0080 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 0x0001 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 0x0002 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 0x0004 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 0x0008 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 0x0010 -FOREGROUND_BLUE: t.CDefine = 0x0001 -FOREGROUND_GREEN: t.CDefine = 0x0002 -FOREGROUND_RED: t.CDefine = 0x0004 -FOREGROUND_INTENSITY: t.CDefine = 0x0008 -BACKGROUND_BLUE: t.CDefine = 0x0010 -BACKGROUND_GREEN: t.CDefine = 0x0020 -BACKGROUND_RED: t.CDefine = 0x0040 -BACKGROUND_INTENSITY: t.CDefine = 0x0080 -KEY_EVENT: t.CDefine = 0x0001 -MOUSE_EVENT: t.CDefine = 0x0002 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 0x0004 -MENU_EVENT: t.CDefine = 0x0008 -FOCUS_EVENT: t.CDefine = 0x0010 - -class COORD: - X: SHORT - Y: SHORT -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass diff --git a/Test/ZlibTest/temp/cb151b297f4ea56d.doc.json b/Test/ZlibTest/temp/cb151b297f4ea56d.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/ZlibTest/temp/cb151b297f4ea56d.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/ZlibTest/temp/cb151b297f4ea56d.vpi b/Test/ZlibTest/temp/cb151b297f4ea56d.vpi deleted file mode 100644 index 6165116..0000000 --- a/Test/ZlibTest/temp/cb151b297f4ea56d.vpi +++ /dev/null @@ -1,15 +0,0 @@ -""" -Auto-generated Python stub file from __zlib.zchecksum.vp -Module: __zlib.zchecksum -""" - - -from stdint import * -import t, c - -def zchecksum_adler32(data: UINT8PTR, length: t.CSizeT, init: UINT32) -> t.CUInt32T: pass - - -crc32_table: t.CExtern | t.CArray[t.CUInt32T, 256] - -def zchecksum_crc32(data: UINT8PTR, length: t.CSizeT, init: t.CUInt32T) -> t.CUInt32T: pass diff --git a/Test/ZlibTest/temp/d137b1f3311f3a7f.vpi b/Test/ZlibTest/temp/d137b1f3311f3a7f.vpi deleted file mode 100644 index a85310e..0000000 --- a/Test/ZlibTest/temp/d137b1f3311f3a7f.vpi +++ /dev/null @@ -1,81 +0,0 @@ -""" -Auto-generated Python stub file from w32.fileio.vp -Module: w32.fileio -""" - - -import t, c -from stdint import * -import stdio -import w32.win32base -import w32.win32file - -class MODE(t.CEnum): - R = 0 - W = 1 - A = 2 - RP = 3 - WP = 4 - AP = 5 - X = 6 - XP = 7 -class FRESULT(t.CEnum): - OK = 0 - ERR = -1 - ERR_CLOSED = -2 - ERR_PERM = -3 - ERR_IO = -4 - ERR_NOTFOUND = -5 - -SEEK_SET: t.CDefine = 0 -SEEK_CUR: t.CDefine = 1 -SEEK_END: t.CDefine = 2 -INVALID_SET_FILE_POINTER: t.CDefine = -1 -SHARE_READ: t.CDefine = 0x00000001 -SHARE_WRITE: t.CDefine = 0x00000002 -SHARE_DELETE: t.CDefine = 0x00000004 - -class File: - handle: w32.win32base.HANDLE - closed: bool - can_read: bool - can_write: bool - is_append: bool - _share_mode: ULONG - def __init__(self: File, filename: str, mode: ULONG, share: ULONG = SHARE_READ) -> t.CInt: pass - def __enter__(self: File) -> 'File' | t.CPtr: pass - def __exit__(self: File) -> t.CInt: pass - def read(self: File, buf: bytes, count: ULONG) -> LONG: pass - def write(self: File, buf: bytes, count: ULONG) -> LONG: pass - def write_str(self: File, s: str) -> LONG: pass - def seek(self: File, offset: LONG, origin: ULONG) -> LONG: pass - def tell(self: File) -> LONG: pass - def close(self: File) -> LONG: pass - def flush(self: File) -> LONG: pass - def size(self: File) -> LONGLONG: pass - def readline(self: File, buf: bytes, max_count: ULONG) -> LONG: pass - def read_all(self: File, buf: bytes, max_count: ULONG) -> LONG: pass -class FileW: - handle: w32.win32base.HANDLE - closed: bool - can_read: bool - can_write: bool - is_append: bool - _share_mode: ULONG - def __init__(self: FileW, filename: w32.win32base.LPCWSTR, mode: ULONG, share: ULONG = SHARE_READ) -> t.CInt: pass - def __enter__(self: FileW) -> 'FileW' | t.CPtr: pass - def __exit__(self: FileW) -> t.CInt: pass - def read(self: FileW, buf: bytes, count: ULONG) -> LONG: pass - def write(self: FileW, buf: bytes, count: ULONG) -> LONG: pass - def write_str(self: FileW, s: str) -> LONG: pass - def seek(self: FileW, offset: LONG, origin: ULONG) -> LONG: pass - def tell(self: FileW) -> LONG: pass - def close(self: FileW) -> LONG: pass - def flush(self: FileW) -> LONG: pass - def size(self: FileW) -> LONGLONG: pass - def readline(self: FileW, buf: bytes, max_count: ULONG) -> LONG: pass - def read_all(self: FileW, buf: bytes, max_count: ULONG) -> LONG: pass - -def open(filename: str, mode: ULONG, share: ULONG = SHARE_READ) -> File | t.CPtr: pass - -def openw(filename: w32.win32base.LPCWSTR, mode: ULONG, share: ULONG = SHARE_READ) -> FileW | t.CPtr: pass diff --git a/Test/ZlibTest/temp/d855b3e66d1d6522.doc.json b/Test/ZlibTest/temp/d855b3e66d1d6522.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/ZlibTest/temp/d855b3e66d1d6522.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/ZlibTest/temp/d855b3e66d1d6522.vpi b/Test/ZlibTest/temp/d855b3e66d1d6522.vpi deleted file mode 100644 index d9ebc59..0000000 --- a/Test/ZlibTest/temp/d855b3e66d1d6522.vpi +++ /dev/null @@ -1,66 +0,0 @@ -""" -Auto-generated Python stub file from __zlib.test_pyzlib.vp -Module: __zlib.test_pyzlib -""" - - -from stdint import * -import pyzlib -import zhuff -import zdef -from stdio import printf -import stdlib -from string import strlen -import string -import t, c - -test_passed: t.CExtern | t.CInt -test_failed: t.CExtern | t.CInt - -def check(name: str, condition: t.CInt, detail: str) -> t.CInt: pass - -def print_hex_test(data: BYTEPTR, length: t.CSizeT, max_show: t.CSizeT) -> t.CInt: pass - -def print_separator() -> t.CInt: pass - -def section_header(title: str) -> t.CInt: pass - -def section_footer() -> t.CInt: pass - -def test_version() -> t.CInt: pass - -def test_compress_decompress() -> t.CInt: pass - -def test_compress_levels() -> t.CInt: pass - -def test_compressobj() -> t.CInt: pass - -def test_decompressobj() -> t.CInt: pass - -def test_decompressobj_max_length() -> t.CInt: pass - -def test_decompressobj_unused_data() -> t.CInt: pass - -def test_compress_copy() -> t.CInt: pass - -def test_decompress_copy() -> t.CInt: pass - -def test_adler32() -> t.CInt: pass - -def test_crc32() -> t.CInt: pass - -def test_empty_compress() -> t.CInt: pass - -def test_gzip_format() -> t.CInt: pass - -def test_raw_deflate() -> t.CInt: pass - -def test_zdict() -> t.CInt: pass - -def test_huffman_tree() -> t.CInt: pass - -def test_error_handling() -> t.CInt: pass - -def test_constants() -> t.CInt: pass - -def main123456() -> t.CInt: pass diff --git a/Test/ZlibTest/temp/dd19090b337e9bea.doc.json b/Test/ZlibTest/temp/dd19090b337e9bea.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/ZlibTest/temp/dd19090b337e9bea.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/ZlibTest/temp/dd19090b337e9bea.vpi b/Test/ZlibTest/temp/dd19090b337e9bea.vpi deleted file mode 100644 index 21c3404..0000000 --- a/Test/ZlibTest/temp/dd19090b337e9bea.vpi +++ /dev/null @@ -1,41 +0,0 @@ -""" -Auto-generated Python stub file from __zlib.zhuff.vp -Module: __zlib.zhuff -""" - - -from stdint import * -import zdef -import t, c - -ZHUFF_MAX_CODES: t.CDefine = 288 -ZHUFF_MAX_BITS: t.CDefine = 15 - -class zhuff_code: - code: UINT - bits: t.CInt -@t.Object -class zhuff_tree: - codes: t.CArray[zhuff_code, ZHUFF_MAX_CODES] - count: t.CInt - max_bits: t.CInt - def __init__(self: zhuff_tree) -> t.CInt: pass - def build_codes(self: zhuff_tree, freqs: INTPTR, count: t.CInt, max_bits: t.CInt) -> t.CInt: pass - def build_fixed_lit_tree(self: zhuff_tree) -> t.CInt: pass - def build_fixed_dist_tree(self: zhuff_tree) -> t.CInt: pass - def encode_symbol(self: zhuff_tree, symbol: int, writer: zdef.zbit_writer | t.CPtr) -> t.CInt: pass - def build_code_lengths(self: zhuff_tree, lengths: t.CInt | t.CPtr, freqs: t.CInt | t.CPtr, count: t.CInt, max_bits: t.CInt) -> t.CInt: pass - def get_fixed_lit_lengths(self: zhuff_tree, lengths: INTPTR) -> t.CInt: pass - def get_fixed_dist_lengths(self: zhuff_tree, lengths: INTPTR) -> t.CInt: pass - def build_tree_from_lengths(self: zhuff_tree, lengths: INTPTR, count: t.CInt, max_bits: t.CInt) -> t.CInt: pass -class zhuff_decode_node: - children: t.CArray[t.CInt, 2] - symbol: t.CInt -@t.Object -class zhuff_decode_tree: - nodes: t.CArray[zhuff_decode_node, 2 * ZHUFF_MAX_CODES] - node_count: t.CInt - root: t.CInt - def __init__(self: zhuff_decode_tree) -> t.CInt: pass - def build_decode_tree(self: zhuff_decode_tree, ht: zhuff_tree | t.CPtr) -> t.CInt: pass - def decode_symbol(self: zhuff_decode_tree, reader: zdef.zbit_reader | t.CPtr) -> t.CInt: pass \ No newline at end of file diff --git a/Test/ZlibTest/temp/e445a2bb299d1b7d.doc.json b/Test/ZlibTest/temp/e445a2bb299d1b7d.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/ZlibTest/temp/e445a2bb299d1b7d.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/ZlibTest/temp/e445a2bb299d1b7d.vpi b/Test/ZlibTest/temp/e445a2bb299d1b7d.vpi deleted file mode 100644 index ea8ee86..0000000 --- a/Test/ZlibTest/temp/e445a2bb299d1b7d.vpi +++ /dev/null @@ -1,51 +0,0 @@ -""" -Auto-generated Python stub file from __zlib.zinflate.vp -Module: __zlib.zinflate -""" - - -from stdint import * -import zinflate -import zchecksum -import zdef -import zhuff -import string -import t, c - -@t.Object -class zinflate_stream: - reader: zdef.zbit_reader - window: BYTEPTR - window_pos: t.CInt - window_size: t.CInt - wbits: t.CInt - is_finished: t.CInt - is_initialized: t.CInt - header_parsed: t.CInt - is_gzip: t.CInt - adler: t.CUInt32T - crc: t.CUInt32T - output: BYTEPTR - output_len: t.CSizeT - output_cap: t.CSizeT - input_data: t.CConst | BYTEPTR - input_len: t.CSizeT - input_pos: t.CSizeT - max_length: t.CSizeT - def __init__(self: zinflate_stream) -> t.CInt: pass - def output_byte(self: zinflate_stream, byte: BYTE) -> t.CInt: pass - def parse_header(self: zinflate_stream) -> t.CInt: pass - def read_bits_from_input(self: zinflate_stream, nbits: t.CInt, out: UINTPTR) -> t.CInt: pass - def read_huffman(self: zinflate_stream, dt: zhuff.zhuff_decode_tree | t.CPtr) -> t.CInt: pass - def inflate_block_stored(self: zinflate_stream) -> t.CInt: pass - def inflate_block_fixed(self: zinflate_stream) -> t.CInt: pass - def inflate_block_dynamic(self: zinflate_stream) -> t.CInt: pass - def inflate_stream(self: zinflate_stream) -> t.CInt: pass - def decompress(self: zinflate_stream, data: UINT8PTR, length: t.CSizeT, max_length: t.CSizeT, out: t.CUInt8T | t.CPtr[t.CPtr], out_len: t.CSizeT | t.CPtr) -> t.CInt: pass - def set_dictionary(self: zinflate_stream, dict: UINT8PTR, length: t.CSizeT) -> t.CInt: pass - def copy(self: zinflate_stream) -> zinflate_stream | t.CPtr: pass - def destroy(self: zinflate_stream) -> t.CInt: pass - -def zinflate_one_shot(data: UINT8PTR, length: t.CSizeT, wbits: t.CInt, bufsize: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> t.CUInt8T | t.CPtr: pass - -def zinflate_create(wbits: t.CInt) -> zinflate_stream | t.CPtr: pass diff --git a/Test/ZlibTest/temp/f5522571bcce7bcb.stub.ll.dep b/Test/ZlibTest/temp/f5522571bcce7bcb.stub.ll.dep deleted file mode 100644 index e69de29..0000000 diff --git a/Test/ZlibTest/temp/f5522571bcce7bcb.vpi b/Test/ZlibTest/temp/f5522571bcce7bcb.vpi deleted file mode 100644 index f0bc071..0000000 --- a/Test/ZlibTest/temp/f5522571bcce7bcb.vpi +++ /dev/null @@ -1,100 +0,0 @@ -""" -Auto-generated Python stub file from stdint.vp -Module: stdint -""" - -import c - - -import t - -INT: t.CTypedef = t.CInt -INTPTR: t.CTypedef = t.CInt | t.CPtr -BOOL: t.CTypedef = t.CInt -UINT: t.CTypedef = t.CUnsignedInt -UINTPTR: t.CTypedef = UINT | t.CPtr -BYTE: t.CTypedef = t.CUnsignedChar -BYTEPTR: t.CTypedef = BYTE | t.CPtr -WORD: t.CTypedef = t.CUInt16T -DWORD: t.CTypedef = t.CUInt32T -QWORD: t.CTypedef = t.CUInt64T -TCHAR: t.CTypedef = t.CChar -CHARLIST: t.CTypedef = str | t.CPtr -VOID: t.CTypedef = t.CVoid -SHORT: t.CTypedef = t.CShort -SHORTPTR: t.CTypedef = t.CShort | t.CPtr -USHORT: t.CTypedef = t.CUnsignedShort -USHORTPTR: t.CTypedef = t.CUnsignedShort | t.CPtr -LONGLONG: t.CTypedef = t.CLongLong -ULONGLONG: t.CTypedef = t.CUnsignedLongLong -LONG: t.CTypedef = t.CLong -ULONG: t.CTypedef = t.CUnsignedLong -WCHAR: t.CTypedef = WORD -WCHARPTR: t.CTypedef = WORD | t.CPtr -CHARPTR: t.CTypedef = t.CChar | t.CPtr -FSIZE_t: t.CTypedef = DWORD -LBA_t: t.CTypedef = DWORD -VOIDPTR: t.CTypedef = t.CVoid | t.CPtr -FLOAT: t.CTypedef = t.CFloat -DOUBLE: t.CTypedef = t.CDouble -FLOAT8: t.CTypedef = t.CFloat8T -FLOAT16: t.CTypedef = t.CFloat16T -FLOAT32: t.CTypedef = t.CFloat32T -FLOAT64: t.CTypedef = t.CFloat64T -FLOAT128: t.CTypedef = t.CFloat128T -INT8: t.CTypedef = t.CInt8T -INT16: t.CTypedef = t.CInt16T -INT32: t.CTypedef = t.CInt32T -INT64: t.CTypedef = t.CInt64T -UINT8: t.CTypedef = t.CUInt8T -UINT16: t.CTypedef = t.CUInt16T -UINT32: t.CTypedef = t.CUInt32T -UINT64: t.CTypedef = t.CUInt64T -INT8PTR: t.CTypedef = t.CInt8T | t.CPtr -INT16PTR: t.CTypedef = t.CInt16T | t.CPtr -INT32PTR: t.CTypedef = t.CInt32T | t.CPtr -INT64PTR: t.CTypedef = t.CInt64T | t.CPtr -UINT8PTR: t.CTypedef = t.CUInt8T | t.CPtr -UINT16PTR: t.CTypedef = t.CUInt16T | t.CPtr -UINT32PTR: t.CTypedef = t.CUInt32T | t.CPtr -UINT64PTR: t.CTypedef = t.CUInt64T | t.CPtr -CHAR8: t.CTypedef = t.CChar8T -CHAR16: t.CTypedef = t.CChar16T -CHAR32: t.CTypedef = t.CChar32T -CHAR8PTR: t.CTypedef = t.CChar8T | t.CPtr -CHAR16PTR: t.CTypedef = t.CChar16T | t.CPtr -CHAR32PTR: t.CTypedef = t.CChar32T | t.CPtr -i8: t.CTypedef = t.CInt8T -i16: t.CTypedef = t.CInt16T -i32: t.CTypedef = t.CInt32T -i64: t.CTypedef = t.CInt64T -u8: t.CTypedef = t.CUInt8T -u16: t.CTypedef = t.CUInt16T -u32: t.CTypedef = t.CUInt32T -u64: t.CTypedef = t.CUInt64T -SIZE_T: t.CTypedef = t.CSizeT -SSIZE_T: t.CTypedef = t.CPtrDiffT -PTRDIFF_T: t.CTypedef = t.CPtrDiffT -int8_t: t.CTypedef = t.CInt8T -int16_t: t.CTypedef = t.CInt16T -int32_t: t.CTypedef = t.CInt32T -int64_t: t.CTypedef = t.CInt64T -uint8_t: t.CTypedef = t.CUInt8T -uint16_t: t.CTypedef = t.CUInt16T -uint32_t: t.CTypedef = t.CUInt32T -uint64_t: t.CTypedef = t.CUInt64T -size_t: t.CTypedef = t.CSizeT -ssize_t: t.CTypedef = t.CPtrDiffT -ptrdiff_t: t.CTypedef = t.CPtrDiffT -intptr_t: t.CTypedef = t.CIntPtrT -uintptr_t: t.CTypedef = t.CUIntPtrT -wchar_t: t.CTypedef = t.CWCharT -char8_t: t.CTypedef = t.CChar8T -char16_t: t.CTypedef = t.CChar16T -char32_t: t.CTypedef = t.CChar32T -float8_t: t.CTypedef = t.CFloat8T -float16_t: t.CTypedef = t.CFloat16T -float32_t: t.CTypedef = t.CFloat32T -float64_t: t.CTypedef = t.CFloat64T -float128_t: t.CTypedef = t.CFloat128T -_Bool: t.CTypedef = t.CBool \ No newline at end of file diff --git a/Test/ZlibTest/temp/f6b51804a0ba8ff0.vpi b/Test/ZlibTest/temp/f6b51804a0ba8ff0.vpi deleted file mode 100644 index 6ee80a6..0000000 --- a/Test/ZlibTest/temp/f6b51804a0ba8ff0.vpi +++ /dev/null @@ -1,192 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32file.vp -Module: w32.win32file -""" - -import c - - -import t -from stdint import * -from w32.win32base import * - -GENERIC_READ: t.CDefine = 0x80000000 -GENERIC_WRITE: t.CDefine = 0x40000000 -GENERIC_EXECUTE: t.CDefine = 0x20000000 -GENERIC_ALL: t.CDefine = 0x10000000 -FILE_SHARE_READ: t.CDefine = 0x00000001 -FILE_SHARE_WRITE: t.CDefine = 0x00000002 -FILE_SHARE_DELETE: t.CDefine = 0x00000004 -CREATE_NEW: t.CDefine = 1 -CREATE_ALWAYS: t.CDefine = 2 -OPEN_EXISTING: t.CDefine = 3 -OPEN_ALWAYS: t.CDefine = 4 -TRUNCATE_EXISTING: t.CDefine = 5 -FILE_ATTRIBUTE_READONLY: t.CDefine = 0x00000001 -FILE_ATTRIBUTE_HIDDEN: t.CDefine = 0x00000002 -FILE_ATTRIBUTE_SYSTEM: t.CDefine = 0x00000004 -FILE_ATTRIBUTE_DIRECTORY: t.CDefine = 0x00000010 -FILE_ATTRIBUTE_ARCHIVE: t.CDefine = 0x00000020 -FILE_ATTRIBUTE_NORMAL: t.CDefine = 0x00000080 -FILE_ATTRIBUTE_TEMPORARY: t.CDefine = 0x00000100 -FILE_ATTRIBUTE_COMPRESSED: t.CDefine = 0x00000800 -FILE_ATTRIBUTE_OFFLINE: t.CDefine = 0x00001000 -FILE_ATTRIBUTE_ENCRYPTED: t.CDefine = 0x00004000 -FILE_FLAG_WRITE_THROUGH: t.CDefine = 0x80000000 -FILE_FLAG_OVERLAPPED: t.CDefine = 0x40000000 -FILE_FLAG_NO_BUFFERING: t.CDefine = 0x20000000 -FILE_FLAG_RANDOM_ACCESS: t.CDefine = 0x10000000 -FILE_FLAG_SEQUENTIAL_SCAN: t.CDefine = 0x08000000 -FILE_FLAG_DELETE_ON_CLOSE: t.CDefine = 0x04000000 -FILE_FLAG_BACKUP_SEMANTICS: t.CDefine = 0x02000000 -FILE_FLAG_POSIX_SEMANTICS: t.CDefine = 0x01000000 -FILE_BEGIN: t.CDefine = 0 -FILE_CURRENT: t.CDefine = 1 -FILE_END: t.CDefine = 2 -STD_INPUT_HANDLE: t.CDefine = t.CUnsignedLong(-10) -STD_OUTPUT_HANDLE: t.CDefine = t.CUnsignedLong(-11) -STD_ERROR_HANDLE: t.CDefine = t.CUnsignedLong(-12) -MOVEFILE_REPLACE_EXISTING: t.CDefine = 0x00000001 -MOVEFILE_COPY_ALLOWED: t.CDefine = 0x00000002 -MOVEFILE_WRITE_THROUGH: t.CDefine = 0x00000008 - -class BY_HANDLE_FILE_INFORMATION: - dwFileAttributes: ULONG - ftCreationTime: FILETIME - ftLastAccessTime: FILETIME - ftLastWriteTime: FILETIME - dwVolumeSerialNumber: ULONG - nFileSizeHigh: ULONG - nFileSizeLow: ULONG - nNumberOfLinks: ULONG - nFileIndexHigh: ULONG - nFileIndexLow: ULONG -class WIN32_FIND_DATAA: - dwFileAttributes: ULONG - ftCreationTime: FILETIME - ftLastAccessTime: FILETIME - ftLastWriteTime: FILETIME - nFileSizeHigh: ULONG - nFileSizeLow: ULONG - dwReserved0: ULONG - dwReserved1: ULONG - cFileName: t.CArray[t.CChar, 260] - cAlternateFileName: t.CArray[t.CChar, 14] -class WIN32_FIND_DATAW: - dwFileAttributes: ULONG - ftCreationTime: FILETIME - ftLastAccessTime: FILETIME - ftLastWriteTime: FILETIME - nFileSizeHigh: ULONG - nFileSizeLow: ULONG - dwReserved0: ULONG - dwReserved1: ULONG - cFileName: t.CArray[t.CUInt16T, 260] - cAlternateFileName: t.CArray[t.CUInt16T, 14] - -def CreateFileA(lpFileName: LPCSTR, dwDesiredAccess: ULONG, dwShareMode: ULONG, lpSecurityAttributes: SECURITY_ATTRIBUTES | t.CPtr, dwCreationDisposition: ULONG, dwFlagsAndAttributes: ULONG, hTemplateFile: HANDLE) -> HANDLE | t.State: pass - -def CreateFileW(lpFileName: LPCWSTR, dwDesiredAccess: ULONG, dwShareMode: ULONG, lpSecurityAttributes: SECURITY_ATTRIBUTES | t.CPtr, dwCreationDisposition: ULONG, dwFlagsAndAttributes: ULONG, hTemplateFile: HANDLE) -> HANDLE | t.State: pass - -def ReadFile(hFile: HANDLE, lpBuffer: VOIDPTR, nNumberOfBytesToRead: ULONG, lpNumberOfBytesRead: ULONG | t.CPtr, lpOverlapped: OVERLAPPED | t.CPtr) -> BOOL | t.State: pass - -def WriteFile(hFile: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfBytesToWrite: ULONG, lpNumberOfBytesWritten: ULONG | t.CPtr, lpOverlapped: OVERLAPPED | t.CPtr) -> BOOL | t.State: pass - -def SetFilePointer(hFile: HANDLE, lDistanceToMove: LONG, lpDistanceToMoveHigh: LONG | t.CPtr, dwMoveMethod: ULONG) -> LONG | t.State: pass - -def SetFilePointerEx(hFile: HANDLE, liDistanceToMove: LARGE_INTEGER | t.CPtr, lpNewFilePointer: LARGE_INTEGER | t.CPtr, dwMoveMethod: ULONG) -> BOOL | t.State: pass - -def GetFileSize(hFile: HANDLE, lpFileSizeHigh: ULONG | t.CPtr) -> ULONG | t.State: pass - -def GetFileSizeEx(hFile: HANDLE, lpFileSize: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def SetEndOfFile(hFile: HANDLE) -> BOOL | t.State: pass - -def FlushFileBuffers(hFile: HANDLE) -> BOOL | t.State: pass - -def GetFileType(hFile: HANDLE) -> ULONG | t.State: pass - -def GetFileAttributesA(lpFileName: LPCSTR) -> ULONG | t.State: pass - -def GetFileAttributesW(lpFileName: LPCWSTR) -> ULONG | t.State: pass - -def SetFileAttributesA(lpFileName: LPCSTR, dwFileAttributes: ULONG) -> BOOL | t.State: pass - -def SetFileAttributesW(lpFileName: LPCWSTR, dwFileAttributes: ULONG) -> BOOL | t.State: pass - -def DeleteFileA(lpFileName: LPCSTR) -> BOOL | t.State: pass - -def DeleteFileW(lpFileName: LPCWSTR) -> BOOL | t.State: pass - -def MoveFileA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR) -> BOOL | t.State: pass - -def MoveFileW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR) -> BOOL | t.State: pass - -def MoveFileExA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, dwFlags: ULONG) -> BOOL | t.State: pass - -def MoveFileExW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, dwFlags: ULONG) -> BOOL | t.State: pass - -def CopyFileA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, bFailIfExists: BOOL) -> BOOL | t.State: pass - -def CopyFileW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, bFailIfExists: BOOL) -> BOOL | t.State: pass - -def CreateDirectoryA(lpPathName: LPCSTR, lpSecurityAttributes: SECURITY_ATTRIBUTES | t.CPtr) -> BOOL | t.State: pass - -def CreateDirectoryW(lpPathName: LPCWSTR, lpSecurityAttributes: SECURITY_ATTRIBUTES | t.CPtr) -> BOOL | t.State: pass - -def RemoveDirectoryA(lpPathName: LPCSTR) -> BOOL | t.State: pass - -def RemoveDirectoryW(lpPathName: LPCWSTR) -> BOOL | t.State: pass - -def FindFirstFileA(lpFileName: LPCSTR, lpFindFileData: WIN32_FIND_DATAA | t.CPtr) -> HANDLE | t.State: pass - -def FindFirstFileW(lpFileName: LPCWSTR, lpFindFileData: WIN32_FIND_DATAW | t.CPtr) -> HANDLE | t.State: pass - -def FindNextFileA(hFindFile: HANDLE, lpFindFileData: WIN32_FIND_DATAA | t.CPtr) -> BOOL | t.State: pass - -def FindNextFileW(hFindFile: HANDLE, lpFindFileData: WIN32_FIND_DATAW | t.CPtr) -> BOOL | t.State: pass - -def FindClose(hFindFile: HANDLE) -> BOOL | t.State: pass - -def GetStdHandle(nStdHandle: ULONG) -> HANDLE | t.State: pass - -def SetStdHandle(nStdHandle: ULONG, hHandle: HANDLE) -> BOOL | t.State: pass - -def GetFileInformationByHandle(hFile: HANDLE, lpFileInformation: BY_HANDLE_FILE_INFORMATION | t.CPtr) -> BOOL | t.State: pass - -def LockFile(hFile: HANDLE, dwFileOffsetLow: ULONG, dwFileOffsetHigh: ULONG, nNumberOfBytesToLockLow: ULONG, nNumberOfBytesToLockHigh: ULONG) -> BOOL | t.State: pass - -def UnlockFile(hFile: HANDLE, dwFileOffsetLow: ULONG, dwFileOffsetHigh: ULONG, nNumberOfBytesToUnlockLow: ULONG, nNumberOfBytesToUnlockHigh: ULONG) -> BOOL | t.State: pass - -def GetTempPathA(nBufferLength: ULONG, lpBuffer: CHARPTR) -> ULONG | t.State: pass - -def GetTempPathW(nBufferLength: ULONG, lpBuffer: WCHARPTR) -> ULONG | t.State: pass - -def GetTempFileNameA(lpPathName: LPCSTR, lpPrefixString: LPCSTR, uUnique: UINT, lpTempFileName: CHARPTR) -> UINT | t.State: pass - -def GetTempFileNameW(lpPathName: LPCWSTR, lpPrefixString: LPCWSTR, uUnique: UINT, lpTempFileName: WCHARPTR) -> UINT | t.State: pass - -def GetCurrentDirectoryA(nBufferLength: ULONG, lpBuffer: CHARPTR) -> ULONG | t.State: pass - -def GetCurrentDirectoryW(nBufferLength: ULONG, lpBuffer: WCHARPTR) -> ULONG | t.State: pass - -def SetCurrentDirectoryA(lpPathName: LPCSTR) -> BOOL | t.State: pass - -def SetCurrentDirectoryW(lpPathName: LPCWSTR) -> BOOL | t.State: pass - -def GetModuleFileNameA(hModule: HANDLE, lpFilename: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetModuleFileNameW(hModule: HANDLE, lpFilename: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - - -HANDLE_FLAG_INHERIT: t.CDefine = 0x00000001 -HANDLE_FLAG_PROTECT_FROM_CLOSE: t.CDefine = 0x00000002 - -def CreatePipe(hReadPipe: HANDLE | t.CPtr, hWritePipe: HANDLE | t.CPtr, lpPipeAttributes: SECURITY_ATTRIBUTES | t.CPtr, nSize: ULONG) -> BOOL | t.State: pass - -def SetHandleInformation(hObject: HANDLE, dwMask: ULONG, dwFlags: ULONG) -> BOOL | t.State: pass - -def DuplicateHandle(hSourceProcessHandle: HANDLE, hSourceHandle: HANDLE, hTargetProcessHandle: HANDLE, lpTargetHandle: HANDLE | t.CPtr, dwDesiredAccess: ULONG, bInheritHandle: BOOL, dwOptions: ULONG) -> BOOL | t.State: pass - - -DUPLICATE_SAME_ACCESS: t.CDefine = 0x00000002 \ No newline at end of file diff --git a/Test/ZlibTest/temp/fc980acec33d69a7.stub.ll.dep b/Test/ZlibTest/temp/fc980acec33d69a7.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/ZlibTest/temp/fc980acec33d69a7.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/ZlibTest/temp/fc980acec33d69a7.vpi b/Test/ZlibTest/temp/fc980acec33d69a7.vpi deleted file mode 100644 index 3f9feff..0000000 --- a/Test/ZlibTest/temp/fc980acec33d69a7.vpi +++ /dev/null @@ -1,100 +0,0 @@ -""" -Auto-generated Python stub file from w32.win32base.vp -Module: w32.win32base -""" - -import c - - -import t -from stdint import * - -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = -1 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 0xFFFFFFFF -WAIT_FAILED: t.CDefine = 0xFFFFFFFF -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 0x80 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 - -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR -class LARGE_INTEGER: - QuadPart: LONGLONG -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass diff --git a/_analyze_gen.py b/_analyze_gen.py new file mode 100644 index 0000000..1f5ad35 --- /dev/null +++ b/_analyze_gen.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +"""临时分析脚本:解析 Generator 结构体布局,找 offset 25/26 字段""" +import re + +s = open(r'd:\Users\TermiNexus\Desktop\TransPyC\TransPyV\output\f223ab7f90ee9c48.ll', encoding='utf-8').read() +m = re.search(r'%"f223ab7f90ee9c48\.Generator" = type \{(.*?)\}', s) +if m: + body = m.group(1) + parts = [] + depth = 0 + cur = '' + for ch in body: + if ch in '{[(': + depth += 1 + elif ch in '}])': + depth -= 1 + if ch == ',' and depth == 0: + parts.append(cur.strip()) + cur = '' + else: + cur += ch + if cur.strip(): + parts.append(cur.strip()) + print('total fields:', len(parts)) + for i in (24, 25, 26, 27, 28, 29, 30): + if i < len(parts): + print(i, parts[i]) diff --git a/_bench_vast_c.py b/_bench_vast_c.py new file mode 100644 index 0000000..1293421 --- /dev/null +++ b/_bench_vast_c.py @@ -0,0 +1,38 @@ +"""vast_c vs vast 性能基准(临时脚本)""" +import sys +import time + +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC') +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC\lib') + +import vast +import vast_c + +Parts = [] +for I in range(30): + Parts.append(f'def Func{I}(A: int, B: float = 1.5) -> str:') + Parts.append(' X = A + B * 2') + Parts.append(' if X > 10:') + Parts.append(' return "big"') + Parts.append(' else:') + Parts.append(' return "small"') + Parts.append(f'class Klass{I}:') + Parts.append(' def __init__(self):') + Parts.append(' self.Items = [I for I in range(10) if I % 2 == 0]') + Parts.append(' def Run(self):') + Parts.append(' return self.Items[0] if self.Items else None') +Src = '\n'.join(Parts) +N = 50 + +T0 = time.perf_counter() +for _ in range(N): + vast.parse(Src) +T1 = time.perf_counter() +for _ in range(N): + vast_c.parse(Src) +T2 = time.perf_counter() +Va = (T1 - T0) / N * 1000 +Vc = (T2 - T1) / N * 1000 +print(f'vast : {Va:.3f} ms/次') +print(f'vast_c : {Vc:.3f} ms/次') +print(f'加速比 : {Va / Vc:.1f}x') diff --git a/_bench_vast_c_pure.py b/_bench_vast_c_pure.py new file mode 100644 index 0000000..76688cc --- /dev/null +++ b/_bench_vast_c_pure.py @@ -0,0 +1,36 @@ +"""vast_c vs 纯 Python vast 对照基准(VAST_USE_C 开关)""" +import os +import sys +import time + +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC') +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC\lib') + +import vast + +Parts = [] +for I in range(50): + Parts.append(f'def F{I}(A: int, B: float = 1.5) -> str:') + Parts.append(' X = A + B * 2') + Parts.append(' if X > 10:') + Parts.append(' return "big"') + Parts.append(' return "small"') +Src = '\n'.join(Parts) +N = 30 + +os.environ['VAST_USE_C'] = '0' +T0 = time.perf_counter() +for _ in range(N): + vast.parse(Src) +T1 = time.perf_counter() + +os.environ['VAST_USE_C'] = 'strict' +for _ in range(N): + vast.parse(Src) +T2 = time.perf_counter() + +PyMs = (T1 - T0) / N * 1000 +CMs = (T2 - T1) / N * 1000 +print(f'纯Python vast : {PyMs:.3f} ms/次') +print(f'vast_c : {CMs:.3f} ms/次') +print(f'加速比 : {PyMs / CMs:.1f}x') diff --git a/_calc_gen_layout.py b/_calc_gen_layout.py new file mode 100644 index 0000000..0a73828 --- /dev/null +++ b/_calc_gen_layout.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +"""带对齐计算 Generator 布局中 ClassGenEnum 的偏移,对比 this_adjust 464""" +import re + +src = open(r'd:\Users\TermiNexus\Desktop\TransPyC\TransPyV\output\031de2bf1006ef88.ll', + encoding='utf-8', errors='replace').read() + +def parse_fields(body): + depth = 0 + fields = [] + cur = '' + for ch in body: + if ch == '{': + depth += 1 + elif ch == '}': + depth -= 1 + if ch == ',' and depth == 0: + fields.append(cur.strip()) + cur = '' + else: + cur += ch + if cur.strip(): + fields.append(cur.strip()) + return fields + + +def align_of(t): + t = t.strip() + if t.endswith('*') or t == 'i64': + return 8 + if t == 'i32': + return 4 + if t == 'i16': + return 2 + if t in ('i8', 'i1'): + return 1 + return 8 + + +def size_of(t): + t = t.strip() + if t.endswith('*') or t == 'i64': + return 8 + if t == 'i32': + return 4 + if t == 'i16': + return 2 + if t in ('i8', 'i1'): + return 1 + return 8 + + +m = re.search(r'%\"273007d50d5852ac.Generator\" = type \{ (.*?) \}', src) +gfields = parse_fields(m.group(1)) + +m2 = re.search(r'%\"fdad6914c4a7d3ce.ClassGenEnum\" = type \{ (.*?) \}', src) +cfields = parse_fields(m2.group(1)) +print('ClassGenEnum 字段数:', len(cfields)) + +# 计算每个字段在 Generator 中的对齐偏移 +offs = [] +cur = 0 +for f in gfields: + a = align_of(f) + if cur % a != 0: + cur += a - (cur % a) + offs.append(cur) + cur += size_of(f) + +# 找 ClassGenEnum 完整子序列匹配 +for i in range(len(gfields) - len(cfields) + 1): + if gfields[i:i+len(cfields)] == cfields: + print(f'ClassGenEnum 匹配 @字段{i} 对齐偏移{offs[i]}') diff --git a/_check_imports.py b/_check_imports.py new file mode 100644 index 0000000..9229e56 --- /dev/null +++ b/_check_imports.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- +"""扫描 TPV .vp 文件:找出"跨模块前缀引用但未 import"的模块(识别 as 别名)。 +用法: python _check_imports.py +""" +import os +import re + +ROOT = r"d:\Users\TermiNexus\Desktop\TransPyC\TransPyV\App\lib\core" +DIRS = [os.path.join(ROOT, "Gen"), os.path.join(ROOT, "Handles")] +# 忽略列表:基础库/枚举成员/llvmlite 属性/类名(大写开头且非模块) +IGNORE = { + "ast", "t", "c", "stdint", "stdio", "string", "stdlib", "memhub", "llvmlite", + "viperlib", "sys", "math", "time", "hashlib", "vthreading", "subprocess", + "argparse", "w32", "fileio", "win32", "win32console", "win32file", + "win32base", "win32process", "win32sync", "win32thread", "win32time", + "win32heap", "win32job", "win32namedpipe", "win32registry", "win32security", + "win32service", "win32socket", "win32handle", "win32pipe", "win32io", + "ASTKind", "ASTCtx", "OpKind", "CONST_NONE", "CONST_INT", "CONST_FLOAT", + "CONST_STR", "CONST_BOOL", "MODE", "ASM_DESCR", "Alloca", "Subscript", + "DefaultVal", "Arguments", "GenericClassFiles", "GenericClassNames", + "GenericClassNodes", "GenericClassSha1s", "GenericTpNames", "GenericTypeArgs", + "CDefineNames", "CDefineValues", "CDefineDoubleFlags", "CDefineStrFlags", + "XmodCdefNames", "XmodCdefValues", "XmodCdefDoubleFlags", "XmodCdefStrFlags", + "CTypedefNames", "CTypedefTypeStrs", "CTypedefVisiting", "VisibleStructs", + "Node", "Pool", "T", "Current", "Scope", "Constant", "List", "Int", "Struct", + "LocalClass", "RemoteClass", "Trans", "ExprHandle", "Type", "Value", "Function", + "BasicBlock", "Param", "ParamNode", "GlobalVariable", "LLVMType", "IRBuilder", + "LLVMModule", "MemBuddy", "Translator", "Generator", "Logger", "File", + "SymbolTable", "VarEntry", "StructEntry", "FieldEntry", "EnumEntry", + "EnumMember", "AsmOperand", "FuncEntry", "FuncDefaultsEntry", "TraceFrame", + "Mixin", "TypeKind", "TypeInfo", "TypeRegistry", "Config", "Exporter", + "Module", "State", "Default", "Utf8", "Case", "Error", "Handle", +} +# Gen Mixin 自引用(同包内类名) +GEN_MIXINS = { + "Generator", "BaseGenMixin", "TypeGenMixin", "TypeGenBase", "TypeGenCDef", + "TypeGenCType", "TypeGenResolve", "TypeGenErr", "StructGenMixin", + "ExprGenMixin", "ExprGenBase", "ExprGenConst", "ExprGenFstr", "ExprGenOps", + "ExprGenCdef", "ExprGenName", "ExprGenAttr", "ExprGenCls", "CallGenMixin", + "CallGenBase", "CallGenLeafKit", "CallGenCBuiltin", "CallGenCtor", "CallGenCall", + "CallGenProp", "CallGenFd", "CallGenVt", "CallGenVa", "CallGenLib", + "CallGenDispatch", "FuncGenBase", "FuncGenDef", "FuncGenMixin", "ClassGenMixin", + "ClassGenBase", "ClassGenEnum", "ClassGenGeneric", "ClassGenVTable", + "ClassGenDef", "ImportsGenMixin", "StmtGenMixin", "StmtGenDeclMixin", + "StmtGenCifMixin", "AssignGenMixin", "VarGenMixin", "TranslatorGenMixin", + "MatchGenMixin", "GenGenerator", +} +# 单字母/短名枚举等 +SHORT = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", + "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", + "T", "U", "V", "W", "X", "Y", "Z", "N", "M", "I", "J", "K", "L", "O", + "P", "Q", "R", "S", "A", "B", "C", "D", "E", "F", "G", "H"} + +def collect(): + result = {} + pat_import = re.compile(r'^\s*(?:import|from)\s+([\w\.]+)(?:\s+as\s+(\w+))?') + pat_ref = re.compile(r'\b([A-Z][A-Za-z0-9_]*)\s*\.') + for d in DIRS: + for fn in sorted(os.listdir(d)): + if not fn.endswith(".vp"): + continue + fp = os.path.join(d, fn) + with open(fp, encoding="utf-8", errors="replace") as f: + lines = f.readlines() + imports = set() + refs = set() + for ln in lines: + s = ln.strip() + if s.startswith("#"): + continue + m = pat_import.match(s) + if m: + mod = m.group(1) + alias = m.group(2) + short = mod.split(".")[-1] + if alias: + imports.add(alias) + imports.add(short) + imports.add(mod) + continue + for rm in pat_ref.finditer(ln): + refs.add(rm.group(1)) + result[fp] = (imports, refs) + return result + +def main(): + files = collect() + print("=== 使用但未 import(已去误报) ===") + any_hit = False + for fp, (imports, refs) in files.items(): + missing = [] + for r in sorted(refs): + if r in IGNORE or r in GEN_MIXINS or r in SHORT: + continue + if r in imports: + continue + missing.append(r) + if missing: + any_hit = True + print(f"\n{os.path.relpath(fp, ROOT)}") + for m in missing: + print(f" MISSING: {m}") + if not any_hit: + print("(无)") + print("\n=== 完成 ===") + +if __name__ == "__main__": + main() diff --git a/_check_off.py b/_check_off.py new file mode 100644 index 0000000..22bc457 --- /dev/null +++ b/_check_off.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 +"""计算 Generator struct 中元素 105/106/107/108 的字节偏移,验证 this_adjust=776 一致性""" +import re + +p = r'd:\Users\TermiNexus\Desktop\TransPyC\TransPyV\output\0bef502adb69f851.ll' +for line in open(p, encoding='utf-8', errors='replace'): + if '"e1ea7eaf63a9c3d1.Generator" = type' in line: + s = line.strip() + start = s.index('{') + end = s.rindex('}') + body = s[start + 1:end].strip() + # 顶层按逗号分割(元素不含嵌套花括号) + elems = [e.strip() for e in body.split(',')] + print('elements count:', len(elems)) + + def size_align(t): + t = t.strip() + if t.endswith('*') or t == 'i64' or t == 'double': + return (8, 8) + if t == 'i32' or t.startswith('float'): + return (4, 4) + if t == 'i16': + return (2, 2) + if t == 'i1' or t == 'i8': + return (1, 1) + return (8, 8) + + off = 0 + for i, e in enumerate(elems): + sz, al = size_align(e) + if al > 1: + off = ((off + al - 1) // al) * al + if i in (104, 105, 106, 107, 108, 109): + print(f' idx={i} type={e[:60]} byte_offset={off}') + off += sz + print('approx total:', off) + break diff --git a/_check_offset.py b/_check_offset.py new file mode 100644 index 0000000..32ba84e --- /dev/null +++ b/_check_offset.py @@ -0,0 +1,36 @@ +"""计算 Generator struct 关键字段偏移,验证 this_adjust=536 是否正确。""" +import re + +f = r'D:\Users\TermiNexus\Desktop\TransPyC\TransPyV\output\e1ea7eaf63a9c3d1.ll' +elems = [] +with open(f, encoding='utf-8', errors='replace') as fh: + for ln in fh: + if 'e1ea7eaf63a9c3d1.Generator" = type' in ln: + body = ln.split('= type {')[1].rstrip().rstrip('}') + elems = [x.strip() for x in body.split(',')] + break + +off = 0 +offs = [] +for t in elems: + align = 4 if t == 'i32' else 8 + sz = 4 if t == 'i32' else 8 + if off % align: + off += align - (off % align) + offs.append(off) + off += sz +print('struct 元素数:', len(elems)) +for idx in (89, 90, 105, 108): + print(f'struct[{idx}]={elems[idx]} 偏移={offs[idx]}') + +# ClassGenBase 独立 struct 前 26 元素字节偏移(ExceptionNames 块内偏移) +CGB = ['i8*','i8*','i32','i64*','i64*','i64*','i64*','i32','i64*','i64*','i64*','i64*','i64*','i32', + 'i64*','i64*','i32','i32*','i8*','i8*','i32','i32','i8*','i8*','i64*','i32'] +c = 0 +for t in CGB: + a = 4 if t == 'i32' else 8 + s = 4 if t == 'i32' else 8 + if c % a: c += a - (c % a) + c += s +print('ClassGenBase ExceptionNames 块内偏移:', c) +print('this_adjust(536) + 块内偏移 =', 536 + c, ' vs struct[90] ExceptionNames 偏移', offs[90] if len(offs) > 90 else 'N/A') diff --git a/_cmp_sig.py b/_cmp_sig.py new file mode 100644 index 0000000..06e5357 --- /dev/null +++ b/_cmp_sig.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 +"""对比两构建的关键语义行(过滤类型声明顺序噪音)""" +import sys + +BK = r'd:\Users\TermiNexus\Desktop\TransPyC\_bk6' +NOW = r'd:\Users\TermiNexus\Desktop\TransPyC\TransPyV\output' +FILES = ['43da8de1129ccd08.ll', '57cd9f82dd50783e.ll', 'c356e88e66096eea.ll', + 'e1ea7eaf63a9c3d1.ll', '873bf8790da565fa.ll', '50202407280af718.ll'] + + +def sig(path): + out = [] + for line in open(path, encoding='utf-8', errors='replace'): + s = line.strip() + if s.startswith('%"') and '= type' in s: + continue # 类型声明顺序噪音 + if ('this_adjust' in s or 'getelementptr' in s + or 'call i' in s or 'define ' in s or 'declare ' in s): + out.append(s) + return sorted(set(out)) + + +for f in FILES: + a = sig(BK + '\\' + f) + b = sig(NOW + '\\' + f) + if a == b: + print(f'=== {f}: 语义关键行一致 ===') + continue + only_a = set(a) - set(b) + only_b = set(b) - set(a) + print(f'=== {f}: A-only {len(only_a)}, B-only {len(only_b)} ===') + for x in list(only_a)[:8]: + print(' A:', x[:150]) + for x in list(only_b)[:8]: + print(' B:', x[:150]) diff --git a/_dump_super_ast.py b/_dump_super_ast.py new file mode 100644 index 0000000..6cc3bc2 --- /dev/null +++ b/_dump_super_ast.py @@ -0,0 +1,46 @@ +"""临时诊断:用 vast 解析 SuperTest/App/main.vp,dump super 相关语句的 AST 形态""" +import sys +sys.path.insert(0, r"d:\Users\TermiNexus\Desktop\TransPyC") +import os +os.environ['VAST_USE_C'] = '0' # 用纯 Python vast,行为一致且可打印 +import lib.vast as ast + +src_path = r"d:\Users\TermiNexus\Desktop\TransPyC\Test\SuperTest\App\main.vp" +with open(src_path, "r", encoding="utf-8") as f: + src = f.read() + +tree = ast.parse(src, filename=src_path) + +def walk_node(node, depth=0): + """递归打印含 super 的调用形态""" + fields = list(ast.iter_fields(node)) + # 打印所有 Call 节点,func 为 Name/Attribute 的 + if isinstance(node, ast.Call): + func = node.func + if isinstance(func, ast.Name) and func.id == "super": + print(f" CALL(func=Name('super'), args={len(node.args)}, lineno={node.lineno})") + elif isinstance(func, ast.Attribute): + val = func.value + val_desc = "?" + if isinstance(val, ast.Call) and isinstance(val.func, ast.Name): + val_desc = f"Call(Name('{val.func.id}'), args={len(val.args)})" + elif isinstance(val, ast.Name): + val_desc = f"Name('{val.id}')" + elif isinstance(val, ast.Attribute): + val_desc = f"Attribute(...)" + print(f" CALL(func=Attribute(value={val_desc}, attr='{func.attr}'), args={len(node.args)}, lineno={node.lineno})") + for name, value in fields: + if isinstance(value, list): + for item in value: + if isinstance(item, ast.AST): + walk_node(item, depth + 1) + elif isinstance(value, ast.AST): + walk_node(value, depth + 1) + +# 打印所有语句,标注含 super 的 +for stmt in tree.body: + s = ast.unparse(stmt) if hasattr(ast, 'unparse') else "" + txt = f"{type(stmt).__name__}: {s}" if s else type(stmt).__name__ + print(f"stmt[{getattr(stmt, 'lineno', '?')}] {txt}") + if "super" in str(stmt): + walk_node(stmt) diff --git a/_final_check.py b/_final_check.py new file mode 100644 index 0000000..e704517 --- /dev/null +++ b/_final_check.py @@ -0,0 +1,45 @@ +"""临时:全量 vast 验证 + 残留检查""" +import os +import re +import sys + +APP = r"d:\Users\TermiNexus\Desktop\TransPyC\TransPyV\App" +sys.path.insert(0, r"d:\Users\TermiNexus\Desktop\TransPyC") +import lib.vast as vast + +fails = [] +n = 0 +for root, dirs, files in os.walk(APP): + for fn in sorted(files): + if not fn.endswith(".vp"): + continue + p = os.path.join(root, fn) + n += 1 + try: + vast.parse(open(p, encoding="utf-8").read(), p) + except Exception as e: + fails.append((os.path.relpath(p, APP), repr(e))) +print("vast 验证: OK", n - len(fails), "/", n) +for fn, e in fails: + print(" FAIL:", fn, e) + +# 分裂字段残留检查:TypeGenErr 中 self.TraceCount/self.CurrentFile(宿主对象外的副本访问) +DEL = re.compile(r"\b(HandlesVar|HandlesExprOps|HandlesType|HandlesAssign|HandlesAnnAssign|" + r"HandlesReturn|HandlesImports|HandlesFunctions|HandlesBody|HandlesWhile|" + r"HandlesFor|HandlesAugAssign|HandlesMain|HandlesStruct|HandlesNonlocal|" + r"HandlesMatch|HandlesEnum|HandlesClassDef|ExprCallBase|ExprCallCall|" + r"ExprCallCtor|ExprCallDeref|ExprCallHandle|ForHandleBase|ForHandleIter)\.\w+") +res = [] +for root, dirs, files in os.walk(APP): + for fn in files: + if not fn.endswith(".vp"): + continue + p = os.path.join(root, fn) + s = open(p, encoding="utf-8").read() + for i, ln in enumerate(s.split("\n"), 1): + code = ln.split("#", 1)[0] + if DEL.search(code): + res.append(f"{os.path.relpath(p, APP)}:{i} {ln.strip()}") +print("待删模块残留引用:", len(res)) +for r in res: + print(" ", r) diff --git a/_fix_dbody.py b/_fix_dbody.py new file mode 100644 index 0000000..d9051bd --- /dev/null +++ b/_fix_dbody.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +"""临时脚本:修复 MatchGenMixin.vp 三处 dbody = dmc.children(普通赋值触发 +TPC 跨模块 RHS 类型推断失败 → 退化 list[int] → get 截断指针)。改完即删。""" +import io + +path = r"d:\Users\TermiNexus\Desktop\TransPyC\TransPyV\App\lib\core\Gen\MatchGenMixin.vp" + +with io.open(path, "r", encoding="utf-8") as f: + content = f.read() + +old = "dbody = dmc.children" +new = ( + "dbody2: list[ast.AST | t.CPtr] | t.CPtr = dmc.children\n" + " dbody = dbody2" +) +count = content.count(old) +if count != 3: + raise SystemExit(f"预期 3 处,实际 {count} 处,中止") +content = content.replace(old, new) + +with io.open(path, "w", encoding="utf-8", newline="\n") as f: + f.write(content) +print(f"OK: replaced {count} occurrences") diff --git a/_fp_u19.txt b/_fp_u19.txt new file mode 100644 index 0000000..c775e7d --- /dev/null +++ b/_fp_u19.txt @@ -0,0 +1,431 @@ +0053a1e4133453ae.ll:1caf0cf636 +0053a1e4133453ae.stub.ll:bc9ee63617 +0053a1e4133453ae.text.ll:d4dc376d1a +0b80bf23b25f6f77.ll:2d2ab1d938 +0b80bf23b25f6f77.stub.ll:f59cc3a425 +0b80bf23b25f6f77.text.ll:9b81cbf6ec +0bef502adb69f851.ll:13bbc76c60 +0bef502adb69f851.stub.ll:928e508c96 +0bef502adb69f851.text.ll:1f063e5482 +0c67644125bea0fd.ll:0fd640e7e7 +0c67644125bea0fd.stub.ll:f56f57d8a4 +0c67644125bea0fd.text.ll:3b90307955 +0de09733e778c2b6.ll:4a8bc65255 +0de09733e778c2b6.stub.ll:1cb24a5b5d +0de09733e778c2b6.text.ll:66323fb1d5 +0eb95094e8f14be7.ll:ae6e5bb7e7 +0eb95094e8f14be7.stub.ll:76ac0ce083 +0eb95094e8f14be7.text.ll:8dfa0fbb30 +104b74146bf17483.ll:0e4d42ea71 +104b74146bf17483.stub.ll:2cede4f3f1 +104b74146bf17483.text.ll:e1fefcc89d +123a32d76508a043.ll:e133d5441d +123a32d76508a043.stub.ll:d4bba36fd3 +123a32d76508a043.text.ll:427275db69 +13a4a4b7df5e45a3.ll:61a6b2eee8 +13a4a4b7df5e45a3.stub.ll:2ba2b935fb +13a4a4b7df5e45a3.text.ll:d9883775e0 +181598a0bfa40228.ll:83bc00c86f +181598a0bfa40228.stub.ll:662cbc3254 +181598a0bfa40228.text.ll:27933b2f81 +1ab30dd423d0e622.ll:d37a055997 +1ab30dd423d0e622.stub.ll:4d2e263009 +1ab30dd423d0e622.text.ll:006df02db4 +1e13f5aa34720c79.ll:c018cbfc4b +1e13f5aa34720c79.stub.ll:16d7c9cc02 +1e13f5aa34720c79.text.ll:70b99d5786 +1e2f6c558158c360.ll:68c602ce20 +1e2f6c558158c360.stub.ll:73f636aeab +1e2f6c558158c360.text.ll:8cf1653781 +1fd507b2b3c4e26e.ll:93cdfd2e34 +1fd507b2b3c4e26e.stub.ll:a59267bf92 +1fd507b2b3c4e26e.text.ll:8deeb01b74 +20cd49775c100a38.ll:baf0e9ce61 +20cd49775c100a38.stub.ll:60f9d42bcf +20cd49775c100a38.text.ll:5009556531 +21d06f294fe16539.ll:8fd43b831d +21d06f294fe16539.stub.ll:3ae111b771 +21d06f294fe16539.text.ll:0b9cf47c06 +22ba145f716f0316.ll:0d4d77b705 +22ba145f716f0316.stub.ll:9b635291d8 +22ba145f716f0316.text.ll:fda01e1376 +240a9a4157959a9f.ll:390f484987 +240a9a4157959a9f.stub.ll:e4d71b68fa +240a9a4157959a9f.text.ll:672139dc12 +285b6aa29a34754d.stub.ll:6cfee34932 +287d5051742191ee.ll:ba26001e25 +287d5051742191ee.stub.ll:2da49363ec +287d5051742191ee.text.ll:28e67cf9b2 +28de517e3820658a.ll:676ce25b4a +28de517e3820658a.stub.ll:10100e2f74 +28de517e3820658a.text.ll:8fb8549410 +2a61eed4abe49e06.ll:63113f17f3 +2a61eed4abe49e06.stub.ll:cda74d67ea +2a61eed4abe49e06.text.ll:c4c975023b +2a69c81475d52dea.ll:9f2f15ac3e +2a69c81475d52dea.stub.ll:33f4309985 +2a69c81475d52dea.text.ll:16cdd22e84 +2c175afd85852faf.ll:6d87e30e72 +2c175afd85852faf.stub.ll:5832c83ef4 +2c175afd85852faf.text.ll:5eaf0637ab +2c86c1beaaff6b7c.ll:b4a0ce1578 +2c86c1beaaff6b7c.stub.ll:f7a19d8591 +2c86c1beaaff6b7c.text.ll:1391363aea +2f8deb9bb46f7db7.ll:dff5b3fbdd +2f8deb9bb46f7db7.stub.ll:2cc017fca9 +2f8deb9bb46f7db7.text.ll:d6b6fa9b72 +31581676972d669d.ll:dba6d22e7b +31581676972d669d.stub.ll:f5fc4957a5 +31581676972d669d.text.ll:ec41b5fc5e +315efb73bbacac94.ll:c6e61a98b2 +315efb73bbacac94.stub.ll:e11953b53e +315efb73bbacac94.text.ll:826a694c5e +31a8c4ff585431a8.ll:385e2636e4 +31a8c4ff585431a8.stub.ll:6ca571effc +31a8c4ff585431a8.text.ll:df18c27257 +3211378748819d8b.ll:c09f8d96d5 +3211378748819d8b.stub.ll:f5e51e7727 +3211378748819d8b.text.ll:ba89a941fe +33f6830bc155ede1.ll:93b81c9e15 +33f6830bc155ede1.stub.ll:5068b4e071 +33f6830bc155ede1.text.ll:3ccdcac2ab +345c1b7b46335329.ll:56315a01cc +345c1b7b46335329.stub.ll:79f834fd08 +345c1b7b46335329.text.ll:face48f976 +34615ed733ba082a.ll:a81b32098c +34615ed733ba082a.stub.ll:7d12c6ef6b +34615ed733ba082a.text.ll:471a15c40b +34dc6a647fa19b7b.ll:d1436c9508 +34dc6a647fa19b7b.stub.ll:f2a9f45f51 +34dc6a647fa19b7b.text.ll:93effc7b3d +35ffd1374f30cdd6.ll:e26ef32b86 +35ffd1374f30cdd6.stub.ll:1576cad2be +35ffd1374f30cdd6.text.ll:6af93b7f94 +39219087e7d1904e.ll:1c14647af7 +39219087e7d1904e.stub.ll:7939115a95 +39219087e7d1904e.text.ll:30ab532dd6 +3b2a307c9c7d0129.ll:0a982b273b +3b2a307c9c7d0129.stub.ll:cb7e69c3cf +3b2a307c9c7d0129.text.ll:fc8cbf5295 +3f0290742c1dfac8.ll:54e52d338d +3f0290742c1dfac8.stub.ll:3ddc015512 +3f0290742c1dfac8.text.ll:29aeda7159 +3f961cd80acf36d9.ll:27b8dc8449 +3f961cd80acf36d9.stub.ll:e2a4e939fd +3f961cd80acf36d9.text.ll:a6bc63402a +406bc0a18c93f5b7.ll:e225bd2449 +406bc0a18c93f5b7.stub.ll:069a262565 +406bc0a18c93f5b7.text.ll:d81a50e974 +40b053f21c0df07c.ll:c42737ba2f +40b053f21c0df07c.stub.ll:6f437fe32a +40b053f21c0df07c.text.ll:71a1a9e397 +418bf3a0aec16c63.ll:1663c47185 +418bf3a0aec16c63.stub.ll:90c874f484 +418bf3a0aec16c63.text.ll:a6c5a5ea11 +43da8de1129ccd08.ll:ab3f336cce +43da8de1129ccd08.stub.ll:876196832b +43da8de1129ccd08.text.ll:774aeb8e24 +46ea1349c980c7f4.ll:e8006d42a5 +46ea1349c980c7f4.stub.ll:05b4cf18cf +46ea1349c980c7f4.text.ll:c4ffc38992 +4856d5a381c8620e.ll:98960a4e24 +4856d5a381c8620e.stub.ll:4c3f9ef4b7 +4856d5a381c8620e.text.ll:245e9162e3 +48f23d2aaef59023.ll:956ca8c111 +48f23d2aaef59023.stub.ll:05117435b4 +48f23d2aaef59023.text.ll:928899f40e +4948db9c7a83e386.ll:338304cd7c +4948db9c7a83e386.stub.ll:f2b90dece1 +4948db9c7a83e386.text.ll:570d5a36e1 +49fe6c98aeb2765f.ll:40a5023fa8 +49fe6c98aeb2765f.stub.ll:8d729b83a0 +49fe6c98aeb2765f.text.ll:1fc0628d8c +4b592fb84591c239.ll:dcf1df1e21 +4b592fb84591c239.stub.ll:d8dc703a88 +4b592fb84591c239.text.ll:63612b5082 +4c1f8f779b98eab9.ll:74571b7b06 +4c1f8f779b98eab9.stub.ll:4a586acedf +4c1f8f779b98eab9.text.ll:91b6d88b7f +4e8522b5624a34ae.ll:92b3ecb8fc +4e8522b5624a34ae.stub.ll:91ee89e96b +4e8522b5624a34ae.text.ll:28984caf6b +4eb41d5bd6f06368.ll:8376690dc1 +4eb41d5bd6f06368.stub.ll:979d8cbf79 +4eb41d5bd6f06368.text.ll:1e34406e11 +50202407280af718.ll:a8d4c401ff +50202407280af718.stub.ll:c4815361f3 +50202407280af718.text.ll:0d30bbbed5 +54782bf5b116f377.ll:491413594c +54782bf5b116f377.stub.ll:d282cf19af +54782bf5b116f377.text.ll:4cdae824c3 +56b703881fd1b9e6.ll:7f834562ca +56b703881fd1b9e6.stub.ll:99dd8ae118 +56b703881fd1b9e6.text.ll:6e03cfdb6d +57cd9f82dd50783e.ll:9eb651ae1d +57cd9f82dd50783e.stub.ll:d91d4fdfd9 +57cd9f82dd50783e.text.ll:d37b9eb652 +64e4506e080ca29c.ll:6353fae36c +64e4506e080ca29c.stub.ll:fb510ed4d6 +64e4506e080ca29c.text.ll:39ec1b5a2f +652aff7c2e85125c.ll:eb91c7e093 +652aff7c2e85125c.stub.ll:df5f743435 +652aff7c2e85125c.text.ll:2c279e85f1 +688b9c1ad51d7c05.ll:1cdaec8a96 +688b9c1ad51d7c05.stub.ll:12a0f365b9 +688b9c1ad51d7c05.text.ll:519f539a21 +69c52432d0624efb.ll:49ee5e6b9a +69c52432d0624efb.stub.ll:983fcd72c8 +69c52432d0624efb.text.ll:120f689834 +6b274ba776a3594f.ll:0b4807d625 +6b274ba776a3594f.stub.ll:5b888b049f +6b274ba776a3594f.text.ll:9abd7e4d70 +6b5ac37426f56a93.ll:81a2d377b7 +6b5ac37426f56a93.stub.ll:e2a089fd94 +6b5ac37426f56a93.text.ll:427fbae433 +6b652d7adf34bb20.ll:137cab98b1 +6b652d7adf34bb20.stub.ll:a3705ee0c5 +6b652d7adf34bb20.text.ll:8b4f76d515 +6c658cc728d0bbf4.stub.ll:f8d5a18799 +6d3c64a2c7f46ebd.ll:413f28b4d7 +6d3c64a2c7f46ebd.stub.ll:01aefe4940 +6d3c64a2c7f46ebd.text.ll:b8b27fcc24 +6ddf430432a0e373.ll:36bd57eeb3 +6ddf430432a0e373.stub.ll:7a85b3c470 +6ddf430432a0e373.text.ll:edf445e0d7 +71e0a3ffcb3ebfad.stub.ll:03c9de7d83 +73a808be019a6751.ll:01b9fc7131 +73a808be019a6751.stub.ll:34b64d7a52 +73a808be019a6751.text.ll:01ca406ae1 +7cadfe07e983fd90.ll:860022acd3 +7cadfe07e983fd90.stub.ll:09c003f0bd +7cadfe07e983fd90.text.ll:819348557b +7d6e41f51430ebac.ll:30f91cbbfb +7d6e41f51430ebac.stub.ll:4ac724ddc1 +7d6e41f51430ebac.text.ll:d014545d09 +82403f55ecca4de1.ll:62a4ed36e0 +82403f55ecca4de1.stub.ll:621357faa7 +82403f55ecca4de1.text.ll:7e6e97cb47 +8241600bd953cb9f.ll:da2301ce5a +8241600bd953cb9f.stub.ll:376777b0c4 +8241600bd953cb9f.text.ll:6f0ebac630 +83918bed1fca36cd.ll:047fe3aaaf +83918bed1fca36cd.stub.ll:cb50fba4b7 +83918bed1fca36cd.text.ll:71ed3792e4 +83c6cd376b37329d.ll:457ac60272 +83c6cd376b37329d.stub.ll:0164e9dea5 +83c6cd376b37329d.text.ll:9bf849e87f +8587f6b1ed0725c7.ll:583509c50f +8587f6b1ed0725c7.stub.ll:3dc3622b37 +8587f6b1ed0725c7.text.ll:b2eef9b1ed +8637ee38c950ab7f.ll:2f879e694e +8637ee38c950ab7f.stub.ll:f0a1e51dfa +8637ee38c950ab7f.text.ll:2bc0662ac5 +873bf8790da565fa.ll:890ad221e5 +873bf8790da565fa.stub.ll:fce5b15103 +873bf8790da565fa.text.ll:984a6d75d0 +876e256c06636777.ll:adf24de877 +876e256c06636777.stub.ll:1921cd9f06 +876e256c06636777.text.ll:ad48839336 +89622293064483b6.ll:def8a6df3f +89622293064483b6.stub.ll:50a4200ad5 +89622293064483b6.text.ll:a2830cca8d +8fbba2647521bf66.ll:ea90676679 +8fbba2647521bf66.stub.ll:86e4d53a00 +8fbba2647521bf66.text.ll:256bd9427d +93ee3fe9efdbdbcd.ll:c51b97feca +93ee3fe9efdbdbcd.stub.ll:9ce868a1aa +93ee3fe9efdbdbcd.text.ll:5a8d8c30c2 +940e5294667daf5a.ll:988a7357cb +940e5294667daf5a.stub.ll:1ee3a19754 +940e5294667daf5a.text.ll:f216257873 +95b4a950904a5ad3.ll:bbd4132844 +95b4a950904a5ad3.stub.ll:13d597b2d8 +95b4a950904a5ad3.text.ll:1ce2299361 +96837bcc64032444.stub.ll:03fdc5eb3f +995c64dfa7db003e.ll:56631f51e3 +995c64dfa7db003e.stub.ll:33536aba95 +995c64dfa7db003e.text.ll:2e91db872b +9a877ee7da9f7444.ll:d541701d73 +9a877ee7da9f7444.stub.ll:11f6202a50 +9a877ee7da9f7444.text.ll:6840f20391 +9c3a488b1e54d01e.ll:7c572c6f45 +9c3a488b1e54d01e.stub.ll:5f67d5d096 +9c3a488b1e54d01e.text.ll:c4632c5982 +9df7bd403cb4eb0a.ll:55bca65668 +9df7bd403cb4eb0a.stub.ll:723251aba0 +9df7bd403cb4eb0a.text.ll:fb877575b8 +9f2b323675ebd6e5.ll:9ff8ea75bc +9f2b323675ebd6e5.stub.ll:30e2e0de6b +9f2b323675ebd6e5.text.ll:d4d302177e +_merged.ll:7d16983f29 +_merged_opt.ll:dfecbfebe0 +a335eb99f2e34479.ll:7428290b54 +a335eb99f2e34479.stub.ll:dafd845706 +a335eb99f2e34479.text.ll:2273ee0fa7 +a338710abd2664f4.ll:09448ed434 +a338710abd2664f4.stub.ll:22c27fad75 +a338710abd2664f4.text.ll:853975fc2d +a351387236c6ce1c.ll:e7c3b10aba +a351387236c6ce1c.stub.ll:53ac91c6c8 +a351387236c6ce1c.text.ll:4c8227edab +a5ad7b931fb29f10.ll:a2b18fece8 +a5ad7b931fb29f10.stub.ll:d34b4c55db +a5ad7b931fb29f10.text.ll:e17d4f1add +a5e9a83e9db303ad.ll:b87911c09c +a5e9a83e9db303ad.stub.ll:dfd164adbd +a5e9a83e9db303ad.text.ll:dfb5353b29 +a7ebd8ac274b83c5.ll:81cc70b82f +a7ebd8ac274b83c5.stub.ll:fc1d0bfb58 +a7ebd8ac274b83c5.text.ll:602b795061 +a913637a7405b2bc.ll:e4fe0d1758 +a913637a7405b2bc.stub.ll:550ee6f445 +a913637a7405b2bc.text.ll:222a7a5669 +aa246c6e6aa30484.ll:9afb1cd011 +aa246c6e6aa30484.stub.ll:1ee36e75a9 +aa246c6e6aa30484.text.ll:13c86b4be3 +b0fa6549bb6e458f.ll:762eee6b09 +b0fa6549bb6e458f.stub.ll:8d21f39599 +b0fa6549bb6e458f.text.ll:e195b195a6 +b12a2716c40c6b90.ll:30c0c6c84f +b12a2716c40c6b90.stub.ll:2efbf14f74 +b12a2716c40c6b90.text.ll:684a105920 +b2a6b08776db1974.ll:3f2c9d1772 +b2a6b08776db1974.stub.ll:4395590306 +b2a6b08776db1974.text.ll:5c5ae62aee +b312603ebb41e580.ll:f9d96bcca3 +b312603ebb41e580.stub.ll:be5dc30b1d +b312603ebb41e580.text.ll:b9012b3216 +b57252077e6b596b.stub.ll:03fdc5eb3f +b5da1bb8350c433b.ll:21ea9ef6cd +b5da1bb8350c433b.stub.ll:292ed842fb +b5da1bb8350c433b.text.ll:7f33a79109 +b70a27ddda9f175e.ll:d1017c0834 +b70a27ddda9f175e.stub.ll:8ae9048bca +b70a27ddda9f175e.text.ll:a2f9292297 +bafd458fb305308f.ll:1d7152abeb +bafd458fb305308f.stub.ll:90904d19b4 +bafd458fb305308f.text.ll:d88b141e6e +bba983c61a970f7c.ll:ada74b0834 +bba983c61a970f7c.stub.ll:53f3c25981 +bba983c61a970f7c.text.ll:56119c66bd +be40c7ff054f4f31.ll:e2bb420d74 +be40c7ff054f4f31.stub.ll:50413b0945 +be40c7ff054f4f31.text.ll:6b5f4a4d9a +bef89476dfde96fe.ll:917d40f77d +bef89476dfde96fe.stub.ll:e45c36d6de +bef89476dfde96fe.text.ll:27defe89ca +bfb3334894d0ebb0.ll:8e938b3f8a +bfb3334894d0ebb0.stub.ll:25d1257383 +bfb3334894d0ebb0.text.ll:421031394e +c0def010dcebadb1.ll:5f5002584f +c0def010dcebadb1.stub.ll:015740bbfe +c0def010dcebadb1.text.ll:2e614308f2 +c2a4277744568003.ll:ac69ddef71 +c2a4277744568003.stub.ll:a3c99bdfd5 +c2a4277744568003.text.ll:a41f8fd9b1 +c2edff5b0067302a.ll:9abe39800c +c2edff5b0067302a.stub.ll:594d61ca58 +c2edff5b0067302a.text.ll:2373416370 +c356e88e66096eea.ll:8496f4697b +c356e88e66096eea.stub.ll:447d26e4a4 +c356e88e66096eea.text.ll:62ec4c55ff +c465ca9135a40338.ll:b5f6ac2a77 +c465ca9135a40338.stub.ll:46ad49d53d +c465ca9135a40338.text.ll:8566e0fd3f +c9b44d17cd621a75.ll:acdd11e379 +c9b44d17cd621a75.stub.ll:7a785b718e +c9b44d17cd621a75.text.ll:a6f320d478 +cb21d6d885c9d53c.ll:1412cd2c51 +cb21d6d885c9d53c.stub.ll:95392bde04 +cb21d6d885c9d53c.text.ll:a397b37e35 +cb3e3362ac92fc1e.ll:93a222b896 +cb3e3362ac92fc1e.stub.ll:a91177f4e3 +cb3e3362ac92fc1e.text.ll:c5dd9a66c9 +d137b1f3311f3a7f.ll:53b4222c55 +d137b1f3311f3a7f.stub.ll:f78f9b7a1b +d137b1f3311f3a7f.text.ll:218f958d3e +d5efc5e107200008.ll:8b45a63f25 +d5efc5e107200008.stub.ll:0c89fb49bc +d5efc5e107200008.text.ll:c854dac458 +d78b6611eee6e44b.ll:33b833124e +d78b6611eee6e44b.stub.ll:700b483442 +d78b6611eee6e44b.text.ll:d55fda2def +d88a519efeea8c10.ll:164f6763ed +d88a519efeea8c10.stub.ll:725719dc7d +d88a519efeea8c10.text.ll:e64810daf3 +d9b3d06934cd1898.ll:d2dd4cae9e +d9b3d06934cd1898.stub.ll:f83cfb35d3 +d9b3d06934cd1898.text.ll:7984373b54 +da36d5c5226262e1.ll:4c8cdcb918 +da36d5c5226262e1.stub.ll:3d3aa8e708 +da36d5c5226262e1.text.ll:ad53867489 +db613a1bd6a3ca26.ll:6c52c2b251 +db613a1bd6a3ca26.stub.ll:3c25ecc34a +db613a1bd6a3ca26.text.ll:e26847d2b0 +db63fd584597b680.ll:34c42217b2 +db63fd584597b680.stub.ll:dc287f973e +db63fd584597b680.text.ll:ca7958e1ba +dd60dcd5acd5124d.ll:2318a3e300 +dd60dcd5acd5124d.stub.ll:931ec8e5ba +dd60dcd5acd5124d.text.ll:63dde2f027 +e054ec1a7baa470d.ll:fe6cf31c6d +e054ec1a7baa470d.stub.ll:0c9fd707c1 +e054ec1a7baa470d.text.ll:f4c9ecc236 +e177f9462685c213.ll:83011c7ffa +e177f9462685c213.stub.ll:4a675c7427 +e177f9462685c213.text.ll:239e0a525d +e1ea7eaf63a9c3d1.ll:76283d566d +e1ea7eaf63a9c3d1.stub.ll:0c0b269185 +e1ea7eaf63a9c3d1.text.ll:4b648478db +e710417730391023.ll:d4e4e6f93a +e710417730391023.stub.ll:c1636d61c9 +e710417730391023.text.ll:98f06b2b31 +e8284fb5f2337ed3.ll:1d1a9a2c01 +e8284fb5f2337ed3.stub.ll:396f8002e0 +e8284fb5f2337ed3.text.ll:e881eaadae +eb09ac7f10988a63.ll:62794f7948 +eb09ac7f10988a63.stub.ll:e46c9e6019 +eb09ac7f10988a63.text.ll:cd103ed480 +eb513d7fdf6ac48d.ll:3a4ea6d3af +eb513d7fdf6ac48d.stub.ll:1f909cb392 +eb513d7fdf6ac48d.text.ll:c0378f850a +ee150b6ef466d5d0.ll:b4e2a904dc +ee150b6ef466d5d0.stub.ll:38c38507a4 +ee150b6ef466d5d0.text.ll:ccf10e4dad +ef50f910fe54a470.ll:64a0dfe450 +ef50f910fe54a470.stub.ll:ca4f844d2c +ef50f910fe54a470.text.ll:027d96e6ca +f1a938fe9f779b85.ll:2a82540be7 +f1a938fe9f779b85.stub.ll:9db6dfc9f1 +f1a938fe9f779b85.text.ll:1d9fd8288a +f28850d5750d9016.ll:704e5c3237 +f28850d5750d9016.stub.ll:45c1775071 +f28850d5750d9016.text.ll:130dd67121 +f455d259f4458438.ll:763770ce60 +f455d259f4458438.stub.ll:3392964692 +f455d259f4458438.text.ll:13bc299dde +f467978339422f32.ll:bd25cdef9b +f467978339422f32.stub.ll:1fcedb8c6a +f467978339422f32.text.ll:cd33349e97 +f4ebad8ace53ba5c.ll:cd9e330218 +f4ebad8ace53ba5c.stub.ll:3b845590d4 +f4ebad8ace53ba5c.text.ll:c2fcbc8b58 +f5522571bcce7bcb.stub.ll:03fdc5eb3f +f76b2ce5e067f95c.ll:aa1d0ccf7a +f76b2ce5e067f95c.stub.ll:5e949f3227 +f76b2ce5e067f95c.text.ll:753437b3aa +f848cce6512ceca8.ll:0121e6037d +f848cce6512ceca8.stub.ll:6ca34b2cee +f848cce6512ceca8.text.ll:9a82608b73 +fb67ebda973806ad.ll:50511683cf +fb67ebda973806ad.stub.ll:b06b273520 +fb67ebda973806ad.text.ll:f1b0fad09d +fba5ca985395235b.ll:05946f300c +fba5ca985395235b.stub.ll:13340604c9 +fba5ca985395235b.text.ll:86e6840eb5 +fdad6914c4a7d3ce.ll:90f786fddd +fdad6914c4a7d3ce.stub.ll:20ca9e7d93 +fdad6914c4a7d3ce.text.ll:33ec94b6dd +fe4fc011ab3cea8a.ll:d564bc8f86 +fe4fc011ab3cea8a.stub.ll:4207c89a68 +fe4fc011ab3cea8a.text.ll:40019496e8 \ No newline at end of file diff --git a/_ll_manifest_b4.txt b/_ll_manifest_b4.txt new file mode 100644 index 0000000..7c6e82c --- /dev/null +++ b/_ll_manifest_b4.txt @@ -0,0 +1,431 @@ +0053a1e4133453ae.ll:61d6b74c07 +0053a1e4133453ae.stub.ll:2acb0d0781 +0053a1e4133453ae.text.ll:d51f662aaf +0b80bf23b25f6f77.ll:67e4538143 +0b80bf23b25f6f77.stub.ll:36bd260e7c +0b80bf23b25f6f77.text.ll:b10c8a8c7e +0bef502adb69f851.ll:48e01ba851 +0bef502adb69f851.stub.ll:7236cf6546 +0bef502adb69f851.text.ll:ac443e7621 +0c67644125bea0fd.ll:d73891eccd +0c67644125bea0fd.stub.ll:9b4da7b1c0 +0c67644125bea0fd.text.ll:513d1e842e +0de09733e778c2b6.ll:38ec69cf1c +0de09733e778c2b6.stub.ll:36ad87969e +0de09733e778c2b6.text.ll:1bdded9ef5 +0eb95094e8f14be7.ll:8278279532 +0eb95094e8f14be7.stub.ll:643077e3d1 +0eb95094e8f14be7.text.ll:fe46ff85af +104b74146bf17483.ll:ef2b40c118 +104b74146bf17483.stub.ll:19a6194a0c +104b74146bf17483.text.ll:169b2fc245 +123a32d76508a043.ll:076142423a +123a32d76508a043.stub.ll:e7da7eb7e3 +123a32d76508a043.text.ll:8d84f7c48d +13a4a4b7df5e45a3.ll:45bbc8f9b5 +13a4a4b7df5e45a3.stub.ll:e84710b1ff +13a4a4b7df5e45a3.text.ll:1db7836a85 +181598a0bfa40228.ll:ccb50628e3 +181598a0bfa40228.stub.ll:b75ba7a01f +181598a0bfa40228.text.ll:aa164ccaaf +1ab30dd423d0e622.ll:971798d0b4 +1ab30dd423d0e622.stub.ll:33e69239d0 +1ab30dd423d0e622.text.ll:8095ca2974 +1e13f5aa34720c79.ll:ee0b296af9 +1e13f5aa34720c79.stub.ll:f272d57f21 +1e13f5aa34720c79.text.ll:af5c488530 +1e2f6c558158c360.ll:71797c5b96 +1e2f6c558158c360.stub.ll:4db8729435 +1e2f6c558158c360.text.ll:26a5bf24bb +1fd507b2b3c4e26e.ll:246216bcd2 +1fd507b2b3c4e26e.stub.ll:537c230c9c +1fd507b2b3c4e26e.text.ll:8f5b3f8e44 +20cd49775c100a38.ll:dfd6a59764 +20cd49775c100a38.stub.ll:1f06440e93 +20cd49775c100a38.text.ll:adc6a4df26 +21d06f294fe16539.ll:cbea1c0617 +21d06f294fe16539.stub.ll:76f7765294 +21d06f294fe16539.text.ll:15c32e2e63 +22ba145f716f0316.ll:c8d79de11c +22ba145f716f0316.stub.ll:42872846f2 +22ba145f716f0316.text.ll:827a649b1d +240a9a4157959a9f.ll:8448cfa445 +240a9a4157959a9f.stub.ll:b57b92b39f +240a9a4157959a9f.text.ll:852198355a +285b6aa29a34754d.stub.ll:310e7fbec9 +287d5051742191ee.ll:8e27e8b473 +287d5051742191ee.stub.ll:2e56718805 +287d5051742191ee.text.ll:e073478c1c +28de517e3820658a.ll:d172b7efe7 +28de517e3820658a.stub.ll:3971cbd9de +28de517e3820658a.text.ll:2cb0156442 +2a61eed4abe49e06.ll:f3cf11f191 +2a61eed4abe49e06.stub.ll:2f703bc193 +2a61eed4abe49e06.text.ll:9307c9b148 +2a69c81475d52dea.ll:e5a52e1a5f +2a69c81475d52dea.stub.ll:64f92098cb +2a69c81475d52dea.text.ll:21f5fcf91d +2c175afd85852faf.ll:9deb59cf88 +2c175afd85852faf.stub.ll:2aef1cf660 +2c175afd85852faf.text.ll:082badc566 +2c86c1beaaff6b7c.ll:271dafe6e7 +2c86c1beaaff6b7c.stub.ll:463d2bc516 +2c86c1beaaff6b7c.text.ll:5415066c9d +2f8deb9bb46f7db7.ll:55712e5e16 +2f8deb9bb46f7db7.stub.ll:ac0679cace +2f8deb9bb46f7db7.text.ll:53998ae3da +31581676972d669d.ll:f9ab41a4c2 +31581676972d669d.stub.ll:27ff6e864e +31581676972d669d.text.ll:b64adacfdd +315efb73bbacac94.ll:ed185349ea +315efb73bbacac94.stub.ll:23e469ccb3 +315efb73bbacac94.text.ll:f18e40faa9 +31a8c4ff585431a8.ll:7367bcf278 +31a8c4ff585431a8.stub.ll:7b17b6bac3 +31a8c4ff585431a8.text.ll:2d2df12e55 +3211378748819d8b.ll:5b9e6c390d +3211378748819d8b.stub.ll:7e9cb76d81 +3211378748819d8b.text.ll:dc4c558003 +33f6830bc155ede1.ll:981c5285fd +33f6830bc155ede1.stub.ll:3ef307660f +33f6830bc155ede1.text.ll:69d3debdcd +345c1b7b46335329.ll:5a0b2df21a +345c1b7b46335329.stub.ll:ed7902f795 +345c1b7b46335329.text.ll:25e4ea27f0 +34615ed733ba082a.ll:a27163144d +34615ed733ba082a.stub.ll:2680c771a3 +34615ed733ba082a.text.ll:d383fb56b7 +34dc6a647fa19b7b.ll:2d7e9b8bff +34dc6a647fa19b7b.stub.ll:ecb1f953c0 +34dc6a647fa19b7b.text.ll:2409f12eb7 +35ffd1374f30cdd6.ll:0c5c9c09fc +35ffd1374f30cdd6.stub.ll:703cd6d865 +35ffd1374f30cdd6.text.ll:f3f7dea417 +39219087e7d1904e.ll:d54ef8d519 +39219087e7d1904e.stub.ll:e82f0babd3 +39219087e7d1904e.text.ll:25bba29425 +3b2a307c9c7d0129.ll:85af9a2988 +3b2a307c9c7d0129.stub.ll:9a09c12e5a +3b2a307c9c7d0129.text.ll:1ffd6d8eaa +3f0290742c1dfac8.ll:89bb80d287 +3f0290742c1dfac8.stub.ll:a522c77d3a +3f0290742c1dfac8.text.ll:6a8634f92e +3f961cd80acf36d9.ll:611d70f63f +3f961cd80acf36d9.stub.ll:5e2d3bb2b9 +3f961cd80acf36d9.text.ll:4106ff20cd +406bc0a18c93f5b7.ll:945f9a1bd7 +406bc0a18c93f5b7.stub.ll:cc52fe1859 +406bc0a18c93f5b7.text.ll:38debdbb07 +40b053f21c0df07c.ll:feb28fa3af +40b053f21c0df07c.stub.ll:677acaf77f +40b053f21c0df07c.text.ll:350be4a7dc +418bf3a0aec16c63.ll:b39ee4ad9f +418bf3a0aec16c63.stub.ll:76c88afb94 +418bf3a0aec16c63.text.ll:7a5fa82d63 +43da8de1129ccd08.ll:174eb73b58 +43da8de1129ccd08.stub.ll:faa4c84846 +43da8de1129ccd08.text.ll:3577fc030c +46ea1349c980c7f4.ll:24abb804cc +46ea1349c980c7f4.stub.ll:eff5357bb0 +46ea1349c980c7f4.text.ll:71237eed98 +4856d5a381c8620e.ll:09bc288379 +4856d5a381c8620e.stub.ll:d1c8bed823 +4856d5a381c8620e.text.ll:31c86e7fb6 +48f23d2aaef59023.ll:364a1b5d4d +48f23d2aaef59023.stub.ll:1d9541d54b +48f23d2aaef59023.text.ll:747c9e004a +4948db9c7a83e386.ll:017702d50b +4948db9c7a83e386.stub.ll:5476051a71 +4948db9c7a83e386.text.ll:0f35b5a467 +49fe6c98aeb2765f.ll:93595560f9 +49fe6c98aeb2765f.stub.ll:943ebb7074 +49fe6c98aeb2765f.text.ll:6ebb120821 +4b592fb84591c239.ll:884b42c3ca +4b592fb84591c239.stub.ll:f14cc4c7cd +4b592fb84591c239.text.ll:c3711b24a5 +4c1f8f779b98eab9.ll:e73577f829 +4c1f8f779b98eab9.stub.ll:ed537b0865 +4c1f8f779b98eab9.text.ll:3576732e4c +4e8522b5624a34ae.ll:c1016de557 +4e8522b5624a34ae.stub.ll:cb53c29878 +4e8522b5624a34ae.text.ll:4b42392625 +4eb41d5bd6f06368.ll:21cf92c6ca +4eb41d5bd6f06368.stub.ll:cf08fd8df8 +4eb41d5bd6f06368.text.ll:0e2c6f0dc6 +50202407280af718.ll:ec8ebbb3b5 +50202407280af718.stub.ll:e1e6ca39f5 +50202407280af718.text.ll:e2999421fd +54782bf5b116f377.ll:39e6c5b187 +54782bf5b116f377.stub.ll:74ac9015da +54782bf5b116f377.text.ll:5346a85ee5 +56b703881fd1b9e6.ll:b55d756d07 +56b703881fd1b9e6.stub.ll:af1e52faab +56b703881fd1b9e6.text.ll:6d296c4b27 +57cd9f82dd50783e.ll:e0044d8e25 +57cd9f82dd50783e.stub.ll:f3e4aa49d1 +57cd9f82dd50783e.text.ll:c40324052c +64e4506e080ca29c.ll:020238593a +64e4506e080ca29c.stub.ll:8b82132e63 +64e4506e080ca29c.text.ll:9a12084a0e +652aff7c2e85125c.ll:4f74b0c0d5 +652aff7c2e85125c.stub.ll:43aa67d046 +652aff7c2e85125c.text.ll:d2025b5de6 +688b9c1ad51d7c05.ll:3b52bf0574 +688b9c1ad51d7c05.stub.ll:267deeb336 +688b9c1ad51d7c05.text.ll:4d8919a019 +69c52432d0624efb.ll:e2243069b9 +69c52432d0624efb.stub.ll:5345b74773 +69c52432d0624efb.text.ll:6138c12089 +6b274ba776a3594f.ll:ae53d5a66b +6b274ba776a3594f.stub.ll:c36ffe66f6 +6b274ba776a3594f.text.ll:9b19942d6a +6b5ac37426f56a93.ll:19d757dbb2 +6b5ac37426f56a93.stub.ll:77afb08ef8 +6b5ac37426f56a93.text.ll:37be03ef2f +6b652d7adf34bb20.ll:5bcc23c39d +6b652d7adf34bb20.stub.ll:a57afcbc7f +6b652d7adf34bb20.text.ll:98094bc119 +6c658cc728d0bbf4.stub.ll:5d9e214136 +6d3c64a2c7f46ebd.ll:217ae6d758 +6d3c64a2c7f46ebd.stub.ll:060b803f21 +6d3c64a2c7f46ebd.text.ll:f5d912ecc9 +6ddf430432a0e373.ll:ffcba8f759 +6ddf430432a0e373.stub.ll:2344124aa1 +6ddf430432a0e373.text.ll:9d809e7087 +71e0a3ffcb3ebfad.stub.ll:9c0564fc36 +73a808be019a6751.ll:a964a955aa +73a808be019a6751.stub.ll:3a26bfb5af +73a808be019a6751.text.ll:70d6da7c45 +7cadfe07e983fd90.ll:3ab9b49ede +7cadfe07e983fd90.stub.ll:76ae8932e0 +7cadfe07e983fd90.text.ll:4bd9b052b5 +7d6e41f51430ebac.ll:43ea24d722 +7d6e41f51430ebac.stub.ll:57628547f1 +7d6e41f51430ebac.text.ll:520127b705 +82403f55ecca4de1.ll:82cd7f8d54 +82403f55ecca4de1.stub.ll:bd02511b9d +82403f55ecca4de1.text.ll:2d894a5d7e +8241600bd953cb9f.ll:a059ab6976 +8241600bd953cb9f.stub.ll:180a38110d +8241600bd953cb9f.text.ll:299e88423f +83918bed1fca36cd.ll:06cbe56bd7 +83918bed1fca36cd.stub.ll:0ee7a14986 +83918bed1fca36cd.text.ll:3b3fa71c56 +83c6cd376b37329d.ll:bfa07fa5a3 +83c6cd376b37329d.stub.ll:a89a1e7136 +83c6cd376b37329d.text.ll:87ec125129 +8587f6b1ed0725c7.ll:8114df74dd +8587f6b1ed0725c7.stub.ll:56ee6e28e7 +8587f6b1ed0725c7.text.ll:662f433a9b +8637ee38c950ab7f.ll:e9562df752 +8637ee38c950ab7f.stub.ll:7d9d9bc986 +8637ee38c950ab7f.text.ll:776e37c815 +873bf8790da565fa.ll:7a6be1f964 +873bf8790da565fa.stub.ll:06c9d81e55 +873bf8790da565fa.text.ll:0c70db63b6 +876e256c06636777.ll:e9696b1f64 +876e256c06636777.stub.ll:1b4af297ff +876e256c06636777.text.ll:5a2b423f7e +89622293064483b6.ll:ab26264db4 +89622293064483b6.stub.ll:face1ea23d +89622293064483b6.text.ll:96f4e3e4e2 +8fbba2647521bf66.ll:d3a636d942 +8fbba2647521bf66.stub.ll:89d868fc71 +8fbba2647521bf66.text.ll:abc340ef8e +93ee3fe9efdbdbcd.ll:e0579a5f3b +93ee3fe9efdbdbcd.stub.ll:7a899f47b9 +93ee3fe9efdbdbcd.text.ll:6931043a14 +940e5294667daf5a.ll:4af18201ce +940e5294667daf5a.stub.ll:0a7fdc7ba2 +940e5294667daf5a.text.ll:83dd857d6e +95b4a950904a5ad3.ll:58838fa662 +95b4a950904a5ad3.stub.ll:58cb2f6135 +95b4a950904a5ad3.text.ll:43eb350683 +96837bcc64032444.stub.ll:6ed6cfb363 +995c64dfa7db003e.ll:9253f328d8 +995c64dfa7db003e.stub.ll:9c25b5c3a6 +995c64dfa7db003e.text.ll:dcb74f8438 +9a877ee7da9f7444.ll:12e3a70134 +9a877ee7da9f7444.stub.ll:9e8c236b09 +9a877ee7da9f7444.text.ll:5609a2101b +9c3a488b1e54d01e.ll:8059143169 +9c3a488b1e54d01e.stub.ll:f829f08e1a +9c3a488b1e54d01e.text.ll:a4f9ed7f3e +9df7bd403cb4eb0a.ll:50285585a7 +9df7bd403cb4eb0a.stub.ll:b00a7b584c +9df7bd403cb4eb0a.text.ll:b1f62b5819 +9f2b323675ebd6e5.ll:b7310095d8 +9f2b323675ebd6e5.stub.ll:d383286329 +9f2b323675ebd6e5.text.ll:d4e1d316b4 +_merged.ll:6e97348a67 +_merged_opt.ll:0535649453 +a335eb99f2e34479.ll:d358a797ee +a335eb99f2e34479.stub.ll:0ab7dd4e66 +a335eb99f2e34479.text.ll:7903a7035b +a338710abd2664f4.ll:1f752ade03 +a338710abd2664f4.stub.ll:f25e672207 +a338710abd2664f4.text.ll:c353c87643 +a351387236c6ce1c.ll:39aa6ef763 +a351387236c6ce1c.stub.ll:ba1a9205a3 +a351387236c6ce1c.text.ll:7d573478bb +a5ad7b931fb29f10.ll:686ee9f82b +a5ad7b931fb29f10.stub.ll:4732897be7 +a5ad7b931fb29f10.text.ll:ae8592ad53 +a5e9a83e9db303ad.ll:d0ae65a059 +a5e9a83e9db303ad.stub.ll:bb9a4a1df8 +a5e9a83e9db303ad.text.ll:49853ed3aa +a7ebd8ac274b83c5.ll:1e762a5b56 +a7ebd8ac274b83c5.stub.ll:218b8d8e95 +a7ebd8ac274b83c5.text.ll:a00eec6f41 +a913637a7405b2bc.ll:d7fa187461 +a913637a7405b2bc.stub.ll:975408a641 +a913637a7405b2bc.text.ll:8168bf3607 +aa246c6e6aa30484.ll:2808c7c9cc +aa246c6e6aa30484.stub.ll:08ccd3d69c +aa246c6e6aa30484.text.ll:56a1b8e39b +b0fa6549bb6e458f.ll:8f7eb9f93d +b0fa6549bb6e458f.stub.ll:535c0d0ac6 +b0fa6549bb6e458f.text.ll:122396067e +b12a2716c40c6b90.ll:1fa18ce8e5 +b12a2716c40c6b90.stub.ll:c714230767 +b12a2716c40c6b90.text.ll:275c1cac7e +b2a6b08776db1974.ll:05f4af729f +b2a6b08776db1974.stub.ll:21fcba31e0 +b2a6b08776db1974.text.ll:8efb63c692 +b312603ebb41e580.ll:c4055d50a2 +b312603ebb41e580.stub.ll:738db1cccf +b312603ebb41e580.text.ll:bec7a2e52d +b57252077e6b596b.stub.ll:6ed6cfb363 +b5da1bb8350c433b.ll:811e27fbe5 +b5da1bb8350c433b.stub.ll:eb244ace16 +b5da1bb8350c433b.text.ll:d88524c13c +b70a27ddda9f175e.ll:48afaff223 +b70a27ddda9f175e.stub.ll:14f9351982 +b70a27ddda9f175e.text.ll:0deac3acd5 +bafd458fb305308f.ll:9d7643ad50 +bafd458fb305308f.stub.ll:e1241a14c7 +bafd458fb305308f.text.ll:3427b2e30b +bba983c61a970f7c.ll:a0f8d9e271 +bba983c61a970f7c.stub.ll:1b7183acc4 +bba983c61a970f7c.text.ll:128ddcc2bb +be40c7ff054f4f31.ll:251e0c0904 +be40c7ff054f4f31.stub.ll:307df740c8 +be40c7ff054f4f31.text.ll:3c839ad495 +bef89476dfde96fe.ll:78983b8f24 +bef89476dfde96fe.stub.ll:428ec4aeb1 +bef89476dfde96fe.text.ll:26ff1a6c25 +bfb3334894d0ebb0.ll:f9caec1183 +bfb3334894d0ebb0.stub.ll:41fad5bbc9 +bfb3334894d0ebb0.text.ll:77cfa2b31c +c0def010dcebadb1.ll:d97af77048 +c0def010dcebadb1.stub.ll:884a387f21 +c0def010dcebadb1.text.ll:94151bb77e +c2a4277744568003.ll:169e572a18 +c2a4277744568003.stub.ll:4c20c74fc5 +c2a4277744568003.text.ll:45fe761b85 +c2edff5b0067302a.ll:b0ca4806d8 +c2edff5b0067302a.stub.ll:14737a09a2 +c2edff5b0067302a.text.ll:e0ff997456 +c356e88e66096eea.ll:1e96467f7f +c356e88e66096eea.stub.ll:c54664e7ed +c356e88e66096eea.text.ll:17e45219e8 +c465ca9135a40338.ll:b7118ce471 +c465ca9135a40338.stub.ll:cfe2c77ff0 +c465ca9135a40338.text.ll:118f5fa0f2 +c9b44d17cd621a75.ll:6f413933e6 +c9b44d17cd621a75.stub.ll:7d9c242cb5 +c9b44d17cd621a75.text.ll:9eca9b66a5 +cb21d6d885c9d53c.ll:ec92797e43 +cb21d6d885c9d53c.stub.ll:ceadac2971 +cb21d6d885c9d53c.text.ll:d35a28424c +cb3e3362ac92fc1e.ll:322b798af4 +cb3e3362ac92fc1e.stub.ll:ff0ceb77f9 +cb3e3362ac92fc1e.text.ll:ce0ddeaa97 +d137b1f3311f3a7f.ll:3178418f56 +d137b1f3311f3a7f.stub.ll:8bfd311e3a +d137b1f3311f3a7f.text.ll:47fbe5b26d +d5efc5e107200008.ll:e7ca8d6ee9 +d5efc5e107200008.stub.ll:5448248216 +d5efc5e107200008.text.ll:38ad46f034 +d78b6611eee6e44b.ll:c4947fdb4d +d78b6611eee6e44b.stub.ll:0ef6d9c2f1 +d78b6611eee6e44b.text.ll:5ac9146c36 +d88a519efeea8c10.ll:26e89756fc +d88a519efeea8c10.stub.ll:45a5bdacb1 +d88a519efeea8c10.text.ll:0ce15db008 +d9b3d06934cd1898.ll:b29eb3dda0 +d9b3d06934cd1898.stub.ll:a9a56fda74 +d9b3d06934cd1898.text.ll:18bb90ec0e +da36d5c5226262e1.ll:5aef048d19 +da36d5c5226262e1.stub.ll:de513bbf9c +da36d5c5226262e1.text.ll:9462fa2012 +db613a1bd6a3ca26.ll:8be1ab4679 +db613a1bd6a3ca26.stub.ll:27ded88765 +db613a1bd6a3ca26.text.ll:87d1d339dc +db63fd584597b680.ll:be21d8f9f9 +db63fd584597b680.stub.ll:8f66fee31d +db63fd584597b680.text.ll:a75288b38d +dd60dcd5acd5124d.ll:dd1348da34 +dd60dcd5acd5124d.stub.ll:f622393718 +dd60dcd5acd5124d.text.ll:87e367364f +e054ec1a7baa470d.ll:6f3ec34b2f +e054ec1a7baa470d.stub.ll:08572de115 +e054ec1a7baa470d.text.ll:6bfe9190cc +e177f9462685c213.ll:20217e8c12 +e177f9462685c213.stub.ll:017e20f1e9 +e177f9462685c213.text.ll:2f55de5196 +e1ea7eaf63a9c3d1.ll:a16590f690 +e1ea7eaf63a9c3d1.stub.ll:a099065af1 +e1ea7eaf63a9c3d1.text.ll:10e2e7f469 +e710417730391023.ll:ed48d095dc +e710417730391023.stub.ll:821d7eab4f +e710417730391023.text.ll:52dcd6e813 +e8284fb5f2337ed3.ll:d0f12399e5 +e8284fb5f2337ed3.stub.ll:4ec7a6dfa3 +e8284fb5f2337ed3.text.ll:86b9fb8021 +eb09ac7f10988a63.ll:2b19762802 +eb09ac7f10988a63.stub.ll:b5cc477d2e +eb09ac7f10988a63.text.ll:b9304efde8 +eb513d7fdf6ac48d.ll:aed6121393 +eb513d7fdf6ac48d.stub.ll:10b9ad2bc3 +eb513d7fdf6ac48d.text.ll:ffa7186e5c +ee150b6ef466d5d0.ll:88519d6ccd +ee150b6ef466d5d0.stub.ll:5eed004cb7 +ee150b6ef466d5d0.text.ll:34ceb3f8a8 +ef50f910fe54a470.ll:d18fc09e8c +ef50f910fe54a470.stub.ll:1520268533 +ef50f910fe54a470.text.ll:a32d8356b4 +f1a938fe9f779b85.ll:8ba4580ef2 +f1a938fe9f779b85.stub.ll:eaca51403b +f1a938fe9f779b85.text.ll:bc6181fe1c +f28850d5750d9016.ll:4922cf8c8e +f28850d5750d9016.stub.ll:05cf4fa84a +f28850d5750d9016.text.ll:c732473a84 +f455d259f4458438.ll:04985b0e8a +f455d259f4458438.stub.ll:d39f54c8a9 +f455d259f4458438.text.ll:4f6f4eeeb6 +f467978339422f32.ll:1ed495eff3 +f467978339422f32.stub.ll:f74f54e9f6 +f467978339422f32.text.ll:882119fb12 +f4ebad8ace53ba5c.ll:2defea718d +f4ebad8ace53ba5c.stub.ll:8a171ba63c +f4ebad8ace53ba5c.text.ll:952d06252c +f5522571bcce7bcb.stub.ll:6ed6cfb363 +f76b2ce5e067f95c.ll:3cbcf785a6 +f76b2ce5e067f95c.stub.ll:7ce006653d +f76b2ce5e067f95c.text.ll:1e6b3e55c4 +f848cce6512ceca8.ll:0eeea275ef +f848cce6512ceca8.stub.ll:7ea67bb42c +f848cce6512ceca8.text.ll:25c8d9b492 +fb67ebda973806ad.ll:94da20358f +fb67ebda973806ad.stub.ll:cb1c6f596f +fb67ebda973806ad.text.ll:be68d50dfd +fba5ca985395235b.ll:70880ebc39 +fba5ca985395235b.stub.ll:ba3e40670d +fba5ca985395235b.text.ll:92da9cb710 +fdad6914c4a7d3ce.ll:f1950b4147 +fdad6914c4a7d3ce.stub.ll:8ba6abd259 +fdad6914c4a7d3ce.text.ll:c8711a4af0 +fe4fc011ab3cea8a.ll:2cb3b5e4e2 +fe4fc011ab3cea8a.stub.ll:00c4b5c41a +fe4fc011ab3cea8a.text.ll:719179b884 \ No newline at end of file diff --git a/_ll_manifest_b5.txt b/_ll_manifest_b5.txt new file mode 100644 index 0000000..a2b1ccc --- /dev/null +++ b/_ll_manifest_b5.txt @@ -0,0 +1,431 @@ +0053a1e4133453ae.ll:8b05f57651 +0053a1e4133453ae.stub.ll:93701fdbf0 +0053a1e4133453ae.text.ll:a9ef89ef79 +0b80bf23b25f6f77.ll:b097f06ead +0b80bf23b25f6f77.stub.ll:8d2c10b769 +0b80bf23b25f6f77.text.ll:4973b1b9b7 +0bef502adb69f851.ll:a50b4f37d1 +0bef502adb69f851.stub.ll:3095a95c76 +0bef502adb69f851.text.ll:331975426c +0c67644125bea0fd.ll:6f68dbf98b +0c67644125bea0fd.stub.ll:9b4da7b1c0 +0c67644125bea0fd.text.ll:513d1e842e +0de09733e778c2b6.ll:7ae02817ac +0de09733e778c2b6.stub.ll:5e7075759b +0de09733e778c2b6.text.ll:19108e02b5 +0eb95094e8f14be7.ll:cad10fe2ff +0eb95094e8f14be7.stub.ll:9b140de1f6 +0eb95094e8f14be7.text.ll:fe46ff85af +104b74146bf17483.ll:56b6043bf3 +104b74146bf17483.stub.ll:ef79605f19 +104b74146bf17483.text.ll:169b2fc245 +123a32d76508a043.ll:87cbfcd979 +123a32d76508a043.stub.ll:847302e585 +123a32d76508a043.text.ll:8d84f7c48d +13a4a4b7df5e45a3.ll:873d131dce +13a4a4b7df5e45a3.stub.ll:7b59e4080a +13a4a4b7df5e45a3.text.ll:1db7836a85 +181598a0bfa40228.ll:e0f58517e5 +181598a0bfa40228.stub.ll:82d613f1f9 +181598a0bfa40228.text.ll:9e5207e2f0 +1ab30dd423d0e622.ll:90a860c77d +1ab30dd423d0e622.stub.ll:4debaad8be +1ab30dd423d0e622.text.ll:8095ca2974 +1e13f5aa34720c79.ll:6993b57dac +1e13f5aa34720c79.stub.ll:f3b808f0fa +1e13f5aa34720c79.text.ll:023adbc944 +1e2f6c558158c360.ll:6d1a50b05d +1e2f6c558158c360.stub.ll:844648ebe4 +1e2f6c558158c360.text.ll:d6c209cc2b +1fd507b2b3c4e26e.ll:a308a5e62d +1fd507b2b3c4e26e.stub.ll:8c59ef9fbd +1fd507b2b3c4e26e.text.ll:9a3ddc87aa +20cd49775c100a38.ll:6d11aa3783 +20cd49775c100a38.stub.ll:1f06440e93 +20cd49775c100a38.text.ll:adc6a4df26 +21d06f294fe16539.ll:9031537c7d +21d06f294fe16539.stub.ll:36be450946 +21d06f294fe16539.text.ll:2f9263ee24 +22ba145f716f0316.ll:f9f8358b77 +22ba145f716f0316.stub.ll:60e019498a +22ba145f716f0316.text.ll:827a649b1d +240a9a4157959a9f.ll:1ba7e931c5 +240a9a4157959a9f.stub.ll:f2e6ee559f +240a9a4157959a9f.text.ll:852198355a +285b6aa29a34754d.stub.ll:310e7fbec9 +287d5051742191ee.ll:d9154178fa +287d5051742191ee.stub.ll:88eb0f29f6 +287d5051742191ee.text.ll:7418bf37d1 +28de517e3820658a.ll:532932540f +28de517e3820658a.stub.ll:ae89baef3c +28de517e3820658a.text.ll:2cb0156442 +2a61eed4abe49e06.ll:e1ff2cc1fa +2a61eed4abe49e06.stub.ll:60d9f69c6c +2a61eed4abe49e06.text.ll:9307c9b148 +2a69c81475d52dea.ll:7af84369d7 +2a69c81475d52dea.stub.ll:0a862ba744 +2a69c81475d52dea.text.ll:305de2e349 +2c175afd85852faf.ll:98e7657b39 +2c175afd85852faf.stub.ll:b108206152 +2c175afd85852faf.text.ll:082badc566 +2c86c1beaaff6b7c.ll:93dc9bc7ae +2c86c1beaaff6b7c.stub.ll:11aed4ccf6 +2c86c1beaaff6b7c.text.ll:4ff25961f1 +2f8deb9bb46f7db7.ll:32b8807f07 +2f8deb9bb46f7db7.stub.ll:0aef84728b +2f8deb9bb46f7db7.text.ll:3175743ce9 +31581676972d669d.ll:c0023f8736 +31581676972d669d.stub.ll:170dc0771d +31581676972d669d.text.ll:15a3ac0c80 +315efb73bbacac94.ll:42832f41ee +315efb73bbacac94.stub.ll:83d0928b7b +315efb73bbacac94.text.ll:42deaf291a +31a8c4ff585431a8.ll:2b17137b7b +31a8c4ff585431a8.stub.ll:d815151190 +31a8c4ff585431a8.text.ll:67b0c98716 +3211378748819d8b.ll:496f6d6be3 +3211378748819d8b.stub.ll:3101ee053b +3211378748819d8b.text.ll:6f15225b24 +33f6830bc155ede1.ll:24ce48a497 +33f6830bc155ede1.stub.ll:ab7b68f14b +33f6830bc155ede1.text.ll:d05d650928 +345c1b7b46335329.ll:18ca473ce6 +345c1b7b46335329.stub.ll:93469b1f7e +345c1b7b46335329.text.ll:ba9cb5ea0b +34615ed733ba082a.ll:ecce2df0e8 +34615ed733ba082a.stub.ll:66e18eafe3 +34615ed733ba082a.text.ll:8480012750 +34dc6a647fa19b7b.ll:2d7e9b8bff +34dc6a647fa19b7b.stub.ll:ecb1f953c0 +34dc6a647fa19b7b.text.ll:2409f12eb7 +35ffd1374f30cdd6.ll:91ba2df2ec +35ffd1374f30cdd6.stub.ll:5168c5f27d +35ffd1374f30cdd6.text.ll:f3f7dea417 +39219087e7d1904e.ll:7417c15eef +39219087e7d1904e.stub.ll:ab181d177c +39219087e7d1904e.text.ll:8e78b40f24 +3b2a307c9c7d0129.ll:be4aa1e2f0 +3b2a307c9c7d0129.stub.ll:6925f7436f +3b2a307c9c7d0129.text.ll:1ffd6d8eaa +3f0290742c1dfac8.ll:cc43bd2804 +3f0290742c1dfac8.stub.ll:15266d4821 +3f0290742c1dfac8.text.ll:6a8634f92e +3f961cd80acf36d9.ll:63e43a8df1 +3f961cd80acf36d9.stub.ll:b71ec878d7 +3f961cd80acf36d9.text.ll:ecf115c59d +406bc0a18c93f5b7.ll:b96b9d2f72 +406bc0a18c93f5b7.stub.ll:02e78ed15b +406bc0a18c93f5b7.text.ll:38debdbb07 +40b053f21c0df07c.ll:0f34d32b7b +40b053f21c0df07c.stub.ll:0a3249d33e +40b053f21c0df07c.text.ll:350be4a7dc +418bf3a0aec16c63.ll:cb1f424cca +418bf3a0aec16c63.stub.ll:e97d939821 +418bf3a0aec16c63.text.ll:ce162180e8 +43da8de1129ccd08.ll:f406b69482 +43da8de1129ccd08.stub.ll:cd0139f70a +43da8de1129ccd08.text.ll:36436c9235 +46ea1349c980c7f4.ll:cd4cade72a +46ea1349c980c7f4.stub.ll:5b3d8c426d +46ea1349c980c7f4.text.ll:71237eed98 +4856d5a381c8620e.ll:1e280245ed +4856d5a381c8620e.stub.ll:f79c9b815a +4856d5a381c8620e.text.ll:31c86e7fb6 +48f23d2aaef59023.ll:eeefe54d2b +48f23d2aaef59023.stub.ll:27a3fac818 +48f23d2aaef59023.text.ll:af902132e0 +4948db9c7a83e386.ll:b0a7c4c290 +4948db9c7a83e386.stub.ll:907f6cb5d3 +4948db9c7a83e386.text.ll:0f35b5a467 +49fe6c98aeb2765f.ll:59e66b28b1 +49fe6c98aeb2765f.stub.ll:1e7b7c2780 +49fe6c98aeb2765f.text.ll:34b805969b +4b592fb84591c239.ll:152db35903 +4b592fb84591c239.stub.ll:a4c3ccd62b +4b592fb84591c239.text.ll:92693928dd +4c1f8f779b98eab9.ll:5cfb718c97 +4c1f8f779b98eab9.stub.ll:b3115abcfd +4c1f8f779b98eab9.text.ll:3576732e4c +4e8522b5624a34ae.ll:c1016de557 +4e8522b5624a34ae.stub.ll:cb53c29878 +4e8522b5624a34ae.text.ll:4b42392625 +4eb41d5bd6f06368.ll:42bbcdc378 +4eb41d5bd6f06368.stub.ll:77f04ec3fa +4eb41d5bd6f06368.text.ll:aa9ad0bab0 +50202407280af718.ll:36e31ab966 +50202407280af718.stub.ll:dac0b68107 +50202407280af718.text.ll:402a0c81e7 +54782bf5b116f377.ll:8ec84d0bf0 +54782bf5b116f377.stub.ll:cd4322d3f9 +54782bf5b116f377.text.ll:0f1c359bdd +56b703881fd1b9e6.ll:85edaa09d5 +56b703881fd1b9e6.stub.ll:9e6b637a31 +56b703881fd1b9e6.text.ll:6d296c4b27 +57cd9f82dd50783e.ll:e42f0dd002 +57cd9f82dd50783e.stub.ll:c6dbb267cb +57cd9f82dd50783e.text.ll:11fdb629fd +64e4506e080ca29c.ll:3647f598e6 +64e4506e080ca29c.stub.ll:649e1a7e2f +64e4506e080ca29c.text.ll:5add7eb835 +652aff7c2e85125c.ll:739e471ae8 +652aff7c2e85125c.stub.ll:d33ee596e3 +652aff7c2e85125c.text.ll:d2025b5de6 +688b9c1ad51d7c05.ll:002fd7f75a +688b9c1ad51d7c05.stub.ll:d688bf4c4b +688b9c1ad51d7c05.text.ll:4d8919a019 +69c52432d0624efb.ll:be132bade2 +69c52432d0624efb.stub.ll:fac2dfe4db +69c52432d0624efb.text.ll:1781191930 +6b274ba776a3594f.ll:83825330b8 +6b274ba776a3594f.stub.ll:619e9cc769 +6b274ba776a3594f.text.ll:01ba5c9c74 +6b5ac37426f56a93.ll:0de8f6a429 +6b5ac37426f56a93.stub.ll:6df6696132 +6b5ac37426f56a93.text.ll:69a24280bc +6b652d7adf34bb20.ll:8106f78ea8 +6b652d7adf34bb20.stub.ll:497968cf42 +6b652d7adf34bb20.text.ll:30f64b1e01 +6c658cc728d0bbf4.stub.ll:5d9e214136 +6d3c64a2c7f46ebd.ll:eda157c4a9 +6d3c64a2c7f46ebd.stub.ll:8e64881bc2 +6d3c64a2c7f46ebd.text.ll:c13501ffd8 +6ddf430432a0e373.ll:15a819a327 +6ddf430432a0e373.stub.ll:ed39e7011b +6ddf430432a0e373.text.ll:9d809e7087 +71e0a3ffcb3ebfad.stub.ll:9c0564fc36 +73a808be019a6751.ll:313efd140a +73a808be019a6751.stub.ll:43d01a8cf3 +73a808be019a6751.text.ll:6b3338b0f2 +7cadfe07e983fd90.ll:76dc4e04e8 +7cadfe07e983fd90.stub.ll:c0441b2023 +7cadfe07e983fd90.text.ll:4bd9b052b5 +7d6e41f51430ebac.ll:e5e800ed9a +7d6e41f51430ebac.stub.ll:faa1708c3e +7d6e41f51430ebac.text.ll:bb47f084ac +82403f55ecca4de1.ll:a69493bf53 +82403f55ecca4de1.stub.ll:d39bdd1ee5 +82403f55ecca4de1.text.ll:d343c06699 +8241600bd953cb9f.ll:5c45c0a709 +8241600bd953cb9f.stub.ll:88a46fc125 +8241600bd953cb9f.text.ll:47606dfd1c +83918bed1fca36cd.ll:d096486a5b +83918bed1fca36cd.stub.ll:f235211789 +83918bed1fca36cd.text.ll:b92158dd00 +83c6cd376b37329d.ll:6d3b60b82b +83c6cd376b37329d.stub.ll:e43dc7360a +83c6cd376b37329d.text.ll:4c13b89091 +8587f6b1ed0725c7.ll:4e923c7b03 +8587f6b1ed0725c7.stub.ll:70f9d5bef9 +8587f6b1ed0725c7.text.ll:662f433a9b +8637ee38c950ab7f.ll:ecd0ba579c +8637ee38c950ab7f.stub.ll:2aa227e2e4 +8637ee38c950ab7f.text.ll:c45b1c13a5 +873bf8790da565fa.ll:cb0f49fbb8 +873bf8790da565fa.stub.ll:676563062f +873bf8790da565fa.text.ll:52405d70c0 +876e256c06636777.ll:992300640d +876e256c06636777.stub.ll:2bf668dee5 +876e256c06636777.text.ll:5a2b423f7e +89622293064483b6.ll:81917fcc77 +89622293064483b6.stub.ll:065fddbd23 +89622293064483b6.text.ll:871c75c814 +8fbba2647521bf66.ll:446297bf2e +8fbba2647521bf66.stub.ll:3ec30c455b +8fbba2647521bf66.text.ll:fbd2b0601e +93ee3fe9efdbdbcd.ll:5294fbec16 +93ee3fe9efdbdbcd.stub.ll:04c4a82916 +93ee3fe9efdbdbcd.text.ll:428713e9d4 +940e5294667daf5a.ll:08c1ac4168 +940e5294667daf5a.stub.ll:fb276b3a92 +940e5294667daf5a.text.ll:83dd857d6e +95b4a950904a5ad3.ll:1a3bac3bc3 +95b4a950904a5ad3.stub.ll:8a52499165 +95b4a950904a5ad3.text.ll:43eb350683 +96837bcc64032444.stub.ll:6ed6cfb363 +995c64dfa7db003e.ll:d7e28b68c3 +995c64dfa7db003e.stub.ll:7792c0cd3d +995c64dfa7db003e.text.ll:dcb74f8438 +9a877ee7da9f7444.ll:25b077a1e7 +9a877ee7da9f7444.stub.ll:b91d4a74f3 +9a877ee7da9f7444.text.ll:ea8912eaa4 +9c3a488b1e54d01e.ll:fd5e2b6587 +9c3a488b1e54d01e.stub.ll:b2c8ad3f70 +9c3a488b1e54d01e.text.ll:892c922a4d +9df7bd403cb4eb0a.ll:4dfa17dddd +9df7bd403cb4eb0a.stub.ll:838373cba5 +9df7bd403cb4eb0a.text.ll:81ea2d381a +9f2b323675ebd6e5.ll:e5f6508079 +9f2b323675ebd6e5.stub.ll:42b169bb68 +9f2b323675ebd6e5.text.ll:d4e1d316b4 +_merged.ll:663c2aa28f +_merged_opt.ll:af3f40e427 +a335eb99f2e34479.ll:d3a050f0a5 +a335eb99f2e34479.stub.ll:4009cf8c30 +a335eb99f2e34479.text.ll:7903a7035b +a338710abd2664f4.ll:6930c44bcc +a338710abd2664f4.stub.ll:5e907c0e67 +a338710abd2664f4.text.ll:c353c87643 +a351387236c6ce1c.ll:dca3266d73 +a351387236c6ce1c.stub.ll:0bc870c0e3 +a351387236c6ce1c.text.ll:5143c28931 +a5ad7b931fb29f10.ll:f58d307c9c +a5ad7b931fb29f10.stub.ll:efe4010d93 +a5ad7b931fb29f10.text.ll:26d1f19a6d +a5e9a83e9db303ad.ll:5520621ab4 +a5e9a83e9db303ad.stub.ll:baf2b9edc4 +a5e9a83e9db303ad.text.ll:49853ed3aa +a7ebd8ac274b83c5.ll:c5779c07fc +a7ebd8ac274b83c5.stub.ll:6d97c06d12 +a7ebd8ac274b83c5.text.ll:5e9d05291b +a913637a7405b2bc.ll:e227d1a575 +a913637a7405b2bc.stub.ll:5f877bc5d5 +a913637a7405b2bc.text.ll:8168bf3607 +aa246c6e6aa30484.ll:85f1f4e5b7 +aa246c6e6aa30484.stub.ll:f1bb495f44 +aa246c6e6aa30484.text.ll:56a1b8e39b +b0fa6549bb6e458f.ll:b9c19c938d +b0fa6549bb6e458f.stub.ll:f0a98a3c1f +b0fa6549bb6e458f.text.ll:122396067e +b12a2716c40c6b90.ll:50c3e96d04 +b12a2716c40c6b90.stub.ll:11687f8c1f +b12a2716c40c6b90.text.ll:65c3727167 +b2a6b08776db1974.ll:5c3d29e6ef +b2a6b08776db1974.stub.ll:a0516ee18e +b2a6b08776db1974.text.ll:ba2df6f5dd +b312603ebb41e580.ll:8d2032e6bc +b312603ebb41e580.stub.ll:3d31f1b6aa +b312603ebb41e580.text.ll:3fae103587 +b57252077e6b596b.stub.ll:6ed6cfb363 +b5da1bb8350c433b.ll:2e27097bbe +b5da1bb8350c433b.stub.ll:f10a414826 +b5da1bb8350c433b.text.ll:7787083875 +b70a27ddda9f175e.ll:c5a9a572f4 +b70a27ddda9f175e.stub.ll:2e36ada0e2 +b70a27ddda9f175e.text.ll:341e2b1596 +bafd458fb305308f.ll:d4338ac08c +bafd458fb305308f.stub.ll:c4c8033fbe +bafd458fb305308f.text.ll:88fa2d5acc +bba983c61a970f7c.ll:c4a5140c88 +bba983c61a970f7c.stub.ll:f4caa1d0fb +bba983c61a970f7c.text.ll:128ddcc2bb +be40c7ff054f4f31.ll:32ea63f99b +be40c7ff054f4f31.stub.ll:bf1adb8183 +be40c7ff054f4f31.text.ll:c7ae0bdf68 +bef89476dfde96fe.ll:754d7d23f9 +bef89476dfde96fe.stub.ll:87f1d544f2 +bef89476dfde96fe.text.ll:26ff1a6c25 +bfb3334894d0ebb0.ll:7a114daf70 +bfb3334894d0ebb0.stub.ll:00fcd29c29 +bfb3334894d0ebb0.text.ll:77cfa2b31c +c0def010dcebadb1.ll:d6862fca2b +c0def010dcebadb1.stub.ll:91b345a3ea +c0def010dcebadb1.text.ll:94151bb77e +c2a4277744568003.ll:37d2e9077d +c2a4277744568003.stub.ll:7fd3a83236 +c2a4277744568003.text.ll:70a1eb5dec +c2edff5b0067302a.ll:85a088a73c +c2edff5b0067302a.stub.ll:71457874e7 +c2edff5b0067302a.text.ll:e0ff997456 +c356e88e66096eea.ll:83596569e8 +c356e88e66096eea.stub.ll:f6608a3a64 +c356e88e66096eea.text.ll:f955df0179 +c465ca9135a40338.ll:bb24078eea +c465ca9135a40338.stub.ll:d54df36588 +c465ca9135a40338.text.ll:62d381d0f6 +c9b44d17cd621a75.ll:1a9ab1b832 +c9b44d17cd621a75.stub.ll:49ffb35f8e +c9b44d17cd621a75.text.ll:a2b4e2d427 +cb21d6d885c9d53c.ll:b0e2fd54f5 +cb21d6d885c9d53c.stub.ll:da9e970d4a +cb21d6d885c9d53c.text.ll:d35a28424c +cb3e3362ac92fc1e.ll:b0efd2bb60 +cb3e3362ac92fc1e.stub.ll:63a4fb597c +cb3e3362ac92fc1e.text.ll:ce0ddeaa97 +d137b1f3311f3a7f.ll:5e21ff3936 +d137b1f3311f3a7f.stub.ll:451df15128 +d137b1f3311f3a7f.text.ll:47fbe5b26d +d5efc5e107200008.ll:0f958497bd +d5efc5e107200008.stub.ll:1bb828555e +d5efc5e107200008.text.ll:38ad46f034 +d78b6611eee6e44b.ll:66a04b7ec5 +d78b6611eee6e44b.stub.ll:404b67ffd0 +d78b6611eee6e44b.text.ll:2022c84897 +d88a519efeea8c10.ll:b6f3c8fed4 +d88a519efeea8c10.stub.ll:88c62a68b6 +d88a519efeea8c10.text.ll:686b19fdab +d9b3d06934cd1898.ll:fac188fd10 +d9b3d06934cd1898.stub.ll:2ec4000c9f +d9b3d06934cd1898.text.ll:18bb90ec0e +da36d5c5226262e1.ll:7bee969e59 +da36d5c5226262e1.stub.ll:5240b7bbc8 +da36d5c5226262e1.text.ll:9462fa2012 +db613a1bd6a3ca26.ll:f2855c5f35 +db613a1bd6a3ca26.stub.ll:f7ab19649a +db613a1bd6a3ca26.text.ll:87d1d339dc +db63fd584597b680.ll:b77e7d458f +db63fd584597b680.stub.ll:2e3b0d222c +db63fd584597b680.text.ll:f179169d8b +dd60dcd5acd5124d.ll:0ef39ff2b7 +dd60dcd5acd5124d.stub.ll:6d0ebe2a4c +dd60dcd5acd5124d.text.ll:bcb6efcf99 +e054ec1a7baa470d.ll:bb39897f54 +e054ec1a7baa470d.stub.ll:5e17dec36d +e054ec1a7baa470d.text.ll:ae428b1082 +e177f9462685c213.ll:2cbbc0b6fc +e177f9462685c213.stub.ll:ca1407a871 +e177f9462685c213.text.ll:2f55de5196 +e1ea7eaf63a9c3d1.ll:c9767c69df +e1ea7eaf63a9c3d1.stub.ll:1fc1f86251 +e1ea7eaf63a9c3d1.text.ll:860eaffbf1 +e710417730391023.ll:dc0492ed30 +e710417730391023.stub.ll:440e828a2d +e710417730391023.text.ll:52dcd6e813 +e8284fb5f2337ed3.ll:269cab6c8e +e8284fb5f2337ed3.stub.ll:17fd8f8c83 +e8284fb5f2337ed3.text.ll:86b9fb8021 +eb09ac7f10988a63.ll:1de7870d29 +eb09ac7f10988a63.stub.ll:99f6aba984 +eb09ac7f10988a63.text.ll:b9304efde8 +eb513d7fdf6ac48d.ll:ff57796c45 +eb513d7fdf6ac48d.stub.ll:c7ab3c495d +eb513d7fdf6ac48d.text.ll:ffa7186e5c +ee150b6ef466d5d0.ll:f7eefb3b23 +ee150b6ef466d5d0.stub.ll:f49d92c5e3 +ee150b6ef466d5d0.text.ll:21d9d04c47 +ef50f910fe54a470.ll:0869d27397 +ef50f910fe54a470.stub.ll:9fef8c5b1c +ef50f910fe54a470.text.ll:72b085e295 +f1a938fe9f779b85.ll:5ab390c376 +f1a938fe9f779b85.stub.ll:02b3dcfaa8 +f1a938fe9f779b85.text.ll:9d0d770952 +f28850d5750d9016.ll:24b9986724 +f28850d5750d9016.stub.ll:c4516b94d8 +f28850d5750d9016.text.ll:72875f125d +f455d259f4458438.ll:0e5d7dee14 +f455d259f4458438.stub.ll:385abb7e6c +f455d259f4458438.text.ll:f7bc2ee603 +f467978339422f32.ll:e5cd6a34b5 +f467978339422f32.stub.ll:f21266f2f0 +f467978339422f32.text.ll:882119fb12 +f4ebad8ace53ba5c.ll:0aeba72aaf +f4ebad8ace53ba5c.stub.ll:4c5ff5b9ae +f4ebad8ace53ba5c.text.ll:952d06252c +f5522571bcce7bcb.stub.ll:6ed6cfb363 +f76b2ce5e067f95c.ll:d5f3243b05 +f76b2ce5e067f95c.stub.ll:118f51cf3e +f76b2ce5e067f95c.text.ll:f329725546 +f848cce6512ceca8.ll:cb987b4969 +f848cce6512ceca8.stub.ll:a2c44e8384 +f848cce6512ceca8.text.ll:9a25d06f63 +fb67ebda973806ad.ll:2ec5580ce2 +fb67ebda973806ad.stub.ll:23aede8b82 +fb67ebda973806ad.text.ll:be68d50dfd +fba5ca985395235b.ll:15cec2a103 +fba5ca985395235b.stub.ll:78acebe960 +fba5ca985395235b.text.ll:505fc771ff +fdad6914c4a7d3ce.ll:d1e6b94460 +fdad6914c4a7d3ce.stub.ll:8c7fb91ba6 +fdad6914c4a7d3ce.text.ll:ab5593cee4 +fe4fc011ab3cea8a.ll:d4b0917f29 +fe4fc011ab3cea8a.stub.ll:edfb6d56fd +fe4fc011ab3cea8a.text.ll:54dc0555d9 \ No newline at end of file diff --git a/_repro_crash.py b/_repro_crash.py new file mode 100644 index 0000000..391558a --- /dev/null +++ b/_repro_crash.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 +"""循环编译 FuncTest 直到崩溃,捕获 ASAN 栈(崩溃约 50% 概率)""" +import subprocess +import sys +import os + +EXE = r'd:\Users\TermiNexus\Desktop\TransPyC\TransPyV\output\TransPyV.exe' +PROJ = r'd:\Users\TermiNexus\Desktop\TransPyC\Test\FuncTest\project.json' +CWD = r'd:\Users\TermiNexus\Desktop\TransPyC\Test\FuncTest' +OUT_LOG = r'd:\Users\TermiNexus\Desktop\TransPyC\_asan_crash.log' + +os.environ.setdefault('ASAN_OPTIONS', 'abort_on_error=1:detect_leaks=0') + +for i in range(1, 21): + print(f"[run {i}] 编译 FuncTest ...", flush=True) + try: + r = subprocess.run([EXE, '--project', PROJ, '--clean'], + cwd=CWD, capture_output=True, text=True, + encoding='utf-8', errors='replace', timeout=600) + except subprocess.TimeoutExpired: + print(f"[run {i}] 超时", flush=True) + continue + out = (r.stdout or '') + '\n' + (r.stderr or '') + tail = out.strip().splitlines()[-12:] + print(f"[run {i}] returncode={r.returncode}", flush=True) + for line in tail: + print(f" {line}", flush=True) + if r.returncode != 0: + with open(OUT_LOG, 'w', encoding='utf-8', errors='replace') as f: + f.write(out) + print(f"=== 崩溃捕获于 run {i},完整输出已存 {OUT_LOG} ===", flush=True) + sys.exit(0) + +print("12 次均未崩溃", flush=True) +sys.exit(1) diff --git a/_repro_gdb.py b/_repro_gdb.py new file mode 100644 index 0000000..de7b38d --- /dev/null +++ b/_repro_gdb.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +"""用 gdb 循环运行 FuncTest 编译,捕获崩溃时的 backtrace""" +import subprocess +import sys + +GDB = r'D:\msys64\mingw64\bin\gdb.exe' +EXE = r'd:\Users\TermiNexus\Desktop\TransPyC\TransPyV\output\TransPyV.exe' +PROJ = r'd:\Users\TermiNexus\Desktop\TransPyC\Test\FuncTest\project.json' +CWD = r'd:\Users\TermiNexus\Desktop\TransPyC\Test\FuncTest' +OUT_LOG = r'd:\Users\TermiNexus\Desktop\TransPyC\_gdb_crash.log' + +for i in range(1, 13): + print(f"[gdb run {i}] ...", flush=True) + try: + r = subprocess.run([GDB, '-batch', '-ex', 'set pagination off', + '-ex', f'run --project {PROJ} --clean', + '-ex', 'bt 30', '--args', EXE], + cwd=CWD, capture_output=True, text=True, + encoding='utf-8', errors='replace', timeout=600) + except subprocess.TimeoutExpired: + print(f"[gdb run {i}] 超时", flush=True) + continue + out = (r.stdout or '') + '\n' + (r.stderr or '') + if 'Program received signal' in out or 'SIGSEGV' in out or 'SIGABRT' in out or 'SIGILL' in out: + with open(OUT_LOG, 'w', encoding='utf-8', errors='replace') as f: + f.write(out) + print(f"=== gdb 捕获信号于 run {i},已存 {OUT_LOG} ===", flush=True) + sys.exit(0) + print(f"[gdb run {i}] 正常结束,未崩溃", flush=True) + +print("12 次 gdb 均未崩溃", flush=True) +sys.exit(1) diff --git a/_run_supertest.py b/_run_supertest.py new file mode 100644 index 0000000..b94402d --- /dev/null +++ b/_run_supertest.py @@ -0,0 +1,18 @@ +"""临时诊断:跑 TPV 编译指定项目,捕获完整输出并过滤关键行""" +import subprocess +import sys + +exe = r"d:\Users\TermiNexus\Desktop\TransPyC\TransPyV\output\TransPyV.exe" +proj = sys.argv[1] if len(sys.argv) > 1 else "SuperTest" + +r = subprocess.run([exe, "--project", proj, "--clean"], + cwd=r"d:\Users\TermiNexus\Desktop\TransPyC\Test", + capture_output=True, text=True, encoding='utf-8', errors='replace') +out = (r.stdout or "") + (r.stderr or "") +print(f"RETURNCODE={r.returncode}") +keep = ["Error", "WARN [HandlesExprCall]", "SyntaxError", "Traceback", "NameError", + "TypeError", "InternalCompilerError", "Exception", "line ", "翻译完成(translate返回)", + "SUCCESS", "FAILED"] +for line in out.splitlines(): + if any(k in line for k in keep): + print(line) diff --git a/_supertest2.txt b/_supertest2.txt new file mode 100644 index 0000000..138f06c --- /dev/null +++ b/_supertest2.txt @@ -0,0 +1 @@ +├ DEBU diff --git a/_supertest3.txt b/_supertest3.txt new file mode 100644 index 0000000..213d7c7 --- /dev/null +++ b/_supertest3.txt @@ -0,0 +1 @@ +SyntaxError: 裸名调用 'super' 未定义且未导入 diff --git a/_supertest_out.txt b/_supertest_out.txt new file mode 100644 index 0000000..4288335 --- /dev/null +++ b/_supertest_out.txt @@ -0,0 +1 @@ +在 SuperTest 编译失败,立即终止。 diff --git a/_test_vast_c_diff.py b/_test_vast_c_diff.py new file mode 100644 index 0000000..f92bd7d --- /dev/null +++ b/_test_vast_c_diff.py @@ -0,0 +1,142 @@ +"""vast_c vs vast 差分测试:验证 C 解析器输出与纯 Python vast 完全一致。 + +用法:python _test_vast_c_diff.py [--verbose] +退出码:0=全部通过,1=有失败。 +""" +import sys + +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC') +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC\lib') + +import vast +import vast_c + +CASES = [ + # ---- 表达式 ---- + 'x = 1', + 'x = 1 + 2 * 3', + 'x = (1 + 2) * 3', + 'x = 2 ** 3', + 'x = -2 ** 2', + 'x = 2 ** -1', + 'x = 1.5e10', + 'x = 0x1F + 0b101 + 1_000_000', + 'x = a if b else c', + 'x = a < b < c', + 'x = a is not b', + 'x = c not in d', + 'x = a and b or not c', + 'x = a | b & c ^ d', + 'x = a << 2 >> 1', + 'x = a.b.c', + 'x = a.b.c[0].d(1, 2, k=3)', + 'x = f(a, *args, b=1, **kw)', + 'x = a[1:2]', + 'y = a[::2]', + 'z = a[1, 2]', + 'x = (1, 2)', + 'x = [1, 2, 3]', + 'x = {"a": 1, "b": [1, 2]}', + 'x = {1, 2, 3}', + 'l = [x for x in range(10) if x % 2 == 0]', + 'g = (x * 2 for x in range(5))', + 'd = {k: v for k, v in pairs}', + 'f = lambda x, y=1: x + y', + 'x = (y := 5)', + 'x = True', + 'x = None', + 'x = ...', + 'x = "a" "b" "c"', + 'x = f"{name} is {age} years old"', + 'x = f"{x!r} {y:>10}"', + 'x = b"bytes"', + 'x = r"raw\\nstring"', + 'x = await f()', + 'x = -5', + 'y = ~x', + 'z = +3', + # ---- 语句 ---- + 'x = 1', + 'y', + 'a = b = c', + 'x: int = 5', + 'y: list[int]', + 'z: str | None = None', + 'x += 1', + 'def foo(a, b=2):\n return a + b', + 'def foo(a: int, b: float = 2.5) -> str:\n return str(a)', + 'def f(x, *args, y=1, **kwargs):\n pass', + 'def f() -> None:\n return None', + '@decorator\ndef foo():\n pass', + '@t.NoVTable\nclass Foo:\n pass', + 'class Foo:\n x: int = 1\n def __init__(self):\n pass', + 'class Foo(Bar, Baz):\n pass', + 'if x > 0:\n y = 1\nelif x < 0:\n y = -1\nelse:\n y = 0', + 'for i in range(10):\n print(i)', + 'while x < 10:\n x += 1', + 'try:\n pass\nexcept Exception as e:\n raise\nexcept:\n pass\nfinally:\n pass', + 'with open("f") as f:\n data = f.read()', + 'import os', + 'from sys import argv, exit as e', + 'import a.b.c as abc', + 'global x', + 'nonlocal y', + 'del x[0], y', + 'assert x == 1, "msg"', + 'raise ValueError("bad")', + 'match x:\n case 1:\n pass\n case _:\n pass', + 'async def g():\n await f()', + 'async for i in stream:\n pass', + 'async with lock:\n pass', + 'fn foo():\n return 1', + 'func bar(x):\n return x', + 'extern def A(x: int) -> int: pass', + 'extern A(x: int) -> int', + 'extern def B(x: int) -> int', + 'export def C(x: int) -> int: pass', + 'export C(x: int) -> int: pass', + 'extern D() -> None: pass', + 'extern def E[T](x: T) -> T: pass', +] + + +def compare(src): + try: + ref = vast.dump(vast.parse(src), indent=2) + ref_ok = True + except Exception as e: + ref = f'<{type(e).__name__}: {e}>' + ref_ok = False + try: + got = vast_c.parse(src) + got_dump = vast.dump(got, indent=2) + got_ok = True + except Exception as e: + got_dump = f'<{type(e).__name__}: {e}>' + got_ok = False + if ref == got_dump: + return True, ref + return False, (ref, got_dump, ref_ok, got_ok) + + +def main(): + verbose = '--verbose' in sys.argv + fails = 0 + for src in CASES: + ok, res = compare(src) + if not ok: + fails += 1 + ref, got, ref_ok, got_ok = res + print('FAIL', repr(src[:60])) + print(' ref:', ref[:400] if ref_ok else ref) + print(' got:', got[:400] if got_ok else got) + elif verbose: + print('OK ', repr(src[:60])) + total = len(CASES) + print('=' * 40) + print(f'PASS: {total - fails}/{total} FAIL: {fails}') + return 0 if fails == 0 else 1 + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/_test_vast_c_hang.py b/_test_vast_c_hang.py new file mode 100644 index 0000000..2832ac2 --- /dev/null +++ b/_test_vast_c_hang.py @@ -0,0 +1,52 @@ +"""vast_c 卡死用例定位:逐个用例子进程隔离 + 10s 超时,terminate 强杀,找出挂死/异常用例。 + +注:ProcessPoolExecutor 无法终止正在执行的 future(shutdown 会等 worker 退出 → 主脚本卡死), +必须用 multiprocessing.Process + terminate() 强杀。 +""" +import sys +import multiprocessing as _Mp +import queue as _Queue + +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC') +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC\lib') + +from _test_vast_c_diff import CASES + + +def _RunOne(Src, OutQ): + try: + import vast_c + T = vast_c.parse(Src) + OutQ.put(('ok', len(repr(T)))) + except BaseException as E: # noqa: BLE001 + OutQ.put(('err', f'{type(E).__name__}: {str(E)[:100]}')) + + +def main(): + _Mp.freeze_support() + for I, Src in enumerate(CASES): + OutQ = _Mp.Queue() + P = _Mp.Process(target=_RunOne, args=(Src, OutQ), daemon=True) + P.start() + P.join(timeout=10) + if P.is_alive(): + print(f'HANG [{I}] {Src[:60]!r}') + P.terminate() + P.join() + print('已强杀卡死进程') + return + try: + Status, Info = OutQ.get(timeout=1) + except (_Queue.Empty, Exception): + print(f'ERR [{I}] {Src[:60]!r} -> 无返回') + continue + if Status == 'ok': + print(f'OK [{I}] {Src[:60]!r}') + else: + print(f'ERR [{I}] {Src[:60]!r} -> {Info}') + print('=' * 40) + print('全部用例无卡死') + + +if __name__ == '__main__': + main() diff --git a/_test_vast_diff.py b/_test_vast_diff.py new file mode 100644 index 0000000..374fd54 --- /dev/null +++ b/_test_vast_diff.py @@ -0,0 +1,112 @@ +"""vast vs CPython ast 差分测试(临时脚本)""" +import sys +import ast + +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC') +import lib.vast as vast + + +def norm_dump(t): + # 归一化:对象地址、repr 差异 + return t + + +def compare(src, label=''): + try: + ref = ast.dump(ast.parse(src), indent=2) + ref_ok = True + except SyntaxError as e: + ref = f'' + ref_ok = False + try: + got = vast.dump(vast.parse(src), indent=2) + got_ok = True + except Exception as e: + got = f'<{type(e).__name__}: {e}>' + got_ok = False + if ref == got: + return True, ref + return False, (ref, got, ref_ok, got_ok) + + +TESTS = [ + 'x = 1', + 'x = 1 + 2 * 3', + 'x = (1 + 2) * 3', + 'def foo(a, b=2):\n return a + b', + 'def foo(a: int, b: float = 2.5) -> str:\n return str(a)', + 'class Foo:\n x: int = 1\n def __init__(self):\n pass', + 'class Foo(Bar, Baz):\n pass', + 'if x > 0:\n y = 1\nelif x < 0:\n y = -1\nelse:\n y = 0', + 'for i in range(10):\n print(i)', + 'while x < 10:\n x += 1', + 'try:\n pass\nexcept Exception as e:\n raise\nexcept:\n pass\nfinally:\n pass', + 'with open("f") as f:\n data = f.read()', + 'import os\nfrom sys import argv, exit as e\nimport a.b.c as abc', + 'x = [1, 2, 3]\ny = (1, 2)\nz = {"a": 1, "b": [1,2]}\ns = {1, 2, 3}', + 's = f"{name} is {age} years old"', + 's = f"{x!r} {y:>10}"', + 'x = a.b.c[0].d(1, 2, k=3)', + 'x = 0x1F + 0b101 + 1_000_000 + 1.5e10', + 'x = True\nif not x:\n pass', + 'x = a if b else c', + 'l = [x for x in range(10) if x % 2 == 0]', + 'g = (x * 2 for x in range(5))', + 'd = {k: v for k, v in pairs}', + 'f = lambda x, y=1: x + y', + 'x = a[1:2]\ny = a[::2]\nz = a[1, 2]', + '@decorator\ndef foo():\n pass', + '@t.NoVTable\nclass Foo:\n pass', + 'global x\nnonlocal y', + 'del x[0], y', + 'assert x == 1, "msg"', + 'raise ValueError("bad")', + 'x = -5\ny = ~x\nz = +3', + 'a = 5\nb = a\nc = a = b', + 'x: int = 5\ny: list[int]\nz: str | None = None', + 'def f(x, *args, y=1, **kwargs):\n pass', + 'match x:\n case 1:\n pass\n case [a, b]:\n pass\n case {"k": v}:\n pass\n case Point(x=0, y=y):\n pass\n case _:\n pass', + 'fn foo():\n return 1', + 'func bar(x):\n return x', + 'x = "a" "b" "c"', + 'x = f"{a}" "suffix"', + 'y = b"bytes"', + 'r = r"raw\\nstring"', + 'x = ...', + 'x = (y := 5)', + 'def f() -> None:\n return None', + 'x = a < b < c', + 'x = a is not b\nx = c not in d', + 'x = -2 ** 2', + 'x = 2 ** -1', + 'x = await f()', + 'async def g():\n await f()', + 'async for i in stream:\n pass', + 'async with lock:\n pass', +] + + +def main(): + fails = 0 + skips = 0 + for src in TESTS: + ok, res = compare(src) + if not ok: + ref, got, ref_ok, got_ok = res + if not ref_ok: + # CPython 也解析失败 → 跳过(vast 应同样报错,但容错) + skips += 1 + print('SKIP(cpy-err)', repr(src[:50])) + continue + fails += 1 + print('FAIL', repr(src[:50])) + print(' ref:', ref[:300]) + print(' got:', got[:300]) + else: + print('OK ', repr(src[:50])) + print('=' * 40) + print(f'PASS: {len(TESTS) - fails - skips}/{len(TESTS)} FAIL: {fails} SKIP: {skips}') + + +if __name__ == '__main__': + main() diff --git a/_test_vast_pos.py b/_test_vast_pos.py new file mode 100644 index 0000000..772a784 --- /dev/null +++ b/_test_vast_pos.py @@ -0,0 +1,50 @@ +"""探针12:全量位置差分 vast.dump(include_attributes=True) vs CPython。""" +import sys, os, glob +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC\lib') +import vast as ast +import ast as cpy_ast + +files = sorted(glob.glob(r'd:\Users\TermiNexus\Desktop\TransPyC\lib\**\*.py', recursive=True)) +files += sorted(glob.glob(r'd:\Users\TermiNexus\Desktop\TransPyC\lib\*.py')) +files = sorted(set(files)) + +# 排除测试脚本 +files = [f for f in files if '_test' not in os.path.basename(f) and '_probe' not in os.path.basename(f) and 'vast' not in f.replace('\\', '/').split('/lib/')[0]] + +ok = 0 +fail = [] +skip = [] +for f in files: + try: + with open(f, 'r', encoding='utf-8') as fh: + src = fh.read() + except Exception as e: + skip.append((f, f'read: {e}')) + continue + try: + cpy = cpy_ast.dump(cpy_ast.parse(src), indent=2, include_attributes=True) + except SyntaxError as e: + skip.append((f, f'cpy SyntaxError: {e}')) + continue + except Exception as e: + skip.append((f, f'cpy {e}')) + continue + try: + vas = ast.dump(ast.parse(src), indent=2, include_attributes=True) + except Exception as e: + fail.append((f, f'vast: {e}')) + continue + if vas != cpy: + # 定位第一个差异 + import difflib + diff = list(difflib.unified_diff(cpy.split('\n'), vas.split('\n'), lineterm='', n=0)) + fail.append((f, f'DIFF:\n' + '\n'.join(diff[:12]))) + else: + ok += 1 + +print(f"=== 位置差分结果 ===") +print(f"文件总数: {len(files)} 一致: {ok} 失败: {len(fail)} 跳过: {len(skip)}") +for f, reason in fail[:8]: + print(f"\n>>> {f}\n{reason}") +for f, reason in skip[:5]: + print(f"[skip] {f}: {reason}") diff --git a/_test_vast_scan.py b/_test_vast_scan.py new file mode 100644 index 0000000..f13251d --- /dev/null +++ b/_test_vast_scan.py @@ -0,0 +1,56 @@ +"""vast vs CPython ast 全量差分测试(扫描 lib 下所有 .py)""" +import sys +import os +import ast + +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC') +import lib.vast as vast +from lib.core.SymbolUtils import ExpandSoftKeywords + + +def main(): + root = r'd:\Users\TermiNexus\Desktop\TransPyC\lib' + files = [] + for dp, dn, fn in os.walk(root): + for f in fn: + if f.endswith('.py') and '__pycache__' not in dp: + files.append(os.path.join(dp, f)) + total = 0 + fail = 0 + fail_list = [] + for fp in files: + try: + src = open(fp, encoding='utf-8').read() + except Exception: + continue + expanded = ExpandSoftKeywords(src) + try: + ref = ast.dump(ast.parse(expanded)) + except SyntaxError as e: + continue # CPython 解析不了,跳过 + total += 1 + try: + got = vast.dump(vast.parse(src)) + except Exception as e: + fail += 1 + fail_list.append((fp, f'EXC {type(e).__name__}: {e}')) + continue + if ref != got: + fail += 1 + fail_list.append((fp, 'DIFF')) + if len(fail_list) <= 15: + # 找第一个差异位置 + i = 0 + while i < min(len(ref), len(got)) and ref[i] == got[i]: + i += 1 + print(f'=== {os.path.basename(fp)} DIFF @ {i}') + print(' ref:', ref[max(0, i-80):i+120]) + print(' got:', got[max(0, i-80):i+120]) + print('=' * 50) + print(f'files={total} FAIL={fail}') + for fp, why in fail_list: + print(f' {why}: {os.path.relpath(fp, root)}') + + +if __name__ == '__main__': + main() diff --git a/_test_vast_tok.py b/_test_vast_tok.py new file mode 100644 index 0000000..ad28336 --- /dev/null +++ b/_test_vast_tok.py @@ -0,0 +1,68 @@ +"""vast tokenizer 与 CPython tokenize 差分测试(临时脚本)""" +import sys +import io +import tokenize + +sys.path.insert(0, r'd:\Users\TermiNexus\Desktop\TransPyC') +from lib.vast.Tokenizer import Tokenizer + + +def cpy_tokens(src): + out = [] + try: + for t in tokenize.generate_tokens(io.StringIO(src).readline): + out.append((tokenize.tok_name[t.type], t.string, t.start[0], t.start[1], t.end[0], t.end[1])) + except tokenize.TokenError: + pass + return out + + +def vast_tokens(src): + out = [] + for t in Tokenizer(src).Tokenize(): + out.append((t.Type, t.Value, t.Line, t.Col, t.EndLine, t.EndCol)) + return out + + +TESTS = [ + 'x = 1\n', + 'def foo(a, b=2):\n return a + b\n', + 'if x > 0:\n y = 1\nelse:\n y = 2\n', + 'a = [1, 2, 3]\nb = (x for x in a)\n', + 's = "hello"\nt = chr(0x41)\n', + 'f"{name} is {age} years old"\n', + 'x = 0x1F + 0b101 + 1_000_000\n', + 'class Foo(Bar):\n @staticmethod\n def m(self):\n pass\n', + 'a\\\n + b\n', + 'x = (1 +\n 2)\n', + 'd = {"a": 1, "b": [1,2]}\n', + 'def f(x: int = 3) -> int:\n return x\n', + 'try:\n pass\nexcept Exception as e:\n raise\n', + 'x = a.b.c[0].d()\n', + 'fn foo():\n return 1\n', +] + + +def main(): + failed = 0 + for src in TESTS: + c = cpy_tokens(src) + v = vast_tokens(src) + # 类型序列对比(排除 COMMENT/NL/ENCODING 差异) + ct = [(x[0], x[1]) for x in c if x[0] not in ('COMMENT', 'NL', 'ENCODING')] + vt = [(x[0], x[1]) for x in v if x[0] not in ('COMMENT', 'NL')] + if ct == vt: + print('OK ', repr(src[:44])) + else: + failed += 1 + print('DIFF', repr(src[:44])) + print(' cpy :', ct) + print(' vast:', vt) + print(' cpy detail :', c) + print(' vast detail:', v) + print('---') + print('FAILED:', failed) + + +if __name__ == '__main__': + main() diff --git a/_toast_now.py b/_toast_now.py new file mode 100644 index 0000000..9bbae30 --- /dev/null +++ b/_toast_now.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +"""临时 toast:本次完成事项""" +import base64, subprocess + +t = "TPV 基类别名解析恢复完成" +b = "定位 EdgeCaseTest Test12 回归根因:ClassGenMixin 拆分(47ac2dd)时丢失 _resolve_base_alias,cs 别名基类被当真实父类致 CsPoint 未注册。已恢复别名解析并接入 _get_parent_class/_collect_parents,提交 TPV e770fef,待重建验证" +ps = ( + "Add-Type -AssemblyName System.Runtime.WindowsRuntime\n" + "[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null\n" + "[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null\n" + "$t = '" + t + "'\n" + "$b = '" + b + "'\n" + "$xml = [Windows.Data.Xml.Dom.XmlDocument]::new()\n" + "$xml.LoadXml('' + $t + '' + $b + '')\n" + "$toast = [Windows.UI.Notifications.ToastNotification]::new($xml)\n" + "[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier('TraeCode').Show($toast)\n" +) +b64 = base64.b64encode(ps.encode('utf-16-le')).decode() +r = subprocess.run(['powershell', '-NoProfile', '-EncodedCommand', b64], + capture_output=True, text=True) +print('rc=', r.returncode) diff --git a/_toast_threading_test.py b/_toast_threading_test.py new file mode 100644 index 0000000..1b6dfe1 --- /dev/null +++ b/_toast_threading_test.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +"""临时 toast:ThreadingTest vthreading 专项测试编写完成""" +import base64, subprocess + +t = "ThreadingTest 专项测试编写完成" +b = "新建 Test/ThreadingTest 工程(project.json + App/main.vp),覆盖 vthreading 全部 API:Thread(start/join/is_alive/退出码/传参)、Lock 4 线程互斥自增、Event 唤醒、Condition 生产者/消费者、RWLock 多读单写、TLS local、线程 ID 隔离、sleep_ms。" +ps = ( + "Add-Type -AssemblyName System.Runtime.WindowsRuntime\n" + "[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null\n" + "[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null\n" + "$t = '" + t + "'\n" + "$b = '" + b + "'\n" + "$xml = [Windows.Data.Xml.Dom.XmlDocument]::new()\n" + "$xml.LoadXml('' + $t + '' + $b + '')\n" + "$toast = [Windows.UI.Notifications.ToastNotification]::new($xml)\n" + "[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier('TraeCode').Show($toast)\n" +) +b64 = base64.b64encode(ps.encode('utf-16-le')).decode() +r = subprocess.run(['powershell', '-NoProfile', '-EncodedCommand', b64], + capture_output=True, text=True) +print('rc=', r.returncode) diff --git a/a.vp b/a.vp deleted file mode 100644 index 7c8abf1..0000000 --- a/a.vp +++ /dev/null @@ -1,27 +0,0 @@ -import re -import t, c - -enum A: - k: t.State - -extern def add(a: int, b: int) -> int # return a + b -export def minus(a: int, b: int) -> int: - return a - b - -inline fn a(): return -inline func b(): return -inline function d(): return - -# 装饰器高亮消失 - -# fn fun func function - -# virual - - - - - - -def main(): - Asm("") diff --git a/cprofile.txt b/cprofile.txt new file mode 100644 index 0000000..ca41d07 --- /dev/null +++ b/cprofile.txt @@ -0,0 +1,1983 @@ +Tue Aug 18 13:54:58 2026 tpc_tpv.prof + + 46880567 function calls (46601925 primitive calls) in 114.251 seconds + + Ordered by: cumulative time + + ncalls tottime percall cumtime percall filename:lineno(function) + 269/2 0.002 0.000 98.328 49.164 D:\Python312\Lib\threading.py:302(wait) + 1790/51 0.013 0.000 98.328 1.928 {method 'acquire' of '_thread.lock' objects} + 1 0.000 0.000 98.328 98.328 D:\Python312\Lib\concurrent\futures\process.py:335(run) + 211/1 0.004 0.000 98.327 98.327 {built-in method builtins.exec} + 2/1 0.001 0.000 98.327 98.327 Projectrans.py:1() + 2/1 0.005 0.002 98.144 98.144 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:109(main) + 90 0.003 0.000 85.223 0.947 D:\Python312\Lib\concurrent\futures\process.py:403(wait_result_broken_or_wakeup) + 208 0.005 0.000 85.205 0.410 D:\Python312\Lib\multiprocessing\connection.py:1014(wait) + 208 0.002 0.000 84.230 0.405 D:\Python312\Lib\multiprocessing\connection.py:992(_exhaustive_wait) + 328/226 85.167 0.260 84.227 0.373 {built-in method _winapi.WaitForMultipleObjects} + 61 0.002 0.000 77.024 1.263 D:\Python312\Lib\concurrent\futures\_base.py:199(as_completed) + 2/1 0.239 0.119 25.161 25.161 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:572(run) + 43 0.003 0.000 9.275 0.216 D:\Python312\Lib\concurrent\futures\_base.py:263(wait) + 288/236 0.003 0.000 8.881 0.038 {method 'close' of '_io.TextIOWrapper' objects} + 1 0.003 0.003 8.261 8.261 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:221(run) + 112/30 0.007 0.000 6.777 0.226 D:\Python312\Lib\threading.py:1094(join) + 112/30 0.005 0.000 6.776 0.226 D:\Python312\Lib\threading.py:1132(_wait_for_tstate_lock) + 1276 0.004 0.000 6.400 0.005 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\__init__.py:66(parse) + 1276 1.256 0.001 6.383 0.005 {built-in method vast_c.parse} + 1 0.273 0.273 6.014 6.014 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1539(_compile_ll_files) + 1 0.821 0.821 5.836 5.836 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2358(_compile_include_py_files) + 48/7 0.001 0.000 5.603 0.800 D:\Python312\Lib\subprocess.py:1601(_communicate) + 96/7 0.001 0.000 5.599 0.800 D:\Python312\Lib\subprocess.py:1596(_readerthread) + 48/6 0.004 0.000 5.509 0.918 D:\Python312\Lib\subprocess.py:506(run) + 48/7 0.001 0.000 5.444 0.778 D:\Python312\Lib\subprocess.py:1165(communicate) + 957690 4.902 0.000 5.127 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Nodes.py:314(_Init) + 1872894 0.733 0.000 4.176 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:36(walk) + 212/120 0.004 0.000 4.039 0.034 D:\Python312\Lib\threading.py:616(wait) + 439 0.183 0.000 3.480 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:91(get_file_dependencies) + 1931 0.009 0.000 3.278 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:58(parse_python_file) + 1871874 0.509 0.000 3.259 0.000 {method 'extend' of 'collections.deque' objects} + 4295549 1.466 0.000 3.053 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:25(iter_child_nodes) + 44/2 0.003 0.000 2.797 1.398 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1511(_llc_compile) + 98 0.008 0.000 2.610 0.027 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:587(_process_file_pyi) + 2 0.004 0.002 2.588 1.294 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:156(find_reachable_files_from_entries) + 19678 0.009 0.000 2.379 0.000 D:\Python312\Lib\re\__init__.py:179(sub) + 20311 2.293 0.000 2.293 0.000 {method 'sub' of 're.Pattern' objects} + 60/59 0.007 0.000 1.913 0.032 D:\Python312\Lib\concurrent\futures\process.py:773(submit) + 1 0.066 0.066 1.429 1.429 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:123(_get_needed_include_files) + 99 0.064 0.001 1.337 0.014 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:839(_build_current_ModuleSha1Map) + 145 0.041 0.000 1.279 0.009 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:538(_get_cached_pyi) + 1 0.044 0.044 1.246 1.246 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:544(_build_struct_sha1_map) + 147 0.011 0.000 1.205 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:64(convert) + 5347468 0.771 0.000 1.192 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:16(iter_fields) + 98 0.028 0.000 1.096 0.011 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:564(_get_cached_docstrings) + 255 0.004 0.000 1.094 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:374(LoadModuleSymbols) + 255 0.010 0.000 1.090 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:377(_LoadSymbolsFromFile) + 98 0.003 0.000 1.030 0.011 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:503(_extract_docstrings) + 120/106 0.001 0.000 0.944 0.009 D:\Python312\Lib\multiprocessing\connection.py:181(send_bytes) + 120/106 0.001 0.000 0.943 0.009 D:\Python312\Lib\multiprocessing\connection.py:278(_send_bytes) + 11493244 0.910 0.000 0.910 0.000 {built-in method builtins.isinstance} + 1 0.075 0.075 0.896 0.896 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2832(_extract_app_default_args) + 1 0.000 0.000 0.893 0.893 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:414(__init__) + 1 0.006 0.006 0.892 0.892 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:485(_LoadSha1Map) + 1 0.002 0.002 0.883 0.883 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:289(_BuildPyiCacheFile) + 1 0.006 0.006 0.847 0.847 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:3034(_build_shared_symbol_data) + 255 0.008 0.000 0.802 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolExtractor.py:23(extract) +7409/7405 0.784 0.000 0.793 0.000 {built-in method _io.open} + 96/50 0.001 0.000 0.779 0.016 D:\Python312\Lib\subprocess.py:1259(wait) + 5368449 0.718 0.000 0.718 0.000 {method 'split' of 'str' objects} + 528/457 0.001 0.000 0.716 0.002 D:\Python312\Lib\subprocess.py:218(Close) + 86 0.467 0.005 0.644 0.007 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:904(_find_all_type_refs) + 12218 0.618 0.000 0.618 0.000 {built-in method nt._path_isfile} + 1 0.000 0.000 0.589 0.589 D:\Python312\Lib\concurrent\futures\_base.py:646(__exit__) + 1 0.000 0.000 0.589 0.589 D:\Python312\Lib\concurrent\futures\thread.py:219(shutdown) + 16/1 0.000 0.000 0.589 0.589 D:\Python312\Lib\concurrent\futures\thread.py:69(_worker) + 16/1 0.001 0.000 0.589 0.589 {method 'get' of '_queue.SimpleQueue' objects} + 43/1 0.001 0.000 0.584 0.584 D:\Python312\Lib\concurrent\futures\thread.py:53(run) + 43/1 0.001 0.000 0.584 0.584 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2711(_compile_one_include) + 145 0.002 0.000 0.498 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:755(_generate_decl_ll) + 1 0.009 0.009 0.491 0.491 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:433(_process_include_py_files_stub) + 1 0.003 0.003 0.491 0.491 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:655(_build_struct_registry) + 92 0.003 0.000 0.472 0.005 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2887(_register_compiled_include) + 85 0.000 0.000 0.445 0.005 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2804(_collect_function_params) +212387/85 0.135 0.000 0.444 0.005 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2811(visit) + 3392102 0.439 0.000 0.439 0.000 {built-in method builtins.getattr} + 145 0.010 0.000 0.407 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:48(generate) + 1 0.001 0.001 0.393 0.393 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2051(_scan_include_libraries) + 1104 0.384 0.000 0.384 0.000 {built-in method nt.remove} + 49/43 0.038 0.001 0.379 0.009 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2119(_discover_transitive_deps) +6615/6526 5.450 0.001 0.344 0.000 {method 'read' of '_io.TextIOWrapper' objects} + 292 0.003 0.000 0.343 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:44(_SaveToGlobalCache) + 1 0.000 0.000 0.331 0.331 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2869(_extract_include_param_names) + 1 0.002 0.002 0.323 0.323 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:309(_process_include_py_files_pyi) + 3709 0.311 0.000 0.311 0.000 {built-in method nt.stat} + 382 0.003 0.000 0.299 0.001 D:\Python312\Lib\shutil.py:427(copy2) + 5470 0.286 0.000 0.286 0.000 {built-in method nt._path_isdir} + 98 0.006 0.000 0.283 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:637(_process_file_stub) + 382 0.270 0.001 0.270 0.001 {built-in method _winapi.CopyFile2} + 190/5 0.001 0.000 0.253 0.051 :1343(_find_and_load) + 190/5 0.001 0.000 0.253 0.051 :1298(_find_and_load_unlocked) + 182/5 0.000 0.000 0.251 0.050 :905(_load_unlocked) + 160/5 0.000 0.000 0.251 0.050 :988(exec_module) + 399/9 0.000 0.000 0.249 0.028 :480(_call_with_frames_removed) + 1 0.000 0.000 0.246 0.246 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:3296(_link_obj_files) + 709 0.238 0.000 0.238 0.000 {method 'splitlines' of 'str' objects} + 64/24 0.298 0.005 0.238 0.010 {built-in method _winapi.CreateProcess} + 1 0.000 0.000 0.232 0.232 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\__init__.py:1() + 1 0.193 0.193 0.195 0.195 {built-in method _pickle.dump} + 59 0.000 0.000 0.189 0.003 D:\Python312\Lib\concurrent\futures\process.py:739(_adjust_process_count) + 16 0.000 0.000 0.189 0.012 D:\Python312\Lib\concurrent\futures\process.py:762(_spawn_process) + 16 0.001 0.000 0.188 0.012 D:\Python312\Lib\multiprocessing\process.py:110(start) + 16 0.000 0.000 0.186 0.012 D:\Python312\Lib\multiprocessing\context.py:334(_Popen) + 16 0.001 0.000 0.183 0.011 D:\Python312\Lib\multiprocessing\popen_spawn_win32.py:44(__init__) + 1872951 0.183 0.000 0.183 0.000 {method 'popleft' of 'collections.deque' objects} + 237 0.014 0.000 0.182 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:296(_generate_class_decl) + 18563 0.095 0.000 0.180 0.000 {method 'join' of 'str' objects} + 4 0.175 0.044 0.179 0.045 {built-in method _pickle.dumps} + 255 0.002 0.000 0.179 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:26(resolve) + 23/15 0.000 0.000 0.174 0.012 {built-in method builtins.__import__} + 2845 0.006 0.000 0.173 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:191(_resolve_function) + 1 0.000 0.000 0.170 0.170 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1() +33498/16449 0.057 0.000 0.169 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:1022(_get_type_str) + 7474 0.168 0.000 0.168 0.000 {method '__exit__' of '_io._IOBase' objects} + 5465 0.004 0.000 0.161 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:364(FromNode) +10308/5465 0.010 0.000 0.156 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:59(from_node) + 160 0.001 0.000 0.155 0.001 :1061(get_code) + 22510 0.042 0.000 0.153 0.000 D:\Python312\Lib\re\__init__.py:280(_compile) + 2251 0.144 0.000 0.144 0.000 {built-in method nt._path_exists} +2017167/2014133 0.143 0.000 0.143 0.000 {built-in method builtins.len} + 1 0.000 0.000 0.139 0.139 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2782(_extract_include_param_names_from_dirs) + 1138025 0.137 0.000 0.137 0.000 {method 'startswith' of 'str' objects} + 391 0.003 0.000 0.135 0.000 :200(makedirs) + 1090671 0.133 0.000 0.133 0.000 {method 'strip' of 'str' objects} + 1 0.000 0.000 0.104 0.104 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\__init__.py:1() +2402/2375 0.014 0.000 0.104 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:276(_from_node_binop) + 545 0.003 0.000 0.102 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:95(_get_sha1) + 8782 0.101 0.000 0.101 0.000 {method 'write' of '_io.TextIOWrapper' objects} + 982590 0.097 0.000 0.097 0.000 {method 'items' of 'dict' objects} + 3 0.002 0.001 0.094 0.031 D:\Python312\Lib\shutil.py:1501(which) + 575 0.005 0.000 0.093 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolExtractor.py:55(_collect_members) + 31274 0.035 0.000 0.086 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1117(NameToLLVM) + 646552 0.085 0.000 0.085 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1619() + 1 0.001 0.001 0.083 0.083 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1978(_precollect_vtable_state) + 1359 0.001 0.000 0.082 0.000 D:\Python312\Lib\shutil.py:1486(_access_check) + 489 0.001 0.000 0.082 0.000 D:\Python312\Lib\re\_compiler.py:738(compile) + 47 0.002 0.000 0.081 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:414(_WriteStubDep) + 13909 0.036 0.000 0.079 0.000 :107(join) + 1305 0.008 0.000 0.074 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:155(_generate_func_decl) + 1 0.000 0.000 0.073 0.073 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:3270(_strip_debug_sections) + 633 0.003 0.000 0.072 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:16(ExpandSoftKeywords) + 48/8 0.001 0.000 0.072 0.009 D:\Python312\Lib\subprocess.py:807(__init__) + 245 0.001 0.000 0.071 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:31(_TryGlobalCache) + 526655 0.071 0.000 0.071 0.000 {method 'add' of 'set' objects} + 48/8 0.002 0.000 0.071 0.009 D:\Python312\Lib\subprocess.py:1436(_execute_child) + 1 0.000 0.000 0.070 0.070 :1053(source_to_code) + 1 0.070 0.070 0.070 0.070 {built-in method builtins.compile} + 96/50 0.001 0.000 0.070 0.001 D:\Python312\Lib\subprocess.py:1580(_wait) + 831723 0.070 0.000 0.070 0.000 {method 'isalnum' of 'str' objects} + 168/145 0.084 0.000 0.069 0.000 {built-in method _winapi.WaitForSingleObject} + 114708 0.068 0.000 0.068 0.000 {method 'get' of 'dict' objects} + 1 0.000 0.000 0.066 0.066 D:\Python312\Lib\shutil.py:704(rmtree) + 1 0.001 0.001 0.066 0.066 D:\Python312\Lib\shutil.py:607(_rmtree_unsafe) + 7073 0.009 0.000 0.065 0.000 :319(decode) + 339 0.064 0.000 0.064 0.000 {built-in method nt.unlink} +14262/14190 0.006 0.000 0.064 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:36(get_llvm_type_str) + 391 0.063 0.000 0.063 0.000 {built-in method nt.mkdir} + 4625 0.023 0.000 0.062 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:582(_from_node_attribute) + 385559 0.058 0.000 0.058 0.000 {method 'find' of 'str' objects} + 7073 0.056 0.000 0.056 0.000 {built-in method _codecs.utf_8_decode} + 161 0.000 0.000 0.053 0.000 :1182(get_data) + 1126 0.012 0.000 0.053 0.000 :766(relpath) + 221 0.001 0.000 0.053 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:579(_generate_inherited_method_decls) + 269/178 0.010 0.000 0.051 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:612(_CollectInheritedWrapperDecls) + 20200 0.012 0.000 0.050 0.000 :257(splitext) + 255 0.011 0.000 0.050 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolReexporter.py:21(reexport) +106759/106591 0.025 0.000 0.050 0.000 {built-in method builtins.hasattr} + 459 0.009 0.000 0.049 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:691(_CollectOwnMemberTypes) + 6355 0.004 0.000 0.049 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:77(get_func_param_type_str) + 255 0.008 0.000 0.048 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolInserter.py:22(insert) + 5026 0.003 0.000 0.048 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:21(compute_sha1) + 489 0.001 0.000 0.046 0.000 D:\Python312\Lib\re\_parser.py:962(parse) + 185 0.001 0.000 0.045 0.000 :1234(_find_spec) + 32733 0.032 0.000 0.045 0.000 :179(splitroot) + 548/489 0.001 0.000 0.044 0.000 D:\Python312\Lib\re\_parser.py:445(_parse_sub) + 25847 0.028 0.000 0.044 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:98(__init__) + 649/490 0.018 0.000 0.043 0.000 D:\Python312\Lib\re\_parser.py:505(_parse) + 35564 0.023 0.000 0.043 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:880(_extract_llvm_type_name) + 171 0.000 0.000 0.042 0.000 :1516(find_spec) + 171 0.000 0.000 0.042 0.000 :1487(_get_spec) + 337899 0.040 0.000 0.040 0.000 {method 'append' of 'list' objects} + 5690 0.015 0.000 0.040 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:491(_InsertFuncSymbol) + 161 0.039 0.000 0.039 0.000 {method 'read' of '_io.BufferedReader' objects} + 331 0.002 0.000 0.039 0.000 :1589(find_spec) + 2963 0.009 0.000 0.038 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:87(_from_node_name) + 745 0.000 0.000 0.035 0.000 :140(_path_stat) + 2 0.004 0.002 0.034 0.017 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:351(_collect_typedef_map) + 20200 0.019 0.000 0.034 0.000 :133(_splitext) + 958/938 0.002 0.000 0.034 0.000 :1384(_handle_fromlist) + 489 0.001 0.000 0.034 0.000 D:\Python312\Lib\re\_compiler.py:571(_code) + 2616 0.010 0.000 0.033 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:473(_ConvertFunction) + 91482 0.024 0.000 0.032 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:55(__set__) + 19438 0.008 0.000 0.032 0.000 D:\Python312\Lib\re\__init__.py:255(escape) + 1 0.000 0.000 0.031 0.031 D:\Users\TermiNexus\Desktop\TransPyC\TransPyC.py:1() + 1 0.000 0.000 0.031 0.031 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:1() + 1 0.000 0.000 0.031 0.031 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\__init__.py:1() + 267/178 0.002 0.000 0.031 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:858(_FlattenInheritedDecl) + 251/242 0.009 0.000 0.031 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:252(_ConvertClass) + 21224 0.018 0.000 0.030 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1068(CTypeToLLVM) + 8444 0.005 0.000 0.030 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:238(_resolve_attribute) + 640 0.002 0.000 0.029 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:98(_write) + 1 0.000 0.000 0.029 0.029 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\TransPyC.py:1() + 594 0.003 0.000 0.029 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:156(info) + 91 0.024 0.000 0.027 0.000 {method 'dump' of '_pickle.Pickler' objects} + 1 0.000 0.000 0.026 0.026 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\translator.py:1() + 5651 0.009 0.000 0.025 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:187(_resolve_name) + 2 0.000 0.000 0.025 0.013 D:\Python312\Lib\concurrent\futures\__init__.py:40(__getattr__) + 59 0.002 0.000 0.025 0.000 D:\Python312\Lib\multiprocessing\reduction.py:48(dumps) + 3027/489 0.011 0.000 0.025 0.000 D:\Python312\Lib\re\_compiler.py:37(_compile) + 47 0.002 0.000 0.025 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:381(_ComputeDepSha1Signature) + 1 0.000 0.000 0.024 0.024 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\__init__.py:1() + 98 0.002 0.000 0.024 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2175(_is_decl_only_file) + 5966 0.004 0.000 0.024 0.000 :596(abspath) + 2845 0.002 0.000 0.024 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:58(get_func_ret_type_str) + 1 0.000 0.000 0.024 0.024 D:\Python312\Lib\concurrent\futures\process.py:1() + 1 0.000 0.000 0.023 0.023 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:1() + 640 0.022 0.000 0.022 0.000 {method 'flush' of '_io.TextIOWrapper' objects} + 19438 0.022 0.000 0.022 0.000 {method 'translate' of 'str' objects} +26610/13864 0.015 0.000 0.022 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:662(_GetTypeString) + 15940 0.010 0.000 0.021 0.000 :51(normcase) + 55220 0.016 0.000 0.021 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:49(__get__) + 145 0.010 0.000 0.020 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:130(_collect_undefined_type_decls) + 86524 0.020 0.000 0.020 0.000 {method 'replace' of 'str' objects} + 2812 0.003 0.000 0.020 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:376(Copy) + 10575 0.014 0.000 0.019 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1133(ResolveName) + 159 0.002 0.000 0.019 0.000 :750(_compile_bytecode) + 235/221 0.001 0.000 0.019 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2144(_try_add_include_dep) + 145 0.002 0.000 0.017 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:26(_ExtractCDefineConstantsFromPyi) + 159 0.017 0.000 0.017 0.000 {built-in method marshal.loads} + 100 0.003 0.000 0.017 0.000 D:\Python312\Lib\json\__init__.py:120(dump) + 1 0.000 0.000 0.016 0.016 D:\Users\TermiNexus\Desktop\TransPyC\StubGen.py:1() + 9075 0.008 0.000 0.016 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:129(BaseType) + 1 0.000 0.000 0.016 0.016 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\__init__.py:1() + 182 0.000 0.000 0.016 0.000 :806(module_from_spec) + 1 0.000 0.000 0.015 0.015 D:\Users\TermiNexus\Desktop\TransPyC\lib\__init__.py:1() + 1299 0.003 0.000 0.014 0.000 :804(get) + 1 0.000 0.000 0.014 0.014 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:1() + 1 0.000 0.000 0.013 0.013 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:18(_bootstrap) + 2904 0.004 0.000 0.013 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:447(_InsertEnumMemberSymbol) + 2845 0.005 0.000 0.013 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolExtractor.py:294(_extract_function) + 1 0.000 0.000 0.013 0.013 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Generator.py:1() + 8222 0.005 0.000 0.012 0.000 :564(normpath) + 7357 0.004 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:426(GetTModuleCType) + 1 0.000 0.000 0.012 0.012 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:260(_PyiCacheSignature) + 2840 0.003 0.000 0.012 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:509(_InsertDefineSymbol) + 1334 0.005 0.000 0.011 0.000 :236(split) + 8 0.000 0.000 0.011 0.001 :1286(create_module) + 161 0.011 0.000 0.011 0.000 {built-in method _io.open_code} + 8 0.011 0.001 0.011 0.001 {built-in method _imp.create_dynamic} + 98 0.002 0.000 0.011 0.000 :282(walk) + 59 0.001 0.000 0.011 0.000 D:\Python312\Lib\multiprocessing\connection.py:245(recv) + 1323 0.007 0.000 0.011 0.000 :680(__getitem__) + 20004 0.011 0.000 0.011 0.000 {method 'pop' of 'dict' objects} + 61244 0.011 0.000 0.011 0.000 {method 'rfind' of 'str' objects} + 1 0.000 0.000 0.011 0.011 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\__init__.py:1() + 1 0.000 0.000 0.011 0.011 D:\Python312\Lib\site-packages\llvmlite\ir\__init__.py:1() +16053/8025 0.008 0.000 0.011 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:214(AnnotationContainsName) + 1 0.000 0.000 0.011 0.011 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\BaseTranslator.py:1() + 5966 0.010 0.000 0.010 0.000 {built-in method nt._getfullpathname} + 1289 0.002 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:19(from_type_name) + 1 0.000 0.000 0.010 0.010 D:\Python312\Lib\multiprocessing\__init__.py:1() + 2238 0.004 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:802(_GetImportString) + 670/654 0.005 0.000 0.010 0.000 {built-in method builtins.__build_class__} + 96346 0.010 0.000 0.010 0.000 {built-in method nt.fspath} + 233 0.000 0.000 0.010 0.000 :150(_path_is_mode_type) + 28659 0.010 0.000 0.010 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:244(__init__) + 34792 0.007 0.000 0.010 0.000 D:\Python312\Lib\re\_parser.py:164(__getitem__) + 212 0.000 0.000 0.009 0.000 :159(_path_isfile) + 1 0.000 0.000 0.009 0.009 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:1() + 1 0.000 0.000 0.009 0.009 D:\Python312\Lib\multiprocessing\context.py:1() + 1937 0.003 0.000 0.009 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolExtractor.py:266(_extract_ann_assign) + 6760 0.008 0.000 0.009 0.000 :309(__init__) + 8209 0.002 0.000 0.009 0.000 D:\Python312\Lib\json\encoder.py:414(_iterencode) + 1 0.000 0.000 0.009 0.009 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:1() + 114 0.008 0.000 0.008 0.000 {built-in method _thread.start_new_thread} + 22343 0.008 0.000 0.008 0.000 {built-in method builtins.next} + 1653 0.005 0.000 0.008 0.000 :96(_path_join) + 489 0.002 0.000 0.008 0.000 D:\Python312\Lib\re\_compiler.py:509(_compile_info) + 92502 0.008 0.000 0.008 0.000 {built-in method builtins.setattr} + 28659 0.008 0.000 0.008 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:137(__init__) + 1 0.000 0.000 0.008 0.008 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LlvmCodeGenerator.py:1() + 1 0.000 0.000 0.007 0.007 D:\Python312\Lib\multiprocessing\reduction.py:1() + 48 0.004 0.000 0.007 0.000 D:\Python312\Lib\subprocess.py:576(list2cmdline) + 1 0.001 0.001 0.007 0.007 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2200(_sort_include_files_by_deps) + 4 0.001 0.000 0.007 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:1479(_register_package_reexports) + 59 0.007 0.000 0.007 0.000 {built-in method _pickle.loads} + 34558 0.007 0.000 0.007 0.000 {method 'endswith' of 'str' objects} + 10310 0.003 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:20(_decay_array_to_ptr) +9609/7653 0.004 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:51(AnnotationContainsTType) + 1 0.000 0.000 0.007 0.007 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\__init__.py:1() + 2812 0.006 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:298(copy) + 1 0.000 0.000 0.007 0.007 D:\Python312\Lib\multiprocessing\connection.py:1() + 1305 0.001 0.000 0.007 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:207(_is_export_func) + 20044 0.004 0.000 0.007 0.000 D:\Python312\Lib\re\_parser.py:254(get) + 15940 0.007 0.000 0.007 0.000 {built-in method _winapi.LCMapStringEx} + 1 0.000 0.000 0.006 0.006 D:\Python312\Lib\socket.py:1() + 1 0.000 0.000 0.006 0.006 D:\Python312\Lib\shutil.py:1() + 1 0.001 0.001 0.006 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:212(topological_sort_files) + 1 0.000 0.000 0.006 0.006 D:\Python312\Lib\hashlib.py:1() + 90 0.000 0.000 0.006 0.000 D:\Python312\Lib\concurrent\futures\process.py:83(clear) + 8374 0.004 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:506(Get) +6143/2845 0.004 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:138(CheckAnnotationHasCInline) +9512/7482 0.004 0.000 0.006 0.000 D:\Python312\Lib\json\encoder.py:334(_iterencode_dict) + 37 0.006 0.000 0.006 0.000 {built-in method nt.listdir} + 23139 0.006 0.000 0.006 0.000 {built-in method builtins.max} + 46 0.001 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:190(success) + 1 0.000 0.000 0.006 0.006 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:87(_save_manifest) + 416/369 0.007 0.000 0.006 0.000 {built-in method _winapi.CloseHandle} + 1305 0.001 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:213(_check_annotation_for_export) + 32 0.000 0.000 0.006 0.000 D:\Python312\Lib\multiprocessing\reduction.py:58(dump) + 16 0.000 0.000 0.006 0.000 D:\Python312\Lib\dataclasses.py:1238(dataclass) + 16 0.000 0.000 0.006 0.000 D:\Python312\Lib\dataclasses.py:1255(wrap) + 18861 0.006 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:74(__init__) + 16 0.000 0.000 0.006 0.000 D:\Python312\Lib\dataclasses.py:921(_process_class) + 149 0.000 0.000 0.006 0.000 D:\Python312\Lib\multiprocessing\connection.py:252(poll) + 160 0.000 0.000 0.006 0.000 :1201(path_stats) + 7669 0.003 0.000 0.006 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1062(GetClassByName) + 670 0.001 0.000 0.005 0.000 :268(basename) + 115/55 0.001 0.000 0.005 0.000 D:\Python312\Lib\threading.py:952(start) + 1150 0.002 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:420(_InsertClassSymbol) + 102 0.001 0.000 0.005 0.000 D:\Python312\Lib\concurrent\futures\_base.py:537(set_result) + 149 0.001 0.000 0.005 0.000 D:\Python312\Lib\multiprocessing\connection.py:325(_poll) + 2082 0.003 0.000 0.005 0.000 {built-in method builtins.all} + 334 0.000 0.000 0.005 0.000 D:\Python312\Lib\re\__init__.py:226(compile) + 1187 0.001 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:158(_ctype_str_to_llvm) + 1034 0.002 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:457(_InsertTypedefSymbol) + 8222 0.005 0.000 0.005 0.000 {built-in method nt._path_normpath} + 3025/539 0.004 0.000 0.005 0.000 D:\Python312\Lib\re\_parser.py:174(getwidth) + 6328 0.003 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:169(__init__) + 16189 0.005 0.000 0.005 0.000 {method 'match' of 're.Pattern' objects} + 75 0.005 0.000 0.005 0.000 D:\Python312\Lib\copyreg.py:107(_slotnames) + 91 0.001 0.000 0.005 0.000 D:\Python312\Lib\concurrent\futures\process.py:380(add_call_item_to_queue) + 49519 0.005 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1034(_build) + 17086 0.003 0.000 0.005 0.000 D:\Python312\Lib\re\_parser.py:172(append) + 2812 0.004 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:187(copy) + 575 0.002 0.000 0.005 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolExtractor.py:121(_extract_class) + 337 0.005 0.000 0.005 0.000 {built-in method builtins.sorted} + 2388 0.001 0.000 0.005 0.000 D:\Python312\Lib\re\__init__.py:174(search) + 1 0.000 0.000 0.005 0.005 D:\Python312\Lib\pathlib.py:1() + 217 0.001 0.000 0.005 0.000 D:\Python312\Lib\threading.py:595(set) + 173 0.004 0.000 0.004 0.000 {built-in method _hashlib.openssl_sha1} + 571 0.001 0.000 0.004 0.000 D:\Python312\Lib\threading.py:373(notify) + 640 0.004 0.000 0.004 0.000 {built-in method builtins.print} + 1305 0.001 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Utils.py:43(_check_annotation_for_export) + 80 0.004 0.000 0.004 0.000 {built-in method nt.scandir} + 320 0.001 0.000 0.004 0.000 :481(cache_from_source) + 190 0.000 0.000 0.004 0.000 :416(__enter__) + 48/35 0.001 0.000 0.004 0.000 D:\Python312\Lib\subprocess.py:1335(_get_handles) + 765 0.001 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:217(_generate_global_decl) + 99 0.000 0.000 0.004 0.000 D:\Python312\Lib\json\__init__.py:274(load) + 319 0.000 0.000 0.004 0.000 D:\Python312\Lib\threading.py:403(notify_all) + 100 0.000 0.000 0.004 0.000 :60(getsize) + 115 0.001 0.000 0.004 0.000 D:\Python312\Lib\threading.py:861(__init__) + 1323 0.002 0.000 0.004 0.000 :754(encodekey) + 4156 0.003 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:246(__init__) + 59 0.000 0.000 0.004 0.000 D:\Python312\Lib\concurrent\futures\process.py:434(process_result_item) + 1 0.000 0.000 0.004 0.004 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesIf.py:1() + 182 0.000 0.000 0.004 0.000 :733(_init_module_attrs) + 234 0.001 0.000 0.004 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:797(_ShouldEmitOwnVtablePtr) + 118 0.001 0.000 0.004 0.000 D:\Python312\Lib\multiprocessing\connection.py:293(_recv_bytes) + 1 0.000 0.000 0.003 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Parser.py:1() + 112/95 0.003 0.000 0.003 0.000 {built-in method _winapi.CreatePipe} + 48/40 0.001 0.000 0.003 0.000 D:\Python312\Lib\subprocess.py:1282(_close_pipe_fds) + 5300 0.003 0.000 0.003 0.000 {method 'finditer' of 're.Pattern' objects} + 48 0.000 0.000 0.003 0.000 D:\Python312\Lib\dataclasses.py:449(_create_fn) + 1 0.000 0.000 0.003 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:1() +3708/2032 0.002 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:1295(_get_bitfield_width) + 1455 0.002 0.000 0.003 0.000 D:\Python312\Lib\re\_compiler.py:241(_optimize_charset) + 418 0.003 0.000 0.003 0.000 {built-in method _winapi.ReadFile} + 26909 0.003 0.000 0.003 0.000 {built-in method builtins.issubclass} + 20796 0.003 0.000 0.003 0.000 D:\Python312\Lib\re\_parser.py:233(__next) + 145 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:28(__init__) + 2981 0.002 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DiagnosticCollector.py:44(warn) + 810 0.002 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:573(_ConvertVariable) + 238 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:488(_from_node_subscript) + 328 0.000 0.000 0.003 0.000 :632(cached) + 265 0.000 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:551(Unparse) + 1 0.000 0.000 0.003 0.003 D:\Python312\Lib\json\__init__.py:1() + 1 0.000 0.000 0.003 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolExtractor.py:1() + 1 0.000 0.000 0.003 0.003 D:\Python312\Lib\urllib\parse.py:1() + 34669 0.003 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2636() + 168 0.000 0.000 0.003 0.000 :610(_get_cached) + 377 0.000 0.000 0.003 0.000 :1465(_path_importer_cache) + 2353 0.001 0.000 0.003 0.000 D:\Python312\Lib\re\_compiler.py:396(_simple) + 1 0.000 0.000 0.003 0.003 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:1() + 421 0.001 0.000 0.003 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:314(CreateFromTypeName) + 12195 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:94(__contains__) + 1 0.000 0.000 0.002 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\ExprParser.py:1() + 19440 0.002 0.000 0.002 0.000 {built-in method builtins.iter} + 215 0.001 0.000 0.002 0.000 :304(acquire) + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\logging\__init__.py:1() + 43 0.000 0.000 0.002 0.000 D:\Python312\Lib\concurrent\futures\thread.py:164(submit) + 8 0.000 0.000 0.002 0.000 :1294(exec_module) + 20 0.000 0.000 0.002 0.000 :1452(_path_hooks) + 8 0.002 0.000 0.002 0.000 {built-in method _imp.exec_dynamic} + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\queue.py:1() + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\concurrent\futures\process.py:622(__init__) + 145 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:33(configure_platform) + 1 0.000 0.000 0.002 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:1() + 265 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:21(Unparse) + 172 0.002 0.000 0.002 0.000 {method 'encode' of 'str' objects} + 59 0.001 0.000 0.002 0.000 D:\Python312\Lib\multiprocessing\connection.py:331(_get_more_data) + 49 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2331(_get_precompiled_obj_path) + 120 0.002 0.000 0.002 0.000 {built-in method _winapi.WriteFile} + 60 0.002 0.000 0.002 0.000 {built-in method nt._path_islink} + 517 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:53(_resolve_typedef) + 7984 0.002 0.000 0.002 0.000 {method 'extend' of 'list' objects} + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1() + 144/128 0.000 0.000 0.002 0.000 D:\Python312\Lib\subprocess.py:1414(_make_inheritable) + 1 0.000 0.000 0.002 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolData.py:1() + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\tempfile.py:1() + 43 0.000 0.000 0.002 0.000 D:\Python312\Lib\concurrent\futures\thread.py:183(_adjust_thread_count) + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:1() + 61 0.000 0.000 0.002 0.000 D:\Python312\Lib\concurrent\futures\process.py:79(wakeup) + 624 0.002 0.000 0.002 0.000 {method 'release' of '_thread.lock' objects} + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\bz2.py:1() + 330 0.000 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:88(_resolve_ctypedef_typedef) + 1 0.000 0.000 0.002 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:244(_ScanPyiFiles) + 177 0.002 0.000 0.002 0.000 {built-in method _winapi.PeekNamedPipe} + 270 0.000 0.000 0.002 0.000 :275(dirname) + 760 0.001 0.000 0.002 0.000 {built-in method builtins.any} + 1560 0.001 0.000 0.002 0.000 D:\Python312\Lib\threading.py:278(__enter__) + 7818 0.001 0.000 0.002 0.000 D:\Python312\Lib\re\_parser.py:160(__len__) + 673 0.002 0.000 0.002 0.000 {built-in method _thread.allocate_lock} + 268/265 0.002 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:277(_expr) + 978 0.001 0.000 0.002 0.000 D:\Python312\Lib\enum.py:1538(__and__) + 16 0.000 0.000 0.002 0.000 D:\Python312\Lib\dataclasses.py:568(_init_fn) + 59 0.000 0.000 0.002 0.000 D:\Python312\Lib\concurrent\futures\_base.py:81(add_result) + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\subprocess.py:1() + 2 0.002 0.001 0.002 0.001 {method 'write' of '_io.BufferedWriter' objects} + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\concurrent\futures\process.py:570(_check_system_limits) + 10205 0.002 0.000 0.002 0.000 {method 'group' of 're.Match' objects} + 269 0.002 0.000 0.002 0.000 {method 'cancel' of '_winapi.Overlapped' objects} + 1 0.000 0.000 0.002 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:1() + 1 0.000 0.000 0.002 0.002 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2037(_build_include_py_index) + 1464 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:162(__init__) + 1420 0.001 0.000 0.002 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:213(_resolve_define) + 10027 0.002 0.000 0.002 0.000 {method 'insert' of 'list' objects} + 215 0.001 0.000 0.002 0.000 :426(_get_module_lock) + 160 0.000 0.000 0.002 0.000 D:\Python312\Lib\threading.py:567(__init__) + 268 0.001 0.000 0.002 0.000 D:\Python312\Lib\threading.py:256(__init__) + 1 0.000 0.000 0.002 0.002 :1206(_cache_bytecode) + 6939 0.002 0.000 0.002 0.000 {method 'rstrip' of 'str' objects} + 1 0.000 0.000 0.002 0.002 D:\Python312\Lib\selectors.py:1() + 91 0.001 0.000 0.002 0.000 D:\Python312\Lib\multiprocessing\reduction.py:38(__init__) + 48/40 0.000 0.000 0.002 0.000 D:\Python312\Lib\contextlib.py:555(__exit__) + 150 0.001 0.000 0.001 0.000 D:\Python312\Lib\queue.py:154(get) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:1() + 20 0.000 0.000 0.001 0.000 :1640(_fill_cache) + 1560 0.001 0.000 0.001 0.000 D:\Python312\Lib\threading.py:281(__exit__) + 1455 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_compiler.py:214(_compile_charset) + 7249 0.001 0.000 0.001 0.000 {built-in method builtins.min} + 2389 0.001 0.000 0.001 0.000 {method 'search' of 're.Pattern' objects} + 3388 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:73(IsListAnnotation) + 6760 0.001 0.000 0.001 0.000 :260(__init__) + 1 0.000 0.000 0.001 0.001 :1211(set_data) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:1() + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\pickle.py:1() + 330 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:111(_resolve_typedef_from_value) + 1509 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:409(__init__) + 43 0.000 0.000 0.001 0.000 D:\Python312\Lib\concurrent\futures\_base.py:99(add_result) + 120 0.000 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\popen_spawn_win32.py:118(poll) + 15647 0.001 0.000 0.001 0.000 {built-in method builtins.ord} + 1 0.000 0.000 0.001 0.001 :195(_write_atomic) + 16 0.000 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\process.py:61(_cleanup) + 20 0.000 0.000 0.001 0.000 :64(__init__) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\concurrent\futures\__init__.py:1() + 215 0.000 0.000 0.001 0.000 :162(__enter__) + 255 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:484(_InsertModuleSymbol) + 168 0.000 0.000 0.001 0.000 :1584(_get_spec) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast_c\__init__.py:1() + 100 0.001 0.000 0.001 0.000 D:\Python312\Lib\json\encoder.py:205(iterencode) + 938 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:288(_is_marker_base) + 102 0.000 0.000 0.001 0.000 D:\Python312\Lib\concurrent\futures\_base.py:328(__init__) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\lzma.py:1() + 2482 0.001 0.000 0.001 0.000 {built-in method _json.encode_basestring} + 738 0.000 0.000 0.001 0.000 D:\Python312\Lib\threading.py:293(_is_owned) + 99 0.000 0.000 0.001 0.000 D:\Python312\Lib\json\__init__.py:299(loads) + 115 0.000 0.000 0.001 0.000 D:\Python312\Lib\threading.py:1022(_set_tstate_lock) + 64 0.000 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\connection.py:1143(reduce_pipe_connection) + 1244 0.001 0.000 0.001 0.000 :824(fsdecode) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\json\decoder.py:1() + 10908 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:210(IsPtr) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:37(save_sha1_map) + 1299 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:532(_get_first_docstring) + 539/534 0.001 0.000 0.001 0.000 {method 'GetOverlappedResult' of '_winapi.Overlapped' objects} + 6 0.000 0.000 0.001 0.000 D:\Python312\Lib\enum.py:902(_convert_) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\multiprocessing\popen_spawn_win32.py:1() + 1420 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:517(_eval_const_expr) + 1336 0.001 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\process.py:247(sentinel) + 120 0.000 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\popen_spawn_win32.py:102(wait) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:3206(_compile_include_sources) + 1657 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:365(_escape) + 321 0.000 0.000 0.001 0.000 :132(_path_split) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:1() + 8374 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:463(_build_map) + 29 0.001 0.000 0.001 0.000 {built-in method sys.getwindowsversion} + 59 0.000 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\queues.py:86(put) + 1117 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:254(_resolve_base_kind) + 5744 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:83(__getitem__) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Nodes.py:1() + 99 0.000 0.000 0.001 0.000 D:\Python312\Lib\json\decoder.py:332(decode) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DiagnosticCollector.py:1() + 197 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:846(_GetImportFromString) + 3004 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:286(tell) + 168 0.000 0.000 0.001 0.000 :801(spec_from_file_location) + 1334 0.001 0.000 0.001 0.000 :35(_get_bothseps) + 144/121 0.000 0.000 0.001 0.000 D:\Python312\Lib\contextlib.py:465(_exit_wrapper) + 4625 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:39(IsTModulePath) + 144 0.001 0.000 0.001 0.000 D:\Python312\Lib\contextlib.py:518(callback) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\argparse.py:1759(__init__) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\random.py:1() + 4247 0.001 0.000 0.001 0.000 {method 'isdigit' of 'str' objects} + 10330 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:28(IsTModule) + 20 0.000 0.000 0.001 0.000 :1681(path_hook_for_FileFinder) + 883 0.001 0.000 0.001 0.000 {built-in method _thread.get_ident} + 16 0.000 0.000 0.001 0.000 D:\Python312\Lib\dataclasses.py:661(_cmp_fn) + 45 0.000 0.000 0.001 0.000 D:\Python312\Lib\concurrent\futures\_base.py:155(_create_and_install_waiters) + 108 0.001 0.000 0.001 0.000 D:\Python312\Lib\functools.py:35(update_wrapper) + 215 0.000 0.000 0.001 0.000 :124(setdefault) + 100 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:350(FromTypeName) + 390 0.001 0.000 0.001 0.000 {method 'update' of 'dict' objects} + 1 0.001 0.001 0.001 0.001 {built-in method nt.replace} + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\ipaddress.py:1() + 172 0.001 0.000 0.001 0.000 {method 'hexdigest' of '_hashlib.HASH' objects} + 350 0.001 0.000 0.001 0.000 {method 'update' of 'set' objects} + 1323 0.001 0.000 0.001 0.000 :748(check_str) + 16 0.000 0.000 0.001 0.000 D:\Python312\Lib\dataclasses.py:627(_repr_fn) + 8756 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:125(BaseType) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\fnmatch.py:1() + 1312 0.001 0.000 0.001 0.000 {method '__exit__' of '_thread.lock' objects} + 131 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Nodes.py:311(_MakeNodeClass) + 7 0.000 0.000 0.001 0.000 D:\Python312\Lib\collections\__init__.py:355(namedtuple) + 1 0.001 0.001 0.001 0.001 D:\Python312\Lib\argparse.py:1() + 256/240 0.001 0.000 0.001 0.000 {built-in method _winapi.DuplicateHandle} + 115 0.000 0.000 0.001 0.000 D:\Python312\Lib\threading.py:1015(_set_ident) + 185 0.001 0.000 0.001 0.000 :232(__init__) + 5680 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:87(HasPosition) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:189(IRBuilder) + 48 0.001 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:100(__getstate__) + 988 0.000 0.000 0.001 0.000 D:\Python312\Lib\enum.py:709(__call__) + 1 0.000 0.000 0.001 0.001 :1165(exec_module) + 1 0.000 0.000 0.001 0.001 :763(_code_to_timestamp_pyc) + 1 0.000 0.000 0.001 0.001 :1() + 1452/727 0.001 0.000 0.001 0.000 D:\Python312\Lib\json\encoder.py:278(_iterencode_list) +1499/1459 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:38(eval_with_symtab) + 21 0.000 0.000 0.001 0.000 :164(_path_isdir) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\site-packages\llvmlite\__init__.py:1() + 64 0.000 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\reduction.py:106(__init__) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Config.py:1() + 6 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2992(_collect_inline_symbols) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\string.py:1() + 115 0.000 0.000 0.001 0.000 D:\Python312\Lib\concurrent\futures\_base.py:177(_yield_finished_futures) + 112 0.001 0.000 0.001 0.000 D:\Python312\Lib\threading.py:1085(_delete) + 5652 0.001 0.000 0.001 0.000 D:\Python312\Lib\re\_parser.py:249(match) + 99 0.001 0.000 0.001 0.000 D:\Python312\Lib\json\decoder.py:343(raw_decode) + 11 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:956(_specialize_member_types) + 1 0.001 0.001 0.001 0.001 {built-in method marshal.dumps} + 86 0.000 0.000 0.001 0.000 D:\Python312\Lib\dataclasses.py:760(_get_field) + 355/332 0.000 0.000 0.001 0.000 {built-in method __new__ of type object at 0x00007FFA51EE13D0} + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:1() + 190 0.000 0.000 0.001 0.000 :420(__exit__) + 160 0.000 0.000 0.001 0.000 :665(_classify_pyc) + 1 0.000 0.000 0.001 0.001 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1() + 102 0.000 0.000 0.001 0.000 D:\Python312\Lib\threading.py:447(acquire) + 656 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:281(__init__) + 16 0.000 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\spawn.py:83(get_command_line) + 571 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:303(__init__) + 1011 0.001 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:265(get_logger) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\logging\__init__.py:469(StrFormatStyle) + 13 0.000 0.000 0.001 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:159(wrap) + 629 0.001 0.000 0.001 0.000 :186(__init__) + 569 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:458(__init__) + 45 0.000 0.000 0.001 0.000 D:\Python312\Lib\concurrent\futures\_base.py:61(__init__) + 1 0.000 0.000 0.001 0.001 D:\Python312\Lib\string.py:69(__init_subclass__) + 215 0.000 0.000 0.001 0.000 :372(release) + 188 0.000 0.000 0.001 0.000 :185(_path_abspath) + 102 0.000 0.000 0.001 0.000 D:\Python312\Lib\concurrent\futures\_base.py:428(result) + 760 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:399(__init__) + 5 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2105(_scan_dir_for_libs) + 6 0.000 0.000 0.001 0.000 D:\Python312\Lib\enum.py:1679(convert_class) + 496/486 0.000 0.000 0.001 0.000 D:\Python312\Lib\re\_compiler.py:434(_get_literal_prefix) + 1326 0.001 0.000 0.001 0.000 {method 'upper' of 'str' objects} + 1173 0.000 0.000 0.001 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:398() + 48 0.000 0.000 0.001 0.000 D:\Python312\Lib\subprocess.py:1092(__exit__) + 9 0.000 0.000 0.001 0.000 D:\Python312\Lib\enum.py:515(__new__) + 150 0.000 0.000 0.001 0.000 D:\Python312\Lib\multiprocessing\queues.py:131(full) + 115 0.001 0.000 0.001 0.000 {built-in method _thread._set_sentinel} + 258 0.000 0.000 0.001 0.000 D:\Python312\Lib\dataclasses.py:701(_is_type) + 12 0.000 0.000 0.001 0.000 D:\Python312\Lib\argparse.py:1441(add_argument) + 59 0.000 0.000 0.001 0.000 D:\Python312\Lib\queue.py:122(put) + 188 0.000 0.000 0.001 0.000 :172(_path_isabs) + 7 0.000 0.000 0.001 0.000 {built-in method builtins.eval} + 3 0.000 0.000 0.001 0.000 D:\Python312\Lib\gettext.py:608(gettext) + 3 0.000 0.000 0.001 0.000 D:\Python312\Lib\gettext.py:570(dgettext) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\gettext.py:511(translation) + 572/550 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:124(eval_full) + 290 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:44() + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\spawn.py:160(get_preparation_data) + 489 0.000 0.000 0.000 0.000 {built-in method _sre.compile} + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\gettext.py:471(find) + 3025 0.000 0.000 0.000 0.000 {method 'is_dir' of 'nt.DirEntry' objects} + 80 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:81(_from_node_constant) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:436(PercentStyle) + 131 0.000 0.000 0.000 0.000 D:\Python312\Lib\_weakrefset.py:85(add) + 112 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1058(_stop) + 268 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:290(_acquire_restore) + 927 0.000 0.000 0.000 0.000 {method '__enter__' of '_thread.lock' objects} + 75 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:494(release) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:141(__exit__) + 312 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:439(GetCName) + 1716 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:805() + 255 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:20(__init__) + 587 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:222(_find_base_type) + 963 0.000 0.000 0.000 0.000 :134() + 97 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:816(_newname) + 226 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1463(current_thread) + 146 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:176(_resolve_type_expr) + 255 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolInserter.py:17(set_namespace) + 479 0.000 0.000 0.000 0.000 :84(_unpack_uint32) + 185 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\_distutils_hack\__init__.py:101(find_spec) + 32 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:350(__reduce__) + 498 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:224(__init__) + 3029 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:109(__init__) + 102 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:497(set_running_or_notify_cancel) + 2741 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:97(IsStorageClass) + 1607 0.000 0.000 0.000 0.000 {method 'find' of 'bytearray' objects} + 105 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:110(RLock) + 463 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:405(_generate_overlap_table) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\scanner.py:1() + 160 0.000 0.000 0.000 0.000 :698(_validate_timestamp_pyc) + 510 0.000 0.000 0.000 0.000 {method 'rsplit' of 'str' objects} + 1420 0.000 0.000 0.000 0.000 :2(__init__) + 185 0.000 0.000 0.000 0.000 :976(find_spec) + 1623 0.000 0.000 0.000 0.000 {method 'pop' of 'list' objects} + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:80(__init__) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:287(helper) + 25 0.000 0.000 0.000 0.000 :463(_lock_unlock_module) + 1404 0.000 0.000 0.000 0.000 {method '__exit__' of '_thread.RLock' objects} + 34 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:281(_resolve_bitor) + 102 0.000 0.000 0.000 0.000 {method '_is_owned' of '_thread.RLock' objects} + 50 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:94(closegroup) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:67(Load_project_config) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:1() + 59 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:207(recv_bytes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:1() + 149/137 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:96(resolve_typedef_value_type) + 2254 0.000 0.000 0.000 0.000 {method 'isupper' of 'str' objects} + 9 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\__init__.py:331(_compile_template) + 112 0.000 0.000 0.000 0.000 D:\Python312\Lib\_weakrefset.py:39(_remove) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:2262(_IPv6Constants) + 1368 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:99(_check_closed) + 110 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\__init__.py:164(match) + 28 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:2186(__init__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:534(Pipe) + 988 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1112(__new__) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:300(_args_from_interpreter_flags) + 64 0.000 0.000 0.000 0.000 {built-in method _winapi.OpenProcess} + 2355 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:168(__setitem__) + 48 0.000 0.000 0.000 0.000 {built-in method _winapi.GetExitCodeProcess} + 301 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:465(__init__) + 1197 0.000 0.000 0.000 0.000 {method 'rpartition' of 'str' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\signal.py:1() + 751 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:134(_check_closed) + 364 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:168(fileno) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\thread.py:126(__init__) + 589 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects} + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2612(_get_formatter) + 45 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:144(__init__) + 633 0.000 0.000 0.000 0.000 {method '__enter__' of '_thread.RLock' objects} + 978 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:568(isstring) + 9 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:989(parse_template) + 215 0.000 0.000 0.000 0.000 :74(__new__) + 83 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:257(_resolve_subscript) + 870 0.000 0.000 0.000 0.000 {built-in method _json.encode_basestring_ascii} + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:164(__init__) + 238 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:197(__get__) + 1764 0.000 0.000 0.000 0.000 :491(_verbose_message) + 1078 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:79(groups) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\encoder.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:57(__init__) + 45 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:147(__enter__) + 207 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:437(__init__) + 1212 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects} + 112 0.000 0.000 0.000 0.000 {built-in method msvcrt.open_osfhandle} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:3325(signature) + 290 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\encoder.py:224(floatstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:3067(from_callable) + 150 0.000 0.000 0.000 0.000 {method '_is_zero' of '_multiprocessing.SemLock' objects} + 255 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:154(register_namespace) + 1280 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:90(_colorize) + 297 0.000 0.000 0.000 0.000 :645(parent) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:1() + 172 0.000 0.000 0.000 0.000 :1122(find_spec) + 2/1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2463(_signature_from_callable) + 48 0.000 0.000 0.000 0.000 {built-in method _winapi.GetStdHandle} + 100 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\encoder.py:260(_make_iterencode) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1542(_IPv4Constants) + 23 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:249(__set_name__) + 18 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\util.py:186(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:69(__init__) + 185 0.000 0.000 0.000 0.000 :445(cb) + 118 0.000 0.000 0.000 0.000 {method 'getbuffer' of '_io.BytesIO' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\glob.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:60(Pipe) + 97 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1228(daemon) + 144 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:536(_push_exit_callback) + 489 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:946(fix_flags) + 19 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1475(__init__) + 185 0.000 0.000 0.000 0.000 {built-in method _imp.is_builtin} + 13 0.000 0.000 0.000 0.000 :105(__new__) + 1 0.000 0.000 0.000 0.000 {built-in method nt.rmdir} + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:104(__init__) + 1 0.000 0.000 0.000 0.000 {built-in method nt.open} + 269 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:287(_release_save) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1890(parse_args) + 713 0.000 0.000 0.000 0.000 :1220(__exit__) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\popen_spawn_win32.py:98(duplicate_for_child) + 13 0.000 0.000 0.000 0.000 :991(exec_module) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1897(parse_known_args) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\traceback.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:14(DeclarationGenerator) + 182 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:451(__init__) + 13 0.000 0.000 0.000 0.000 :983(create_module) + 20 0.000 0.000 0.000 0.000 :1563(__init__) + 341 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1213(daemon) + 54 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:606(clear) + 499 0.000 0.000 0.000 0.000 {built-in method from_bytes} + 31/27 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:322(_eval_arith) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\bisect.py:1() + 13 0.000 0.000 0.000 0.000 {built-in method _imp.exec_builtin} + 163 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:521(__init__) + 215 0.000 0.000 0.000 0.000 :82(remove) + 713 0.000 0.000 0.000 0.000 :1216(__enter__) + 33 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:383(__setitem__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1935(_parse_known_args) + 1296 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:102(IsTypeQualifier) + 258 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:316(_Constant) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:69(arbitrary_address) + 13 0.000 0.000 0.000 0.000 {built-in method _imp.create_builtin} + 215 0.000 0.000 0.000 0.000 :79(__init__) + 160 0.000 0.000 0.000 0.000 :642(_check_name_wrapper) + 14 0.000 0.000 0.000 0.000 D:\Python312\Lib\hashlib.py:126(__get_openssl_constructor) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1886(__init__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1359(__init__) + 331 0.000 0.000 0.000 0.000 :67(_relax_case) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:165(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1() + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:384(mktemp) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:37(__init__) + 34 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:834(_maintain_shutdown_locks) + 48 0.000 0.000 0.000 0.000 :117(__instancecheck__) + 115 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1333(_make_invoke_excepthook) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:132(__enter__) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:1423(_filter_handle_list) + 45 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:151(__exit__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shlex.py:1() + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:469(__init__) + 333 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:88(__setitem__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2368(_signature_from_function) + 102 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:65(add_result) + 215 0.000 0.000 0.000 0.000 :173(__exit__) + 79 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:183(__init__) + 108 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:906(_GetDecoratorString) + 60/59 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:729(_start_executor_manager_thread) + 110 0.000 0.000 0.000 0.000 {method 'copy' of 'dict' objects} + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2003(consume_optional) + 161 0.000 0.000 0.000 0.000 :48(_new_module) + 118 0.000 0.000 0.000 0.000 {method 'write' of '_io.BytesIO' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:84(_ConstOpMixin) + 1 0.000 0.000 0.000 0.000 :1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\TransPyC.py:34(__init__) + 39 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:55(try_eval_const_expr) + 1 0.000 0.000 0.000 0.000 {method 'write' of '_io.FileIO' objects} + 400 0.000 0.000 0.000 0.000 {built-in method _winapi.GetCurrentProcess} + 59 0.000 0.000 0.000 0.000 {method 'get_nowait' of '_queue.SimpleQueue' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:161(_start_thread) + 1 0.000 0.000 0.000 0.000 :622(_calc_mode) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:1() + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:1233(poll) + 30 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1282(__init__) + 1113 0.000 0.000 0.000 0.000 {built-in method _imp.acquire_lock} + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:1437(get_terminal_size) + 66 0.000 0.000 0.000 0.000 {built-in method nt.getcwd} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\__init__.py:2(_delvewheel_patch_1_12_0) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\datetime.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:1() + 208 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:366(get_spawning_popen) + 810 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:48(_ShouldExcludeVar) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\BaseTranslator.py:43(__init__) + 1113 0.000 0.000 0.000 0.000 {built-in method _imp.release_lock} + 115 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1019(_set_native_id) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:1() + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\reduction.py:71(duplicate) + 150 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:209(_qsize) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:250(_recursive_repr) + 43 0.000 0.000 0.000 0.000 :1() + 188 0.000 0.000 0.000 0.000 {built-in method nt._path_splitroot} + 112 0.000 0.000 0.000 0.000 {method 'discard' of 'set' objects} + 268 0.000 0.000 0.000 0.000 {method 'remove' of 'collections.deque' objects} + 5 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2729(__init__) + 48 0.000 0.000 0.000 0.000 {built-in method _abc._abc_instancecheck} + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\hashlib.py:82(__get_builtin_constructor) + 489 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:73(__init__) + 231 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:56(get) + 28 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1617(_ip_int_from_string) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2215(_match_argument) + 238 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1276(value) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\ExprGen.py:1() + 144 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:463(_create_cb_wrapper) + 20 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1183(_ip_int_from_string) + 297 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:1089() + 325 0.000 0.000 0.000 0.000 {method 'locked' of '_thread.lock' objects} + 264 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\struct.py:1() + 523 0.000 0.000 0.000 0.000 {method 'lower' of 'str' objects} + 172 0.000 0.000 0.000 0.000 {built-in method _imp.find_frozen} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:820(attr) + 17 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:175(get_annotations) + 41 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:442(_uniq) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:1120(__del__) + 304 0.000 0.000 0.000 0.000 {built-in method builtins.repr} + 114 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:833(__setattr__) + 89 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:204(__init__) + 88 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:274(__init__) + 409 0.000 0.000 0.000 0.000 {built-in method builtins.id} + 64 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:864(_set_new_attribute) + 435 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:45() + 101 0.000 0.000 0.000 0.000 {method 'format' of 'str' objects} + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:153(__next__) + 329 0.000 0.000 0.000 0.000 {method 'acquire' of '_thread.RLock' objects} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:1() + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:500(__prepare__) + 4 0.000 0.000 0.000 0.000 {built-in method nt.lstat} + 159 0.000 0.000 0.000 0.000 {built-in method _imp._fix_co_filename} + 118 0.000 0.000 0.000 0.000 {method 'remove' of 'set' objects} + 5 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1528(__or__) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:361(_text_encoding) + 307 0.000 0.000 0.000 0.000 {method 'get' of 'mappingproxy' objects} + 9 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:63(_eval_ctype_ctor_call) + 333 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:59(set) + 47 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:533(_split_addr_prefix) + 150 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:922(_GetExprString) + 14 0.000 0.000 0.000 0.000 :662(spec_from_loader) + 80 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:372(assert_spawning) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\heapq.py:1() + 21 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:384(_mk_bitmap) + 18 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:52(wrap) + 96 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:223(Detach) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:26(FuncMeta) + 50 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:82(opengroup) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:272(_LoadPyiCachePkl) + 225 0.000 0.000 0.000 0.000 D:\Python312\Lib\socket.py:79() + 31/27 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:61() + 228 0.000 0.000 0.000 0.000 D:\Python312\Lib\socket.py:94() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\transforms.py:1() + 62 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:267(__init__) + 226 0.000 0.000 0.000 0.000 D:\Python312\Lib\socket.py:84() + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\gettext.py:216(_expand_lang) + 32 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:369(set_spawning_popen) + 227 0.000 0.000 0.000 0.000 D:\Python312\Lib\socket.py:89() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:26(SymbolKind) + 90 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:457(is_shutting_down) + 519 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:426(_get_iscased) + 595 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:56(_ShouldExcludeMacro) + 59 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:213(_put) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:999(llvm) + 172 0.000 0.000 0.000 0.000 {built-in method fromkeys} + 63 0.000 0.000 0.000 0.000 {built-in method builtins.locals} + 4 0.000 0.000 0.000 0.000 {built-in method builtins.dir} + 323 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:580(is_set) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:57(__getstate__) + 80 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1209(_parse_octet) + 521 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:332(_get_llvm_primitive_map) + 215 0.000 0.000 0.000 0.000 {built-in method _weakref._remove_dead_weakref} + 140 0.000 0.000 0.000 0.000 {built-in method nt.getpid} + 102 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:337(_invoke_callbacks) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:405(Phase2Translator) + 1568 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:766() + 86 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:489(_field_init) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\util.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:1() + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:65(Lock) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:50(__init__) + 4 0.000 0.000 0.000 0.000 {method 'extend' of 'bytearray' objects} + 48 0.000 0.000 0.000 0.000 {built-in method sys.exc_info} + 86 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:404(field) + 18 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:30(wrap) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:110(SimpleQueue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\thread.py:1() + 10 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:518(decorating_function) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:1() + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:76(_exists) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\spawn.py:92() + 20 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:1005(addgroup) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\stub_generator.py:1() + 256 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:29(__init__) + 59 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:217(_get) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Tokenizer.py:1() + 3 0.000 0.000 0.000 0.000 {built-in method _winapi.CreateNamedPipe} + 68 0.000 0.000 0.000 0.000 {built-in method sys.audit} + 50 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:444(__init__) + 13 0.000 0.000 0.000 0.000 {built-in method _abc._abc_init} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:341(__init__) + 145 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:51(_MockGen) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1398(_missing_) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:168(__init__) + 144 0.000 0.000 0.000 0.000 {method 'pop' of 'collections.deque' objects} + 51 0.000 0.000 0.000 0.000 {method 'sort' of 'list' objects} + 31 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:190(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\_compat_pickle.py:1() + 14/10 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:205() + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\spawn.py:138(_check_not_importing_main) + 97 0.000 0.000 0.000 0.000 {built-in method _thread.daemon_threads_allowed} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\spawn.py:1() + 28 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1597(_make_netmask) + 255 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolReexporter.py:13(__init__) + 20 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:288(__init__) + 59 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:156(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:1() + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\random.py:126(__init__) + 185 0.000 0.000 0.000 0.000 :599(__init__) + 38 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\__init__.py:23() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:371(inner) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\_compression.py:1() + 267 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:138(_check_readable) + 99 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\encoder.py:105(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:14(ExprHandle) + 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} + 145 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:53(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:288(__init__) + 49 0.000 0.000 0.000 0.000 {built-in method builtins.sum} + 115 0.000 0.000 0.000 0.000 {built-in method _thread.get_native_id} + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:428(_fields_in_init_order) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\locale.py:381(normalize) + 255 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolExtractor.py:20(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1418(__init__) + 329 0.000 0.000 0.000 0.000 {method 'release' of '_thread.RLock' objects} + 255 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolInserter.py:13(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\context.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:55(Load_sha1_map) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:1491(_win_path_needs_curdir) + 29 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:176(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:671(_BaseNetwork) + 123 0.000 0.000 0.000 0.000 {method 'values' of 'dict' objects} + 48 0.000 0.000 0.000 0.000 {method 'count' of 'list' objects} + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:211(_eval_compile_time_call) + 12 0.000 0.000 0.000 0.000 {built-in method nt.get_terminal_size} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1023(_generic_class_getitem) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\random.py:135(seed) + 102 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:398(__get_result) + 211 0.000 0.000 0.000 0.000 {method 'partition' of 'str' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:594(_rmtree_islink) + 59 0.000 0.000 0.000 0.000 {method 'acquire' of '_multiprocessing.SemLock' objects} + 371 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:145(debug) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:142(rng) + 17 0.000 0.000 0.000 0.000 D:\Python312\Lib\weakref.py:427(__setitem__) + 3 0.000 0.000 0.000 0.000 {built-in method nt.access} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:73(resolve_paths) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:1() + 255 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolReexporter.py:17(set_namespace) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:69(wrap) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1870(_add_action) + 96 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1199(is_alive) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:827(shutdown) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:234(ident) + 25 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:305(_class_escape) + 75 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:79(_is_private) + 29 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:997(addliteral) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:78(_load_manifest) + 65 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:38(_is_descriptor) + 144 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:1239(_remaining_time) + 47 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:156(_split_optional_netmask) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:1() + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:357(__getstate__) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:193(__init__) + 60 0.000 0.000 0.000 0.000 {method 'reverse' of 'list' objects} + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1492(add_argument_group) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:260(contextmanager) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAnnAssign.py:1() + 24 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:576(__init__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:121(_make_name) + 130 0.000 0.000 0.000 0.000 {built-in method builtins.chr} + 265 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:15(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:2156(getLogger) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1691(_add_action) + 128 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:158(readable) + 520 0.000 0.000 0.000 0.000 {built-in method builtins.globals} + 64 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:857(_set_qualname) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:965(__init__) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1582(_get_optional_kwargs) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:1() + 19 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1157(_make_netmask) + 32 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:437(_tuple_str) + 52 0.000 0.000 0.000 0.000 {built-in method builtins.delattr} + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\random.py:454(choices) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:77(__init__) + 16 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:260(__init__) + 35 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:1313(_get_const_int) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:71(_reset) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:1() + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:290(_optim_args_from_interpreter_flags) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:1() + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:950(_get_mixins_) + 96 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:1311(_on_error_fd_closer) + 80 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\popen_spawn_win32.py:69() + 97 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:65(wraps) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\cProfile.py:1() + 60 0.000 0.000 0.000 0.000 {method 'put' of '_queue.SimpleQueue' objects} + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1669(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:1() + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\locale.py:347(_replace_encoding) + 1 0.000 0.000 0.000 0.000 :44(_get_exports_list) + 84 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:48(_is_dunder) + 3 0.000 0.000 0.000 0.000 {built-in method nt.cpu_count} + 14 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:344(_apply_binop) + 2 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:35(__getstate__) + 190 0.000 0.000 0.000 0.000 :412(__init__) + 168 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:683(_is_classvar) + 4 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:78(resolve) + 118 0.000 0.000 0.000 0.000 {method 'getbuffer' of '_winapi.Overlapped' objects} + 31 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1721(_parse_hextet) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:602(_format_args) + 10 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1388(_iter_member_by_def_) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1982(take_action) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolNode.py:1() + 13 0.000 0.000 0.000 0.000 :501(_requires_builtin_wrapper) + 120 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:142(_check_writable) + 96 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:1563(_internal_poll) + 32 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:94() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1377(getLogger) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:1() + 112 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:295(isclass) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1216(__init__) + 198 0.000 0.000 0.000 0.000 {method 'end' of 're.Match' objects} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DiagnosticCollector.py:21(DiagnosticLevel) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\AnnotationLoader.py:1() + 3 0.000 0.000 0.000 0.000 {function Random.seed at 0x000002AAD1203A60} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\ConstEval.py:1() + 3 0.000 0.000 0.000 0.000 {built-in method _winapi.NeedCurrentDirectoryForExePath} + 198 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:461() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:1() + 59 0.000 0.000 0.000 0.000 {method 'getvalue' of '_io.BytesIO' objects} + 168 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:691(_is_initvar) + 75 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:59(_is_sunder) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1502(_add_action) + 26 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:430(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprCall.py:29(ExprCallHandle) + 160 0.000 0.000 0.000 0.000 :1152(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:292(PurePath) + 23 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:465(_get_charset_prefix) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:3279(__str__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesWhile.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:1() + 215 0.000 0.000 0.000 0.000 :158(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:1() + 11 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\DeclarationGenerator.py:986(_llvm_type_size_str) + 34 0.000 0.000 0.000 0.000 {method 'difference_update' of 'set' objects} + 86 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:549(_init_param) + 2 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:411(_List) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:436(__init__) + 12 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:485(lookup_name) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\__future__.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAugAssign.py:1() + 15 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:486(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:749(Popen) + 145 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:479(__init__) + 30 0.000 0.000 0.000 0.000 D:\Python312\Lib\signal.py:9() + 25 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:474(_prefix_from_prefix_string) + 2 0.000 0.000 0.000 0.000 :121(__subclasscheck__) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:253(get_start_method) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\ExprParser.py:170(ExprParserMixin) + 3 0.000 0.000 0.000 0.000 :79(_pack_uint32) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:46(wrap) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:1() + 33 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:768(__delattr__) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:991(_find_data_type_) + 2 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:198(_ProfileWorker) + 160 0.000 0.000 0.000 0.000 :1569() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1276(IPv4Address) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:481(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2097(_signature_bound_method) + 239 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2299() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\PythonParser.py:1() + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\weakref.py:104(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTry.py:1() + 2 0.000 0.000 0.000 0.000 {built-in method _abc._abc_subclasscheck} + 42 0.000 0.000 0.000 0.000 D:\Python312\Lib\types.py:192(__init__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1018(_find_new_) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:1() + 80 0.000 0.000 0.000 0.000 {method '__exit__' of 'nt.ScandirIterator' objects} + 28 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:513(__init__) + 5 0.000 0.000 0.000 0.000 :87(isabs) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:1() + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1072(_generic_init_subclass) + 59 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:142(__init__) + 86 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:477(_field_assign) + 16 0.000 0.000 0.000 0.000 {method 'copy' of 'list' objects} + 86 0.000 0.000 0.000 0.000 {built-in method time.monotonic} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:825(Path) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:85(BoundedSemaphore) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprFormat.py:1() + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:277(__new__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:30(BaseContext) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:188(total_ordering) + 6 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:363(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:25(SymbolTable) + 68 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:31(_combine_flags) + 86 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:309(__init__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\encodings\__init__.py:43(normalize_encoding) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:399(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolInserter.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\__init__.py:18(_ir_layer_typed_pointers_enabled) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprLambda.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssert.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\Serializer.py:1() + 104 0.000 0.000 0.000 0.000 {method 'setdefault' of 'dict' objects} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesReturn.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolReexporter.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Converter.py:18(PythonToStubConverter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pickle.py:1129(_Unpickler) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesRaise.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeAnnotationResolver.py:16(TypeAnnotationResolver) + 160 0.000 0.000 0.000 0.000 :1177(get_filename) + 11 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:479(lru_cache) + 168 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:697(_is_kw_only) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:3015(__init__) + 128 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:163(writable) + 182 0.000 0.000 0.000 0.000 :653(has_location) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:1() + 5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:412() + 3 0.000 0.000 0.000 0.000 {built-in method _winapi.CreateFile} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesWith.py:1() + 160 0.000 0.000 0.000 0.000 :985(create_module) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Config.py:8(StubGenConfig) + 37 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1412(register) + 1 0.000 0.000 0.000 0.000 {built-in method _heapq.heapify} + 28 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1851(_split_scope_id) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:302(weakref_cb) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:151(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesDelete.py:1() + 1 0.000 0.000 0.000 0.000 :1114(add_dll_directory) + 3 0.000 0.000 0.000 0.000 :779(getenv) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\weakref.py:369(remove) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1293(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:669(SpooledTemporaryFile) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2816(__str__) + 3 0.000 0.000 0.000 0.000 {built-in method _winapi.ConnectNamedPipe} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:12(Unparser) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1616(_pop_action_class) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2489(_get_values) + 16 0.000 0.000 0.000 0.000 {method 'index' of 'list' objects} + 1 0.000 0.000 0.000 0.000 :110(register) + 16 0.000 0.000 0.000 0.000 :146(update_abstractmethods) + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_md5} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Parser.py:25(Parser) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:928(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:71(BaseProcess) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase1Generator.py:54(Phase1Generator) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\reduction.py:33(ForkingPickler) + 33 0.000 0.000 0.000 0.000 {built-in method sys.intern} + 10 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1378(_iter_member_by_value_) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:157(HelpFormatter) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:376(__init__) + 58 0.000 0.000 0.000 0.000 {method 'lstrip' of 'str' objects} + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:258(_collect_parameters) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:747(unwrap) + 16 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:116(_PatchAsPointer) + 5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:379(__init__) + 7 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1162(__setattr__) + 5 0.000 0.000 0.000 0.000 {built-in method time.time} + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:84(wrap) + 19 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:349(__set_name__) + 1 0.000 0.000 0.000 0.000 {built-in method _abc._abc_register} + 22 0.000 0.000 0.000 0.000 {method 'setter' of 'property' objects} + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_compiler.py:389(_bytes_to_codes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1123(__init__) + 38 0.000 0.000 0.000 0.000 {method '__contains__' of 'frozenset' objects} + 117 0.000 0.000 0.000 0.000 {method 'isascii' of 'str' objects} + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\contextlib.py:552(__enter__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:28(Queue) + 102 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:432() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:34(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2123(_signature_is_builtin) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:50(supports_color) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DecoratorPass.py:1() + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1359(_generate_next_value_) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1880(IPv6Address) + 5 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1006(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:61(CType) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\stub_generator.py:17(CTypeMapper) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1497(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\Config.py:1() + 1 0.000 0.000 0.000 0.000 {built-in method nt.urandom} + 12 0.000 0.000 0.000 0.000 {method 'fileno' of '_io.TextIOWrapper' objects} + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:940(_check_for_existing_members_) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:592(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:60(CTypeInfo) + 25 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1416(_registry_get) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:1089(__enter__) + 33 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:70(_is_internal_class) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2356(_get_nargs_pattern) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:26(__init__) + 48 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:259(_cleanup) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:46(SemLock) + 94 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:574(__int__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:325(Future) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:842(__init__) + 3 0.000 0.000 0.000 0.000 {built-in method _winapi.SetNamedPipeHandleState} + 2 0.000 0.000 0.000 0.000 :1087(__subclasshook__) + 102 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:1142() + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\thread.py:47(__init__) + 42 0.000 0.000 0.000 0.000 {method 'isidentifier' of 'str' objects} + 21 0.000 0.000 0.000 0.000 {method 'translate' of 'bytearray' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:35(Queue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\random.py:110(Random) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolNode.py:8(SymbolNode) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:152(_NetlocResultMixinBase) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:31(ConstEvaluator) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:213(authkey) + 1 0.000 0.000 0.000 0.000 {built-in method nt._add_dll_directory} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\fnmatch.py:74(translate) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\socket.py:664(SocketIO) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAsm.py:41(ExprAsmHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\TransPyC.py:31(TransPyC) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:948(__init__) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:267(getuntil) + 5 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:1460(formatannotation) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\stub_generator.py:182(CHeaderParser) + 165 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2319() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:651(cache) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:287(__new) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:115(wrap) + 31 0.000 0.000 0.000 0.000 {method 'issuperset' of 'frozenset' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pickle.py:401(_Pickler) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1171(_SubParsersAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:383(_IPAddressBase) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\socket.py:215(socket) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:114(PointerType) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1528(_register_atexit) + 35 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:37(current_process) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:3083(replace) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:470(CompletedProcess) + 25 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:431(_ip_int_from_prefix) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:114(_ConnectionBase) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1428(_fixupParents) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprBuiltin.py:15(ExprBuiltinHandle) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:844(TemporaryDirectory) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:18(BaseGenMixin) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\_weakrefset.py:37(__init__) + 3 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:530(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1577(_BaseV6) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\weakref.py:289(update) + 33 0.000 0.000 0.000 0.000 D:\Python312\Lib\collections\__init__.py:429() + 5 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:983(__init__) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:117(__init__) + 22 0.000 0.000 0.000 0.000 {method 'items' of 'mappingproxy' objects} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:72(Logger) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1117(StreamHandler) + 2 0.000 0.000 0.000 0.000 {built-in method maketrans} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1027(ArgumentAttributes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:850(Thread) + 25 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:415(_check_int_address) + 48 0.000 0.000 0.000 0.000 {built-in method builtins.callable} + 63 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\_distutils_hack\__init__.py:108() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\module.py:6(Module) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:581(BaseStructType) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Utils.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:892(_addHandlerRef) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFunctions.py:22(FunctionHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolData.py:11(ClassSymbolData) + 32 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\spawn.py:45(get_executable) + 1 0.000 0.000 0.000 0.000 {method 'isatty' of '_io.TextIOWrapper' objects} + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:258(getwhile) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1389(__mro_entries__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:450(validate) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1460(IPv4Network) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:595(format) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\spawn.py:36(set_executable) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\constants\config.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:20(ImportHandle) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:621(ProcessPoolExecutor) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:33(Asm) + 65 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1168(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\ConstEval.py:13(ConstEvalMixin) + 9 0.000 0.000 0.000 0.000 {built-in method _sre.template} + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\weakref.py:367(__init__) + 8 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1110(_is_dunder) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:646(ASM_DESCR) + 2 0.000 0.000 0.000 0.000 :104(_check_methods) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:586(_metavar_formatter) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:223() + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\signal.py:49(decorator) + 1 0.000 0.000 0.000 0.000 {built-in method math.sqrt} + 18 0.000 0.000 0.000 0.000 {built-in method builtins.vars} + 30 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:93(_is_single_bit) + 20 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:162(__delitem__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1878(LoggerAdapter) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesClassDef.py:18(ClassHandle) + 10 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:117(_iter_bits_lsb) + 86 0.000 0.000 0.000 0.000 D:\Python312\Lib\_compat_pickle.py:167() + 98 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:765() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTypeMerge.py:13(HandlesTypeMerge) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2084(consume_positionals) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAugAssign.py:12(AugAssignHandle) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\thread.py:46(_WorkItem) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:72(Exportable) + 36 0.000 0.000 0.000 0.000 {built-in method _sre.unicode_iscased} + 48 0.000 0.000 0.000 0.000 {built-in method math.floor} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\StubGen\Generator.py:18(StubGen) + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:189(name) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:229(_get_candidate_names) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolData.py:77(ModuleSymbols) + 8 0.000 0.000 0.000 0.000 :1275(__init__) + 42 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:925() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\ExprParser.py:41(TokenStream) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:883(FunctionAttributes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1128(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:2095(IPv6Interface) + 42 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:236(__set_name__) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1254(__reduce_ex__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\_bootstrap.py:75(_PatchPointerInitAndNew) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\decoder.py:284(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:135(wrap) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\lzma.py:38(LZMAFile) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1135(_BaseV4) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:303(ismethoddescriptor) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1620(_get_handler) + 51 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:45(__init__) + 48 0.000 0.000 0.000 0.000 {method 'random' of '_random.Random' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1152(__getattr__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:440(Constant) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\context.py:6(__init__) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:234(_acquireLock) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\traceback.py:377(StackSummary) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\selectors.py:80(BaseSelector) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprAttr.py:11(ExprAttrHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\StructGen.py:10(StructGenMixin) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTypeResolver.py:17(TypeResolver) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:370(Barrier) + 8 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:3345() + 12 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:465(_intify) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExpr.py:27(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:16(AssignHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:512(BaseHandle) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:886(_parse_flags) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1037() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1867(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\random.py:222(__init_subclass__) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1629(_check_conflict) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:126(CalledProcessError) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1577(_high_bit) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:269(IntType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:67(CallInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\popen_spawn_win32.py:38(Popen) + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_sha3_224} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\traceback.py:251(FrameSummary) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:295(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:203(reducer) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\thread.py:121(ThreadPoolExecutor) + 43 0.000 0.000 0.000 0.000 D:\Python312\Lib\_compat_pickle.py:165() + 40 0.000 0.000 0.000 0.000 {built-in method _sre.unicode_tolower} + 2 0.000 0.000 0.000 0.000 {built-in method sys.getrecursionlimit} + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:433() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\traceback.py:653(TracebackException) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1393(IPv4Interface) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:276(_ExecutorManagerThread) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolData.py:40(FuncSymbolData) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\utils\helpers.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:17(wrap) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:619(MetaDataArgument) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\bz2.py:26(BZ2File) + 4 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:19(_marker_base) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1482(Logger) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:297(checkgroupname) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:100(wrap) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:919(Handler) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:460() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1737(ArgumentParser) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1353(Manager) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:237(get_context) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesFor.py:26(ForHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\BaseTranslator.py:37(BaseTranslatorMixin) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:811(__members__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:969(_find_data_repr_) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:819(__getattr__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:379(_create_instance) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1023(CTypeRegistry) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:539(__init__) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:206(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:958(createLock) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:258(_PySimpleQueue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\cProfile.py:29(Profile) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2135(_signature_is_functionlike) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:531(ArrayType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:430(__new__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:211(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:239(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:220(Process) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:638(PipeListener) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:112(TypeSpec) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\LlvmGenerator.py:19(LlvmGeneratorMixin) + 2 0.000 0.000 0.000 0.000 {method 'tolist' of 'memoryview' objects} + 25 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:803() + 18 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:51(_binop) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\_compression.py:33(DecompressReader) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:507(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:324(TSpecialCallHandle) + 1 0.000 0.000 0.000 0.000 {method 'union' of 'set' objects} + 7 0.000 0.000 0.000 0.000 {built-in method sys._getframemodulename} + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:372(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2547(_get_value) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:548(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\FuncGen.py:12(FuncGenMixin) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:90(_make_methods) + 3 0.000 0.000 0.000 0.000 {method 'to_bytes' of 'int' objects} + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_sha384} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\string.py:57(Template) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:9(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:310(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:225(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:347(Connection) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:18(EnumInfo) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\TypeConvert.py:15(TypeConvertMixin) + 1 0.000 0.000 0.000 0.000 {method 'clear' of 'collections.deque' objects} + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\re\_parser.py:288(seek) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2005(_signature_get_user_defined_method) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:452(VectorType) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:601(State) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:197(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:232(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:453(BuiltinTypeMap) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesImports.py:42(__init__) + 2 0.000 0.000 0.000 0.000 {method 'values' of 'mappingproxy' objects} + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:3062() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Tokenizer.py:107(Tokenizer) + 2 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:316(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:132(_RandomNameSequence) + 13 0.000 0.000 0.000 0.000 :1008(is_package) + 1 0.000 0.000 0.000 0.000 :1097(_resolve_filename) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:799(__iter__) + 18 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:29(_binop) + 31 0.000 0.000 0.000 0.000 D:\Python312\Lib\signal.py:16() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:267(PipeConnection) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAnnAssign.py:29(AnnAssignHandle) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1663(_simple_enum) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:325(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:369(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:567(__init__) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:243(_releaseLock) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1358(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:649(Barrier) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:431(Listener) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:35(FunctionInfo) + 15 0.000 0.000 0.000 0.000 {method 'bit_length' of 'int' objects} + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1046() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:218(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:123(_RLock) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:361(_fix_result_transcoding) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\selectors.py:583(_can_use) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:54(StructInfo) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolTable.py:97(__len__) + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_shake_128} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:389(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:394(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:556(Event) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:190(_NetlocResultMixinStr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:68(_ThreadWakeup) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pickle.py:194(_Framer) + 7 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\reduction.py:43(register) + 8 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\util.py:48(debug) + 6 0.000 0.000 0.000 0.000 {built-in method _heapq.heappop} + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_sha512} + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_sha3_256} + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:767(_is_wrapper) + 5 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2253(_parse_optional) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:253(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:514(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:591(__init__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1000(__call__) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:208(_checkLevel) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:1414(PosixPath) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:578(SocketListener) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:820() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:416(_TemporaryFileCloser) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:339(SimpleQueue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\tempfile.py:459(_TemporaryFileWrapper) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shlex.py:19(shlex) + 1 0.000 0.000 0.000 0.000 {built-in method _stat.S_ISLNK} + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_sha224} + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_sha3_384} + 10 0.000 0.000 0.000 0.000 D:\Python312\Lib\__future__.py:83(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:935(Function) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:12(Instruction) + 13 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:158(_castop) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:372(CRegister) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:374(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:423(__init__) + 2 0.000 0.000 0.000 0.000 {built-in method math.log} + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_sha256} + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_sha3_512} + 23 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:246(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:15(Type) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:530(NamedValue) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:14(Colors) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\transforms.py:4(Visitor) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:384(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:404(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:598(__init__) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:811(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:96(_FirstCompletedWaiter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:230(DefaultContext) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\MemoryOps.py:5(MemoryOpsMixin) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolData.py:23(TypedefSymbolData) + 7 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:1395() + 16 0.000 0.000 0.000 0.000 D:\Python312\Lib\dataclasses.py:879(_hash_set_none) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:394(FCMPInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:855(AttributeSet) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:472(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:479(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:493(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:519(CBool) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:581(CDefine) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\traceback.py:630(_ExceptionPrintContext) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:286(LogRecord) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:727(BufferingFormatter) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:424(CTypeHelper) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:11(ExprUtils) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolExtractor.py:17(ASTSymbolExtractor) + 1 0.000 0.000 0.000 0.000 :1152(create_module) + 1 0.000 0.000 0.000 0.000 {built-in method _hashlib.openssl_shake_256} + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:73(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1149(Block) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Nodes.py:20(AST) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:8(NameScope) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:855(LandingPadInstr) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:167(CInt) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:416(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1357(_ActionsContainer) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:191(_WildcardSelector) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:563(_BaseAddress) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssign.py:17(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMTypeMapper.py:26(LLVMTypeMapper) + 1 0.000 0.000 0.000 0.000 {built-in method math.exp} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\string.py:188(Formatter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:622(ExtractElement) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:281(SwitchInstr) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:181(CLong) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:500(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:546(Formatter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:244(Condition) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:263(_PathParents) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:197(get_start_method) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\util.py:182(Finalize) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\VaArg.py:6(VaArgMixin) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1226(__eq__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\transforms.py:45(ReplaceCalls) + 12 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:68(_castop) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:498(CChar8T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:528(CPtr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1709(_MutuallyExclusiveGroup) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:163(TimeoutExpired) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\selectors.py:290(SelectSelector) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:332(SpawnProcess) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\ConstEvaluator.py:473(EvalContext) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolInserter.py:10(SymbolInserter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\_version.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:159(_TypedPointerType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:54(CallInstrAttributes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\decoder.py:254(JSONDecoder) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:981(_StoreConstAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\reduction.py:251(AbstractReducer) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:163(_SafeQueue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\random.py:847(SystemRandom) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:10(EnumMember) + 2 0.000 0.000 0.000 0.000 {built-in method atexit.register} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\__future__.py:81(_Feature) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:203(VoidType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:368(_BaseFloatType) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:370(__new__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:300(CStruct) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:397(CExport) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:251(CUnsigned) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\encoder.py:74(JSONEncoder) + 8 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Unparser.py:313(_Name) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2237(_match_arguments_partial) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2967(_precollect_inline_symbols) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:828(_Quoter) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesIf.py:11(IfHandle) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\util.py:108(_platform_supports_abstract_sockets) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\ExprGen.py:8(ExprGenMixin) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Config.py:27(get_sha1_map_store) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:11(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:316(AsmInp) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\functools.py:970(__set_name__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:517(isbuiltin) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:657(MDValue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:315(SelectInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:660(ShuffleVector) + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:45(_binop_with_overflow) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:257(IndirectBranch) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:377(ICMPInstr) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\vast\Tokenizer.py:66(Token) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:570(CArray) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\_compression.py:9(BaseStream) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\stub_generator.py:569(PythonStubGenerator) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:192(STARTUPINFO) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:206(_init) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\PythonParser.py:15(PythonParserMixin) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesSpecialCall.py:15(CSpecialCallHandle) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:217(Condition) + 2 0.000 0.000 0.000 0.000 {method 'cast' of 'memoryview' objects} + 1 0.000 0.000 0.000 0.000 {method 'index' of 'tuple' objects} + 3 0.000 0.000 0.000 0.000 {method 'index' of 'str' objects} + 14 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2794(kind) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:225(FunctionType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:586(MetaDataString) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:225(Ret) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:533(CNeedPtr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:503(StringTemplateStyle) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:174(_TerminatingSelector) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:180(_ParentSelector) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1373(disable) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pickle.py:257(_Unframer) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:569(Executor) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:364(_ParentProcess) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\TypeSpec.py:214(SymbolMeta) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprOps.py:11(ExprOpsHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprLambda.py:11(ExprLambdaHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DiagnosticCollector.py:26(Diagnostic) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolReexporter.py:10(PackageReexporter) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Translator\AnnotationLoader.py:19(AnnotationLoaderMixin) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:340(Load) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:403(Set) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:636(LInp) + 1 0.000 0.000 0.000 0.000 {method 'clear' of 'dict' objects} + 1 0.000 0.000 0.000 0.000 {built-in method _imp.get_frozen_object} + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:371(isfunction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:942(_is_typevar_like) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:361(_CTypedef) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:161(CChar) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:209(CFloat8T) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:889(BooleanOptionalAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:443(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:151(_Selector) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:223(_RecursiveWildcardSelector) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:215(Handle) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:74(_AsCompletedWaiter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:223(PriorityQueue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\selectors.py:341(_PollLikeSelector) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBase.py:36(_Delegated) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprFormat.py:12(ExprFormatHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesBody.py:10(BodyHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesTry.py:10(TryHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:355(Addr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:130(Semaphore) + 1 0.000 0.000 0.000 0.000 :1098(__init__) + 3 0.000 0.000 0.000 0.000 {built-in method _heapq.heappush} + 6 0.000 0.000 0.000 0.000 D:\Python312\Lib\enum.py:178(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:166(_type_convert) + 9 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2782(name) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\context.py:5(Context) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:62(FastMathFlags) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:387(CConst) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:542(CAutoPtr) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:174(CShort) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:202(CDouble) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:244(CVoid) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:321(REnum) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:512(CChar32T) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\traceback.py:90(_Sentinel) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1882(_get_positional_actions) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1317(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1202(FileHandler) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1287(_StderrHandler) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:2292(NullHandler) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:323(DefragResult) + 5 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Projectrans\Phase2Translator.py:2310() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:141(_WorkItem) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:126(_ExceptionWithTraceback) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:233(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:111(_AllCompletedWaiter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\selectors.py:206(_BaseSelectorImpl) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:242(LifoQueue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\selectors.py:60(_SelectorMapping) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:952(ConnectionWrapper) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesExprUtils.py:12(__init__) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:27(FunctionParam) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolData.py:57(DefineSymbolData) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:387(DerefAs) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:463(CIfndef) + 4 0.000 0.000 0.000 0.000 {built-in method _sre.ascii_tolower} + 2 0.000 0.000 0.000 0.000 {method 'pop' of 'set' objects} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:90(MetaDataType) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\typing.py:1220() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:713(DIValue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:391(HalfType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1203(BlockAddress) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:307(CUnion) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:313(CEnum) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:377(CStatic) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:392(CInline) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:188(CLongLong) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:195(CFloat) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:223(CFloat32T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:367(CAuto) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:407(CSizeT) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:414(CInt8T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:618(BigEndian) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:565(CArrayPtr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:977(__call__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1667(_ArgumentGroup) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:511(BoundedSemaphore) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:136(_ResultMixinStr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1437(_DummyThread) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:144(_ResultMixinBytes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:2170(IPv6Network) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\signal.py:48(_wraps) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:120(_RemoteTraceback) + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:187(get_context) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\reduction.py:104(DupHandle) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\util.py:368(ForkAwareThreadLock) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesReturn.py:21(ReturnHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesMatch.py:10(MatchHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesWith.py:10(WithHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesAssert.py:9(AssertHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LLVMCG\BaseGen.py:11(VaArgInstruction) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DiagnosticCollector.py:38(DiagnosticCollector) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:45(StructMember) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Exportable.py:63(TypedefInfo) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:324(AsmOut) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:371(Deref) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:442(CDefine) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:489(CError) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:507(TokenPast) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:617(LLVMIR) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:650(LOut) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\Config.py:6(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:328(Event) + 4 0.000 0.000 0.000 0.000 {built-in method _sre.ascii_iscased} + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:656(LiteralStructType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:781(AtomicRMW) + 3 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:83(_uniop_intrinsic_int) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:684(IdentifiedStructType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:344(CompareInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:875(Fence) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:65(LogLevel) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:382(CExtern) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:402(CVolatile) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:551(CTypeDefault) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:216(CFloat16T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:230(CFloat64T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:237(CFloat128T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:265(CUnsignedInt) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:279(CUnsignedLong) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:421(CInt16T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:428(CInt32T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolUtils.py:103(ListAnnotationParseResult) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:791(Action) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:596(CPass) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\json\decoder.py:20(JSONDecodeError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:109(_AttributeHolder) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:806(Filterer) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:424(Semaphore) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:802(PurePosixPath) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:812(PureWindowsPath) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:220(_NetlocResultMixinBytes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\queues.py:296(JoinableQueue) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesWhile.py:9(WhileHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesRaise.py:11(RaiseHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\SymbolData.py:68(AnonymousTypeData) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\translator.py:19(Translator) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:476(CIfdef) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:545(CIf) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:559(CElif) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:595(CUndef) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:664(CPragma) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\Serializer.py:45(SymbolFile) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\Shell\Config.py:4(Config) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\DiagnosticCollector.py:41(__init__) + 4 0.000 0.000 0.000 0.000 :7(abstractmethod) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:4(DuplicatedNameError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:778(GlobalValue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:793(GlobalVariable) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1107(_BaseArgument) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:179(InvokeInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:511(StoreAtomicInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:531(AllocaInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:758(InlineAsm) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:803(CmpXchg) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:846(FilterClause) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:437(_Repeat) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:36(_StrCaching) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:258(CUnsignedChar) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:272(CUnsignedShort) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:286(CUnsignedLongLong) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:293(CSignedChar) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:442(CUInt8T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:449(CUInt16T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:456(CUInt32T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:463(CUInt64T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:470(CIntPtrT) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:477(CUIntPtrT) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:484(CPtrDiffT) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:491(CWCharT) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:728(MetavarTypeHelpFormatter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:204(_Section) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1126(_HelpAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1145(_VersionAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1282(FileType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1337(Namespace) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:946(_StoreAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1038(_AppendAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1861(RootLogger) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:241(_DoubleRecursiveWildcardSelector) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:350(SplitResultBytes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:59(_Waiter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:45(Error) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\queue.py:23(Full) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:349(AuthenticationString) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\socket.py:212(_GiveupOnSendfile) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\connection.py:974(XmlListener) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\Handles\HandlesDelete.py:10(DeleteHandle) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\LlvmCodeGenerator.py:25(LlvmCodeGenerator) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:573(CElse) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:584(CEndif) + 4 0.000 0.000 0.000 0.000 {method '__init_subclass__' of 'object' objects} + 4 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:2786(default) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:695(_use_posix_spawn) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\_version.py:9(get_versions) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:405(FloatType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:514(FormattedConstant) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:200(Terminator) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:418(CastInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:462(StoreInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:483(LoadAtomicInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:550(GEPInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:749(Unreachable) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:908(Comment) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:62(_HasMetadata) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:417(Value) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:426(_Undefined) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:642(NamedMetaData) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:114(_uniop_intrinsic_with_flag) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:596(PhiInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:213(PredictableInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\transforms.py:36(CallVisitor) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:435(CInt64T) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:610(Postdefinition) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:632(LittleEndian) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:505(CChar16T) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1173(_ChoicesPseudoAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:762(ArgumentError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:67(Error) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1004(_StoreTrueAction) + 1 0.000 0.000 0.000 0.000 :1(__create_fn__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:769(Filter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:1311(PlaceHolder) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1416(_MainThread) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:1386(Timer) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pathlib.py:1426(WindowsPath) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:20(AddressValueError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:24(NetmaskValueError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\ipaddress.py:1127(_BaseConstants) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:331(SplitResult) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:342(DefragResultBytes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:141(_AcquireFutures) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pickle.py:73(PickleError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:49(CancelledError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:148(_ResultItem) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:344(SpawnContext) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\process.py:397(_MainProcess) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\util.py:385(ForkAwareLocal) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\utils\__init__.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:419(CReturn) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:714(Attribute) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\popen_spawn_win32.py:22(_path_eq) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:149(BoundedSemaphore) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:166(Lock) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\synchronize.py:191(RLock) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:3075(parameters) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:105(LabelType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:419(DoubleType) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:432(LoadInstr) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:639(InsertElement) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:692(ExtractValue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:719(InsertValue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\types.py:513(Aggregate) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\_utils.py:52(_StringReferenceCaching) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:701(DIToken) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1122(Argument) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\values.py:1136(ReturnValue) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:134(_triop_intrinsic) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:831(_LandingPadClause) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:249(Branch) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:253(ConditionalBranch) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\__init__.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\core\VLogger.py:272(set_logger) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\constants\__init__.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\__init__.py:1() + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:614(Bit) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1008(nobuiltin) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1009(nounwind) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1018(writeonly) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1271(_ExtendAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:677(RawDescriptionHelpFormatter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:699(ArgumentDefaultsHelpFormatter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:70(SameFileError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:73(SpecialFileError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:83(RegistryError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:87(_GiveupOnFastCopy) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1021(_StoreFalseAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1103(_CountAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:2572(_check_value) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1076(_AppendConstAction) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:336(ParseResult) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\parse.py:355(ParseResultBytes) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\subprocess.py:123(SubprocessError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pickle.py:77(PicklingError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:55(InvalidStateError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:643(__enter__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\_base.py:651(BrokenExecutor) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:614(BrokenProcessPool) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pickle.py:97(_Stop) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:14(ProcessError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:20(TimeoutError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:23(AuthenticationError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\thread.py:115(BrokenThreadPool) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\reduction.py:211(_C) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:332(NoBreak) + 2 0.000 0.000 0.000 0.000 D:\Python312\Lib\inspect.py:3079(return_annotation) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:16(_unop) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\builder.py:99(_uniop_intrinsic_float) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:311(Resume) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\site-packages\llvmlite\ir\instructions.py:842(CatchClause) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1010(noredzone) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1013(optnone) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1014(noinline) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1015(alwaysinline) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1016(readnone) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1017(readonly) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1019(inaccessiblememonly) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1020(inaccessiblemem_or_argmemonly) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:688(RawTextHelpFormatter) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:77(ExecError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\shutil.py:80(ReadError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:782(ArgumentTypeError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1799(identity) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\logging\__init__.py:254(_register_at_fork_reinit_lock) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\threading.py:810(BrokenBarrierError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\argparse.py:1344(__init__) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\urllib\__init__.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\pickle.py:84(UnpicklingError) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\__init__.py:1() + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\concurrent\futures\process.py:155(_CallItem) + 1 0.000 0.000 0.000 0.000 D:\Python312\Lib\multiprocessing\context.py:17(BufferTooShort) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\c.py:336(Break) + 113/0 0.002 0.000 0.000 D:\Python312\Lib\threading.py:1035(_bootstrap_inner) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1011(willreturn) + 1 0.000 0.000 0.000 0.000 D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py:1012(mustprogress) + 113/0 0.024 0.000 0.000 D:\Python312\Lib\threading.py:995(_bootstrap) + 112/0 0.003 0.000 0.000 D:\Python312\Lib\threading.py:978(run) + + diff --git a/debug-llvmtype-overwrite-crash.md b/debug-llvmtype-overwrite-crash.md new file mode 100644 index 0000000..ff367d7 --- /dev/null +++ b/debug-llvmtype-overwrite-crash.md @@ -0,0 +1,28 @@ +# Debug Session: llvmtype-overwrite-crash + +状态: [OPEN] + +## 症状 +- 编译 TransPyV(Projectrans.py)时,CallGenMixin.vp 的 `.ll`(7dcdb461407a420d.ll)在 `_inject_requires_fields` 的 `cur_func` 处理区域**确定性截断**: + - 第 1 次:L33698 `%100 = bitcast i8* null t`(缺 `to `,目标类型打印为垃圾 `t`) + - 第 2 次:L33697 `store %"43ebf8d8c9837267.Function"* %98, %"43ebf8d`(类型名截断 + 文件尾) +- llc 报:`expected 'to' after cast value` / `end of file in global variable name` +- 两次崩溃位置相同(`cur_func: llvmlite.Function | t.CPtr = trans._cur_func` 声明 + `if cur_func is None: return 0` 检查区域),现象略变 → 内存破坏 + +## 关键源码 +- 触发源码:`TransPyV/App/lib/core/Gen/CallGenMixin.vp` L4187-4189 +- 生成崩溃 IR 的代码:`TransPyV/App/lib/core/Gen/ExprGenMixin.vp` L1993(None 检查指针对齐 bitcast) +- 联合类型变量声明:`TransPyV/App/lib/core/Handles/HandlesAnnAssign.vp` L633-677(translate_value + coerce_to_type + precise_rhs_ty 重建 alloca) +- IR 指令生成:`includes/llvmlite/__builder.vp` build_store/build_bitcast/_type_str +- 类型打印:`includes/llvmlite/__types.vp` TypePrint + +## 假设(3-5 个,可证伪) +- H1: 联合类型 coerce(%97/%98 冗余同类型 bitcast)生成路径越界写,破坏后续类型对象/行缓冲 +- H2: HandlesAnnAssign 的 precise_rhs_ty alloca 重建逻辑(L658-668)写越界(新建 alloca 或符号表更新破坏内存) +- H3: _type_str 的 alloc(512) 与 TypePrint 内部 alloc(256)(Ptr(Struct) 快速路径 sn_cp)在 MemBuddy buddy 碎片下重叠 +- H4: 跨遍 reset_to 回收了函数翻译中创建的 LLVMType 类型对象(perm_pool 同类问题,类型对象未持久化) +- H5: 后续指令生成(icmp/br 或 dump_ir 写盘)在 cur_func 检查后崩溃(非 bitcast 本身) + +## 插桩计划(第一处改动必须是插桩) +- 待用户确认配合运行编译后实施 +- 观察点:build_bitcast/build_store 前打印 ty 地址 + TypePrint 结果;HandlesAnnAssign coerce 前后;dump_ir 写盘前缓冲大小 diff --git a/debug-phase1-scan-crash.md b/debug-phase1-scan-crash.md new file mode 100644 index 0000000..c6820f2 --- /dev/null +++ b/debug-phase1-scan-crash.md @@ -0,0 +1,39 @@ +# Debug Session: phase1-scan-crash + +状态: [OPEN] + +## 症状 +- TPV(asan 构建,9:27 重建,含 50bd1f5/b1d4d3a)编译项目时,Phase1 includes 扫描完成 + (`扫描: _dict/_fakeduck/_list/_variant/_withcontent.vp` 等最后输出)后崩溃 +- 崩溃无 ASAN 堆栈(exe 确认插桩 22611 处、链接 asan 库正常) +- H1(CTypedef 垃圾串)与 M3(builtins 1 字节越界)修复后依然崩溃 + +## 时间线 +- 08:50 asan 构建(含 BuildCombinedIR 并行) +- 09:14 50bd1f5 CTypedef 垃圾串修复 +- 09:23 b1d4d3a M3 越界修复 +- 09:27 重建 exe(含两修复)→ 仍崩 + +## 假设(可证伪) +- A. M6 泛型跨遍悬空:`_list[T]`/`_dict` 泛型模板预注册/特化时节点字段引用主池, + 被 mark/reset 回收后读悬空 → 池内访问 ASAN 不报 +- B. H2/H3 1MB IR 截断:新文件(_dict/_list 泛型特化)stub.ll/text.ll 超 1MB + PHASE1_IR_SIZE 被静默截断 → 合并畸形 → 崩溃 +- C. M4 vpi 返回注解缓存 realloc 后旧指针悬空 → strcmp/strlen 读野(跨模块首次缓存窗口) +- D. Phase1 哨兵检查 / VLogger.error → exit(1) 无 ASAN(需确认崩溃前是否有 ERROR 输出) +- E. 固定宽槽 strcpy 越界:PopulateSha1MapStore 的 MAX_REL_PATH_LEN/MAX_DEPS_STR_LEN + 等固定宽槽 + 新文件长路径/长依赖 → 越界写(池内无 ASAN) + +## 插桩点(一次覆盖全部假设) +1. Phase1Main 1a-pre 循环:`[DBG-P1] 1a-pre: {rel_path}`(每文件,L147) +2. Phase1Main 1b 翻译前:`[DBG-P1] 1b 翻译: {file_path}`(L825) +3. Phase1Main stub dump 后:`[DBG-P1] stub_len={n} {file_path}`(L880) +4. Phase1Main text dump 后:`[DBG-P1] text_len={n} {file_path}`(L911) +5. StubMergerStore.PopulateSha1MapStore:`[DBG-P1] store_count={n} scan_count={n}`(L135) + +## 插桩提交 +- b133342 debug(phase1): 插桩 1a-pre/1b 翻译/stub 长度,定位扫描后无 ASAN 崩溃点 +- 待用户重建(--clean --rebuild-includes --clear-cache --asan)复现,贴崩溃前最后 50 行 + +## 结论 +(待用户重建复现后填写) diff --git a/debug-reexport-strcmp-crash.md b/debug-reexport-strcmp-crash.md new file mode 100644 index 0000000..aece09a --- /dev/null +++ b/debug-reexport-strcmp-crash.md @@ -0,0 +1,46 @@ +# Debug Session: reexport-strcmp-crash +- **Status**: [OPEN] +- **Issue**: TPV 编译时概率崩溃,`ImportsGenMixin.lookup_reexport` 内 `strcmp` 读取垃圾指针 0x12e200000001(READ access-violation) +- **Debug Server**: 无(原生编译器,用 stderr 捕获) +- **Log File**: 1.log / 用户运行输出 + +## Reproduction Steps +1. 用 `TransPyV/output/TransPyV.exe`(ASan 版)编译 TPV 或某个多文件项目 +2. 多次运行,约 1/N 概率在 `lookup_reexport` 的 strcmp 崩溃 +3. 崩溃栈:AnnAssignHandle → translate_value → translate_call → lookup_reexport → strcmp + (for 循环体内 AnnAssign 的值表达式是跨模块调用) + +## Hypotheses & Verification +| ID | Hypothesis | Likelihood | Effort | Evidence | +|----|------------|------------|--------|----------| +| A | `self`(ImportsGenMixin 子对象)经 MRO this-adjust 错位 → 读 ReexportSha1s/Count 得到垃圾 | High | Low | Pending | +| B | perm_pool 中 reexport 表被其他分配越界写覆盖(表指针有效但内容被污染) | Med | Low | Pending | +| C | Generator 对象(mb)字段被越界写污染(ReexportCount 变垃圾) | Med | Low | Pending | +| D | `mod_sha1` / `func_name` 参数悬空(AST/SHA1 store 被回收) | Low | Low | Pending | +| E | register_reexport 用悬空源串写入表 → 表内复制了垃圾 | Low | Low | Pending | + +## Log Evidence +(待插桩后收集) + +### 插桩点(2026-08-19 已加,未提交,验证后移除) +- `ImportsGenMixin.vp` `lookup_reexport`: + - `[DBG-RE1]` 入口:self/count/sha1s/funcs/srcs/mod_sha1/func_name(表非空时每次调用打印) + - ~~`[DBG-RE2]` 循环内每次 strcmp 前状态~~(已按用户要求移除) +- `CallGenCall.vp` `_translate_method_call` this-adjust: + - `[DBG-ADJ1]` class/anc/obj + - `[DBG-ADJ2]` find_struct(anc) 结果 + FieldCount + - `[DBG-ADJ3]` first_field/anc_off/sub_off/delta + +### 复现操作 +1. 清缓存 + Phase A 重建(含插桩的 TransPyV) +2. 反复运行编译目标项目(崩溃概率 1/N),捕获 stdout/stderr 到文件 +3. 崩溃前最后几条 `[DBG-*]` 行即关键证据 + +## Verification Conclusion +(待定) + +### 插桩已全部移除(2026-08-19 用户要求) +- [DBG-RE1/RE2](ImportsGenMixin.vp)已删,文件恢复 HEAD +- [DBG-ADJ1/2/3](CallGenCall.vp)已删 +- this-adjust fail-fast 修复已提交:TransPyV `6807082` +- 概率崩溃是否根治待用户重建后观察(如再复发,可重新插桩) diff --git a/debug-stmtgen-split-crash.md b/debug-stmtgen-split-crash.md new file mode 100644 index 0000000..9408eb3 --- /dev/null +++ b/debug-stmtgen-split-crash.md @@ -0,0 +1,101 @@ +# Debug: StmtGenMixin 拆分后 FuncTest 运行时崩溃 + +**Session ID**: stmtgen-split-crash +**Status**: [OPEN] +**Created**: 2026-08-17 + +## 症状 + +- 拆分 StmtGenMixin.vp → 3 文件(顶层 763 / StmtGenDeclMixin 512 / StmtGenCifMixin 520)后 +- PhaseC SUCCESS(FuncTest.exe 编译链接成功) +- 运行时输出: + ``` + === FuncTest: 函数调用基准测试 === + --- Test 1: basic function call --- + PASS: add(10,20)=30 + FAIL: add(10,20) expect 30 + 然后崩溃 + ``` + +## 回归窗口 + +- 拆分前(git restore 的原始 StmtGenMixin.vp 1715 行)FuncTest 应正常 +- 拆分改动:类结构 StmtGenMixin → StmtGenDeclMixin → StmtGenCifMixin 三级继承;字段全留最底层 Cif;方法按功能域分 3 文件 + +## 根因(已确认,证据充分) + +**崩溃根因:FuncGenMixin/ClassGenMixin 对"末句控制流"无条件生成 `unreachable`(追加89),而 llc O2 将 `br label %merge`(merge: unreachable)优化为 fall-through → 双分支执行。** + +- 证据链: + 1. [FuncTest check 机器码](https://example.com):`testl %ecx; je fail; callq ok; (fall-through) callq fail` —— ok 后无跳转直接执行 fail → PASS+FAIL 双打印 + `int3` 崩溃 + 2. check IR:`br label %if.end.4` + `if.end.4: unreachable`(merge 可达却被判 unreachable) + 3. [HandlesIf.vp L302-315]:分支**未 return 时 br 到 merge**(merge 可达);全 return 时不 br(不可达) + 4. FuncGenMixin/ClassGenMixin 判定 `last_is_ctrl → build_unreachable` **不区分 merge 可达性** → bug +- **与 StmtGenMixin 拆分逻辑无关**(HandlesIf/FuncGenMixin/ClassGenMixin 均未拆分);拆分暴露了该 bug(FuncTest check 是"末句 if + 无注解 + merge 可达"函数) + +## 修复(追加90,7 文件) + +1. `HandlesTranslator.vp`:Translator 加字段 `_ctrl_merge_reachable`(控制流 merge 可达性) +2. `HandlesIf.vp`:结尾按 then/else 分支 br 情况设置(无 else 恒 1;有 else 任一 br → 1;全 return → 0) +3. `HandlesWhile.vp`:cond_br 恒引用 end_bb → 设 1 +4. `HandlesFor.vp`:7 个迭代器 end_bb 处设 1 +5. `HandlesMatch.vp`:Handle 开头重置 0;br end_bb 处设 1 +6. `FuncGenMixin.vp` L1140:`last_is_ctrl` 且 `_ctrl_merge_reachable == 0` 才 unreachable;可达 → 正常收尾(ConstZero/fail-fast) +7. `ClassGenMixin.vp` L4536:方法收尾路径同步 + +**验证要点**:check(merge 可达)→ ConstZero ret;get_struct_name(全 case return)→ unreachable 保持 + +### 修正(追加90 v2:避免循环依赖) +- **初版缺陷**:把 `_ctrl_merge_reachable` 放 Translator 实例字段 → HandlesMatch/If/While/For 方法体引用 `trans._ctrl_merge_reachable` 需 Translator 字段表,而 HandlesTranslator 依赖 HandlesMatch.NewMatchHandle → **HandlesMatch ↔ HandlesTranslator 循环依赖** → TPC 声明顺序死锁 → MatchHandle struct opaque、方法/工厂符号全缺失 → 连锁报错(1.LOG 证据) +- **修正 v2**:改放 **HandlesBase 模块级全局** + `SetCtrlMergeReachable(val)` / `GetCtrlMergeReachable()`(无 struct 依赖,无循环;跨模块函数调用仅依赖 Phase1 stub) + - HandlesTranslator.vp:字段回滚(已删) + - HandlesBase.vp:加 `_ctrl_merge_reachable` + Set/Get 函数 + - HandlesIf/While/For/Match:调用 `HandlesBase.SetCtrlMergeReachable(1/0)` + - FuncGenMixin/ClassGenMixin:`HandlesBase.GetCtrlMergeReachable() == 0` + import HandlesBase +- **已知残余风险**:模块级全局在多线程并行编译(Phase2Translator._parallel_translate_worker)下有竞争(_g_cif_eval_ok 先例同样存在且工作正常,暂接受) + +### 真正的根因(1.LOG 定位,v3 修正) +- **1.LOG L3:`HandlesMatch.vp: invalid syntax (line 976)`**——批量脚本 `_patch_ctrl.py` 的 replace 把 `HandlesBase.SetCtrlMergeReachable(1)` 误插到 `if nb_arr[ci]==0: br end_bb` 与 `else:` 之间 → **else 悬空语法错误** +- **语法错误使 TPC 无法解析 HandlesMatch.vp** → MatchHandle struct opaque、Handle 方法无声明、NewMatchHandle 符号 undefined → 依赖它的 StmtGenCifMixin(NewMatchHandle 内 h.Trans = trans)/HandlesTranslator 连锁报错 +- **v1(Translator 字段)/v2(HandlesBase 全局)都报同一 MatchHandle 错误的原因**:真正的障碍一直是语法错误,不是依赖方案 +- **修正 v3**:删除 HandlesMatch.vp L975 误插行,if-else 结构恢复;其余 8 处 SetCtrlMergeReachable 位置已验证合法 + +### 最终方案(v1 定稿,重建成功) +- **v1/v2 的 MatchHandle 错误其实是 L975 语法错误**(误判为循环依赖) +- **v3(HandlesBase 模块级全局)编译通过但 TPV 编译器运行时崩**(win32base Struct 收到全垃圾参数 → pool 悬空,插桩 DBG-ST 证实) +- **定稿 v1**:`trans._ctrl_merge_reachable` 字段(线程安全,per-trans 无全局共享)+ 控制流翻译器写 + FuncGen/ClassGen 判定读 +- **2026-08-17 用户验证:清缓存重建成功** ✓ +- 待验证:FuncTest 运行(check 不再 PASS+FAIL 双打印)、68 测试回归 + +- **H1 跨模块继承字段布局错位**:Generator 组合布局中 StmtGenMixin 链字段块位置与各 Mixin 独立布局不一致 → self 字段访问偏移错误 → 函数表/状态错乱 +- **H2 跨模块继承 struct 加载失败**:TPV 编译 Generator.vp 时从 vpi/stub 加载 StmtGenCifMixin 字段定义失败(opaque)→ 组合布局损坏 +- **H3 self.method 沿 MRO 的 this 调整错误**:translate_stmt 调 Decl/Cif 方法时 this_adjust 偏移算错 → 方法内字段访问错乱 +- **H4 模块级符号跨文件解析**:顶层/Decl 方法引用的模块级常量(ENUM_MAX 等)或符号解析失败降级 → 编译期静默错误 +- **H5 编译链未清缓存**:tpv.exe 为旧产物(未含拆分逻辑)或新文件依赖顺序错误 → 生成代码错误 + +## 证据计划 + +1. 确认用户验证方式(是否 --clean --rebuild-includes --clear-cache + Phase A 全量重建) +2. 确认拆分前 FuncTest 是否正常(回归基线) +3. 插桩定位崩溃点与字段偏移(TPV 侧或 FuncTest 侧) + +## 状态日志 + +### 2026-08-17 证据收集 2(TPV 自身产物 + asan 发现) +- TPV 自身编译产物(output/0d5dfc518e9dbf1c.ll 4:54:31): + - 三 class struct 布局完全一致:`{ i64, EnumEntry*, i32, i32 }` ✓ + - translate_stmt 跨 Mixin 调用正确:`bitcast StmtGenMixin* → StmtGenDeclMixin*` + 调用 `9df7bd403cb4eb0a.StmtGenDeclMixin.translate_expr_stmt`(L4195-4196)✓ + - **TPV 编译器自身(拆分后)编译正确** +- **新证据:FuncTest.exe 是 ASan 插桩版**! + - output/06/067f811511854c88.asan.ll 存在(4:54:45),内容是 **LLVM bitcode**(BC 头,非文本 IR) + - FuncTest.exe 含 `__asan_init/__asan_report` 符号 + - project.json linker flags **无 asan 运行时库**(只有 msvcrt/ucrt/pthread/mingwex/kernel32/user32) +- **新假设 H6**:崩溃是 **--asan 编译模式**导致(main 插桩 + asan 运行时未正确初始化/链接),与 StmtGenMixin 拆分无关。拆分前 68 测试全过可能不带 --asan +- 待确认:用户编译 FuncTest 的命令是否带 --asan;拆分前测试是否带 --asan +- 分析 Test/FuncTest/.tpv_build/temp 的 .ll(4:46 产物): + - `067f811511854c88.ll` L535:`call i32 @add(i32 10, i32 20)` ✓ 参数正确 + - `748d0424e8976fa0.ll` L271-293(check):`br i1 %4, if.then.4/if.else.4` ✓ 条件跳转正确;ok/fail 各打印一次 ✓ + - ok/fail 函数 L245-269:单次 printf ✓ +- **结论:FuncTest 生成代码完全正常**。PASS+FAIL 双打印+崩溃非生成代码所致 +- 倾向 H5:编译链产物混用(tpv.exe 未含拆分逻辑的旧产物/缓存复用);用户正在重编译 +- 下一步:用户完成"清缓存 + Phase A 全量重建"后重跑 FuncTest 验证 diff --git a/find.py b/find.py new file mode 100644 index 0000000..1af572b --- /dev/null +++ b/find.py @@ -0,0 +1,163 @@ +""" +REPL 模式文件内容搜索工具 +支持正则或纯文本搜索,默认搜索当前目录 +""" +import os +import re +import sys + +# 硬编码排除目录 +EXCLUDE_DIRS = { + '.git', '.vs', 'node_modules', '__pycache__', '.idea', + 'miniprogram_npm', '_backup_pre_redesign', +} + +# 排除的文件扩展名 +EXCLUDE_EXTS = { + '.png', '.jpg', '.jpeg', '.gif', '.svg', '.ico', '.bmp', + '.mp3', '.mp4', '.wav', '.avi', + '.zip', '.rar', '.7z', '.tar', '.gz', + '.exe', '.dll', '.so', '.dylib', + '.pyc', '.pyo', '.class', '.o', '.obj', + '.db', '.sqlite', '.vsidx', +} + +# 默认搜索根目录 +DEFAULT_ROOT = os.path.dirname(os.path.abspath(__file__)) + + +def should_skip(dirpath): + """判断目录是否应跳过""" + parts = dirpath.replace('\\', '/').split('/') + return any(p in EXCLUDE_DIRS for p in parts) + + +def search(pattern, root=DEFAULT_ROOT, use_regex=True, max_results=50): + """搜索文件内容""" + if use_regex: + try: + compiled = re.compile(pattern, re.IGNORECASE) + except re.error as e: + print(f' 正则语法错误: {e}') + return + + count = 0 + for dirpath, dirnames, filenames in os.walk(root): + # 就地修改 dirnames 以跳过排除目录 + dirnames[:] = [d for d in dirnames if d not in EXCLUDE_DIRS] + + for fname in filenames: + ext = os.path.splitext(fname)[1].lower() + if ext in EXCLUDE_EXTS: + continue + + fpath = os.path.join(dirpath, fname) + relpath = os.path.relpath(fpath, root) + try: + with open(fpath, 'r', encoding='utf-8', errors='ignore') as f: + for lineno, line in enumerate(f, 1): + line_stripped = line.rstrip('\n\r') + if use_regex: + match = compiled.search(line_stripped) + if match: + highlight = line_stripped[:match.start()] + \ + f'>>> {match.group()} <<<' + \ + line_stripped[match.end():] + print(f' {relpath}:{lineno} {highlight}') + count += 1 + else: + if pattern.lower() in line_stripped.lower(): + print(f' {relpath}:{lineno} {line_stripped}') + count += 1 + + if count >= max_results: + print(f'\n ... 已达上限 {max_results} 条,停止') + return + except (PermissionError, OSError): + continue + + if count == 0: + print(' 未找到匹配内容') + else: + print(f'\n 共 {count} 条匹配') + + +def main(): + print('=== 文件内容搜索工具 ===') + print(f'搜索根目录: {DEFAULT_ROOT}') + print(f'排除目录: {EXCLUDE_DIRS}') + print() + print('命令:') + print(' /regex 正则搜索') + print(' /text 纯文本搜索') + print(' /max 设置结果上限(默认50)') + print(' /dir 切换搜索目录') + print(' /help 显示帮助') + print(' /quit 退出') + print() + print('直接输入内容默认使用【纯文本】搜索,需要正则请加 /regex 前缀') + print() + + root = DEFAULT_ROOT + use_regex = False # 修改1:默认纯文本 + max_results = 50 + + while True: + try: + raw = input('find> ').strip() + except (EOFError, KeyboardInterrupt): + print('\n再见') + break + + if not raw: + continue + + if raw == '/quit': + print('再见') + break + + if raw == '/help': + print(' /regex 正则搜索') + print(' /text 纯文本搜索') + print(' /max 设置结果上限') + print(' /dir 切换搜索目录') + print(' /help 显示帮助') + print(' /quit 退出') + print(' 直接输入内容默认纯文本搜索') + continue + + if raw.startswith('/regex '): + pattern = raw[7:].strip() + if pattern: + search(pattern, root, use_regex=True, max_results=max_results) + continue + + if raw.startswith('/text '): + pattern = raw[6:].strip() + if pattern: + search(pattern, root, use_regex=False, max_results=max_results) + continue + + if raw.startswith('/max '): + try: + max_results = int(raw[5:].strip()) + print(f' 结果上限设为 {max_results}') + except ValueError: + print(' 请输入数字') + continue + + if raw.startswith('/dir '): + new_dir = raw[5:].strip() + if os.path.isdir(new_dir): + root = os.path.abspath(new_dir) + print(f' 搜索目录切换为: {root}') + else: + print(f' 目录不存在: {new_dir}') + continue + + # 修改2:直接输入走纯文本搜索 + search(raw, root, use_regex=False, max_results=max_results) + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/handles_expr_HEAD.vp b/handles_expr_HEAD.vp deleted file mode 100644 index 4819840..0000000 --- a/handles_expr_HEAD.vp +++ /dev/null @@ -1,767 +0,0 @@ -import t, c -from stdint import * -import ast -import memhub -import string -import llvmlite -import stdlib -import stdio -import viperlib -import w32.fileio as fileio -import lib.core.Handles.HandlesBase as HandlesBase -import lib.core.Handles.HandlesTranslator as HT -import lib.core.Handles.HandlesVar as HandlesVar -import lib.core.Handles.HandlesExprOps as HandlesExprOps -import lib.core.Handles.HandlesExprCall as HandlesExprCall -import lib.core.Handles.HandlesNonlocal as HandlesNonlocal -import lib.core.Handles.HandlesType as HandlesType -import lib.core.Handles.HandlesStruct as HandlesStruct -import lib.core.Handles.HandlesEnum as HandlesEnum -import lib.core.Handles.HandlesClassDef as HandlesClassDef -import lib.core.Handles.HandlesImports as HandlesImports -import lib.core.StubMerger as StubMerger -import lib.core.VLogger as VLogger -import lib.Projectrans.Config as Config -import lib.Projectrans.Utils as Utils - - -# ============================================================ -# HandlesExpr - 表达式处理(P3 对象化后的委托层) -# -# 全部模块级函数已迁移为 lib.core.Gen.ExprGenMixin 的方法 -# (全局状态迁入 gen 字段),本模块保留同名模块级函数作为 -# "一行委托":延迟 import Gen 取全局单例(BuildPipeline/main -# 创建后 set_global_gen 注册),再调用 gen 的对应方法。签名与 -# 旧函数完全一致,调用方零改动。 -# -# ExprHandle 类及其 NewExprHandle 工厂保留(translator handler 模式)。 -# ============================================================ - - -# ============================================================ -# 全局 gen 单例(模块级镜像,同 HandlesType/HandlesStruct 模式) -# -# 由 BuildPipeline/main 在 gen 创建后调用 set_global_gen 注入。 -# P3 委托函数用本地 _g_gen(cast 成 Generator 类型)调 -# ExprGenMixin 方法,避免函数体 import 包模块与类/模块名歧义。 -# ============================================================ -_g_gen: t.CVoid | t.CPtr = None - - -def set_global_gen(gen: t.CVoid | t.CPtr) -> None: - """注入全局 gen 单例(BuildPipeline/main 调用)""" - global _g_gen - _g_gen = gen - - -# ============================================================ -# 委托函数:延迟 import Gen 取全局单例 → 调 gen 方法 -# (gen 未注册时正常流程不会发生;有返回值函数返回默认值) -# ============================================================ - - -# ============================================================ -# 从 AST 节点提取函数名 -# ============================================================ -def get_func_name(func_node: ast.AST | t.CPtr) -> str: - """从函数节点提取函数名(委托到 gen.get_func_name)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.get_func_name(func_node) - return None - - -# ============================================================ -# 转义 LLVM IR 字符串字面量 -# ============================================================ -def escape_llvm_string(pool: memhub.MemBuddy | t.CPtr, - src: t.CChar | t.CPtr) -> t.CChar | t.CPtr: - """将字符串转换为 LLVM IR 字符串字面量 c"...\\00"(委托到 gen.escape_llvm_string)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.escape_llvm_string(pool, src) - return None - - -# ============================================================ -# 获取 LLVM 整数类型的位宽 -# ============================================================ -def get_llvm_type_bits(ty: llvmlite.LLVMType | t.CPtr) -> int: - """获取 LLVM 整数类型的位宽,非整数类型返回 0(委托到 gen.get_llvm_type_bits)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.get_llvm_type_bits(ty) - return 0 - - -# ============================================================ -# 获取 LLVM 浮点类型的位宽 -# ============================================================ -def get_llvm_float_bits(ty: llvmlite.LLVMType | t.CPtr) -> int: - """获取 LLVM 浮点类型的位宽,非浮点类型返回 0(委托到 gen.get_llvm_float_bits)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.get_llvm_float_bits(ty) - return 0 - - -# ============================================================ -# is_ptr_type - 检查类型是否为 Ptr -# -# 返回 1=是, 0=否。作为类型检查工具函数被广泛使用(50+ 处调用)。 -# ============================================================ -def is_ptr_type(ty: llvmlite.LLVMType | t.CPtr) -> int: - """检查 ty 是否是 Ptr 类型,返回 1=是, 0=否(委托到 gen.is_ptr_type)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.is_ptr_type(ty) - return 0 - - -# ============================================================ -# get_ptr_level - 计算指针层级 -# -# 返回值: -# 0 = 非指针(数值/结构体等) -# 1 = 一级指针(如 i8*, Struct*) -# 2 = 二级指针(如 i8**, Struct**) -# 3+ = 更高级指针 -# ============================================================ -def get_ptr_level(ty: llvmlite.LLVMType | t.CPtr) -> int: - """计算指针层级,0=非指针, 1=一级指针, 2=二级指针...(委托到 gen.get_ptr_level)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.get_ptr_level(ty) - return 0 - - -# ============================================================ -# is_array_type - 检查类型是否为 Array -# -# 返回 1=是, 0=否。类型检查工具函数。 -# ============================================================ -def is_array_type(ty: llvmlite.LLVMType | t.CPtr) -> int: - """检查 ty 是否是 Array 类型,返回 1=是, 0=否(委托到 gen.is_array_type)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.is_array_type(ty) - return 0 - - -# ============================================================ -# _zext_index_to_i32 - 数组下标索引零扩展 -# -# LLVM GEP 对窄整数索引默认符号扩展:i8 0xE2(226) 会被当成 -30, -# 导致数组下标越界读(字节 >= 128 的乱码根因)。 -# 数组下标语义为非负,<32 位整数索引一律 zext 到 i32。 -# ============================================================ -def _zext_index_to_i32(builder: llvmlite.IRBuilder | t.CPtr, - idx_val: llvmlite.Value | t.CPtr) -> llvmlite.Value | t.CPtr: - """将 <32 位整数下标零扩展到 i32(数组下标非负语义)(委托到 gen._zext_index_to_i32)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._zext_index_to_i32(builder, idx_val) - return None - - -# ============================================================ -# _get_custom_struct_cls_nm - 检查类型是否为已注册的自定义结构体 -# -# 处理两种情况: -# - ty 直接是 Struct → 检查是否注册 -# - ty 是 Ptr(Struct) → 检查 pointee 是否注册 -# ============================================================ -def _get_custom_struct_cls_nm(pool: memhub.MemBuddy | t.CPtr, - ty: llvmlite.LLVMType | t.CPtr) -> str: - """检查 ty 或 ty 的 pointee 是否是已注册的自定义结构体,返回类名或 None(委托到 gen._get_custom_struct_cls_nm)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._get_custom_struct_cls_nm(pool, ty) - return None - - -# ============================================================ -# _is_list_subscript_base - 判断下标基座是否为 list[T] 变量 -# ============================================================ -def _is_list_subscript_base(pool: memhub.MemBuddy | t.CPtr, - trans: HT.Translator | t.CPtr, - sub_node: ast.AST | t.CPtr) -> int: - """判断下标基座是否为 list[T] 变量(1=是)(委托到 gen._is_list_subscript_base)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._is_list_subscript_base(pool, trans, sub_node) - return 0 - - -# ============================================================ -# _sub_base_class_name - 解析下标基座变量的结构体类名 -# ============================================================ -def _sub_base_class_name(pool: memhub.MemBuddy | t.CPtr, - trans: HT.Translator | t.CPtr, - sub_node: ast.AST | t.CPtr) -> str: - """解析下标基座变量的结构体类名(无则 None)(委托到 gen._sub_base_class_name)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._sub_base_class_name(pool, trans, sub_node) - return None - - -# ============================================================ -# _sub_base_uses_getitem - 下标基座是否应走 __getitem__ 语义 -# ============================================================ -def _sub_base_uses_getitem(pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - trans: HT.Translator | t.CPtr, - sub_node: ast.AST | t.CPtr) -> int: - """下标基座应走 __getitem__ 语义时返回 1,否则 0(应走 GEP 地址语义)(委托到 gen._sub_base_uses_getitem)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._sub_base_uses_getitem(pool, mod, trans, sub_node) - return 0 - - -# ============================================================ -# _deref_if_ptr_ptr - 如果 obj_ptr 是 Ptr(Ptr(...)),load 解引用 -# ============================================================ -def _deref_if_ptr_ptr(builder: llvmlite.IRBuilder | t.CPtr, - obj_ptr: llvmlite.Value | t.CPtr) -> llvmlite.Value | t.CPtr: - """如果 obj_ptr 是 Ptr(Ptr(...)),load 解引用获取内层指针(委托到 gen._deref_if_ptr_ptr)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._deref_if_ptr_ptr(builder, obj_ptr) - return None - - -# ============================================================ -# 类型强制转换:整数 sext/trunc,浮点 fpext/fptrunc,int↔float si2fp/fp2si -# ============================================================ -def coerce_to_type(builder: llvmlite.IRBuilder | t.CPtr, - val: llvmlite.Value | t.CPtr, - target_ty: llvmlite.LLVMType | t.CPtr, - node: ast.AST | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """将 val 强制转换为 target_ty(委托到 gen.coerce_to_type)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.coerce_to_type(builder, val, target_ty, node) - return None - - -# ============================================================ -# translate_ptr_arith - 指针算术: ptr + int / ptr - int -# -# 用 getelementptr(按 pointee 元素大小缩放索引),对齐 TPC -# ExprGen.emit_binary_op / HandlesAugAssign.py。 -# ============================================================ -def translate_ptr_arith(pool: memhub.MemBuddy | t.CPtr, - builder: llvmlite.IRBuilder | t.CPtr, - ptr_val: llvmlite.Value | t.CPtr, - int_val: llvmlite.Value | t.CPtr, - op: int) -> llvmlite.Value | t.CPtr: - """指针算术: ptr + int / ptr - int → GEP(按元素大小缩放索引)(委托到 gen.translate_ptr_arith)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_ptr_arith(pool, builder, ptr_val, int_val, op) - return None - - -# ============================================================ -# 创建全局字符串常量 -# ============================================================ -def create_global_string(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - str_val: str, - trans: HT.Translator | t.CPtr) -> llvmlite.Value | t.CPtr: - """创建全局字符串常量并返回 i8* bitcast(委托到 gen.create_global_string)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.create_global_string(builder, pool, mod, str_val, trans) - return None - - -# ============================================================ -# 翻译常量表达式 -# ============================================================ -def translate_constant(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译常量(int/str/bool)(委托到 gen.translate_constant)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_constant(builder, pool, mod, node, trans) - return None - - -# ============================================================ -# _infer_elem_type_from_value — 从 LLVM Value 推断 list 元素类型名 -# ============================================================ -def _infer_elem_type_from_value(pool: memhub.MemBuddy | t.CPtr, - value: llvmlite.Value | t.CPtr) -> str: - """从 LLVM Value 的类型推断 list 元素类型名(委托到 gen._infer_elem_type_from_value)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._infer_elem_type_from_value(pool, value) - return None - - -# ============================================================ -# _find_pool_var — 查找上下文中的 pool 变量 -# -# 依次尝试 "pool", "_mbuddy", "mbuddy", "mb" -# ============================================================ -def _find_pool_var(trans: HT.Translator | t.CPtr) -> llvmlite.Value | t.CPtr: - """查找上下文中的 pool 变量,返回 alloca 或 None(委托到 gen._find_pool_var)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._find_pool_var(trans) - return None - - -# ============================================================ -# translate_list_literal — 翻译 list 字面量 [a, b, c] -# -# 将 list 字面量翻译为 list[T](pool) 构造 + append 调用序列 -# ============================================================ -def translate_list_literal(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - elem_type_name: str, - trans: HT.Translator | t.CPtr) -> llvmlite.Value | t.CPtr: - """翻译 list 字面量 [a, b, c] → list[T](pool) + append 序列(委托到 gen.translate_list_literal)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_list_literal(builder, pool, mod, node, elem_type_name, trans) - return None - - -# ============================================================ -# 翻译值表达式(RHS 分派)— 模块级版本 -# ============================================================ -def translate_value(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - funcs_ptr: t.CPtr = None, - func_count: int = 0, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译值表达式为 LLVM Value(委托到 gen.translate_value)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_value(builder, pool, mod, node, funcs_ptr, func_count, trans) - return None - - -# ============================================================ -# 翻译三元表达式 IfExp(test, body, orelse) -# ============================================================ -def translate_ifexp(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译三元表达式 (body if test else orelse),返回 phi 结果 Value(委托到 gen.translate_ifexp)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_ifexp(builder, pool, mod, node, trans) - return None - - -# ============================================================ -# 翻译比较表达式 Compare(left, ops, comparators) -# ============================================================ -def should_zext_widen(pool: memhub.MemBuddy | t.CPtr, - narrow_val: llvmlite.Value | t.CPtr, - wide_val: llvmlite.Value | t.CPtr, - narrow_node: ast.AST | t.CPtr = None) -> int: - """判断整数拓宽方向:1=zext(无符号语义),0=sext(委托到 gen.should_zext_widen)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.should_zext_widen(pool, narrow_val, wide_val, narrow_node) - return 0 - - -def _node_type_unsigned(pool: memhub.MemBuddy | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> int: - """轻量判断 AST 节点是否解析为无符号整数类型(1=是,0=否/未知)(委托到 gen._node_type_unsigned)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._node_type_unsigned(pool, node, trans) - return 0 - - -def _type_name_unsigned(type_name: str) -> int: - """类型名是否为无符号整数类型(精确匹配,避免子串误伤如 nUIntCount)(委托到 gen._type_name_unsigned)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._type_name_unsigned(type_name) - return 0 - - -def translate_compare(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译比较表达式,返回 i1 结果(委托到 gen.translate_compare)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_compare(builder, pool, mod, node, trans) - return None - - -# ============================================================ -# 翻译一元运算表达式 UnaryOp(op, operand) -# ============================================================ -def translate_unaryop(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译一元运算(-x, +x, not x, ~x)(委托到 gen.translate_unaryop)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_unaryop(builder, pool, mod, node, trans) - return None - - -# ============================================================ -# 翻译布尔运算 BoolOp(op, values) — 短路求值,返回 i1 -# ============================================================ -def translate_boolop(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - funcs_ptr: t.CPtr = None, - func_count: int = 0, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译布尔运算(and/or)的短路求值,返回 i1(委托到 gen.translate_boolop)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_boolop(builder, pool, mod, node, funcs_ptr, func_count, trans) - return None - - -# ============================================================ -# _build_source_path_from_sha1 - 通过 SHA1 从存储器构建源 .vp/.py 文件路径 -# ============================================================ -def _build_source_path_from_sha1(sha1: str) -> str: - """通过 SHA1 从全局存储器构建源 .py 文件路径(委托到 gen._build_source_path_from_sha1)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._build_source_path_from_sha1(sha1) - return None - - -# ============================================================ -# _lookup_cross_module_cdefine - 跨模块查找 CDefine 常量 -# ============================================================ -def _lookup_cross_module_cdefine(pool: memhub.MemBuddy | t.CPtr, - name: str, - from_imports: str, - imported_modules: str = None) -> int: - """跨模块查找 CDefine 常量,返回值或 -1(未找到)(委托到 gen._lookup_cross_module_cdefine)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._lookup_cross_module_cdefine(pool, name, from_imports, imported_modules) - return 0 - - -# ============================================================ -# _is_cdefine_name_pattern - 检查名字是否符合 CDefine 命名约定 -# ============================================================ -def _is_cdefine_name_pattern(name: str) -> int: - """检查名字是否符合 CDefine 命名约定(全大写+下划线+数字)(委托到 gen._is_cdefine_name_pattern)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._is_cdefine_name_pattern(name) - return 0 - - -# ============================================================ -# 翻译变量引用(Name 节点)→ load -# ============================================================ -def translate_name_value(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译变量引用(Name 节点)→ load(委托到 gen.translate_name_value)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_name_value(builder, pool, node, trans) - return None - - -# ============================================================ -# ExprHandle - 表达式处理器(Mixin 继承模式) -# -# HandleValue 提供 trans 接口,委托到模块级 translate_value -# ============================================================ -@t.NoVTable -class ExprHandle(HandlesBase.Mixin): - """表达式处理器:继承 Mixin 获得 Trans 回指针""" - - def __init__(self, trans: HT.Translator | t.CPtr): - self.Trans = trans - - # ============================================================ - # HandleValue - 翻译值表达式为 LLVM Value - # ============================================================ - def HandleValue(self, node: ast.AST | t.CPtr) -> llvmlite.Value | t.CPtr: - """翻译值表达式,从 self.Trans 获取共享状态""" - return translate_value( - self.Trans._cur_builder, self.Trans.Pool, self.Trans.Module, - node, - self.Trans._funcs, self.Trans._func_count, self.Trans) - - -# ============================================================ -# NewExprHandle - 工厂函数 -# ============================================================ -def NewExprHandle(pool: memhub.MemBuddy | t.CPtr, - trans: HT.Translator | t.CPtr) -> ExprHandle | t.CPtr: - h: ExprHandle | t.CPtr = pool.alloc(ExprHandle.__sizeof__()) - if h is None: - return None - string.memset(h, 0, ExprHandle.__sizeof__()) - h.Trans = trans - return h - - -# ============================================================ -# list_getitem_inline — 内联生成 list[T] __getitem__ 逻辑 -# -# list 结构布局 (6 字段 × 8 字节): -# __data__(0) __count__(8) __capacity__(16) __pool__(24) __elem_size__(32) __iter_index__(40) -# 返回元素地址 (i8*),调用方根据元素类型 load 正确的值 -# ============================================================ -def list_getitem_inline(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - lm_obj: llvmlite.Value | t.CPtr, - idx_val: llvmlite.Value | t.CPtr, - node: ast.AST | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """内联生成 list __getitem__ 逻辑,返回元素地址 (i8*)(委托到 gen.list_getitem_inline)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.list_getitem_inline(builder, pool, lm_obj, idx_val, node) - return None - - -# ============================================================ -# _list_elem_type_from_name — 从 list 类型名提取元素 LLVM 类型 -# ============================================================ -def _list_elem_type_from_name(pool: memhub.MemBuddy | t.CPtr, - struct_name: str) -> llvmlite.LLVMType | t.CPtr: - """从 list 类型名提取元素 LLVM 类型(委托到 gen._list_elem_type_from_name)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._list_elem_type_from_name(pool, struct_name) - return None - - -# ============================================================ -# list_setitem_inline — 内联生成 list[T] __setitem__ 逻辑 -# ============================================================ -def list_setitem_inline(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - lm_obj: llvmlite.Value | t.CPtr, - idx_val: llvmlite.Value | t.CPtr, - rhs_val: llvmlite.Value | t.CPtr, - node: ast.AST | t.CPtr = None) -> int: - """内联生成 list __setitem__ 逻辑,返回 0(委托到 gen.list_setitem_inline)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.list_setitem_inline(builder, pool, lm_obj, idx_val, rhs_val, node) - return 0 - - -# ============================================================ -# is_list_subscript — 检查 Subscript 节点是否是 list[T] 类型 -# -# 返回 list 对象指针 (Ptr(list[T])) 或 None -# ============================================================ -def is_list_subscript(node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr) -> llvmlite.Value | t.CPtr: - """检查 Subscript 节点是否是 list[T] 类型,返回 list 对象指针或 None(委托到 gen.is_list_subscript)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.is_list_subscript(node, trans) - return None - - -# ============================================================ -# 翻译下标表达式 Subscript(value, slice, ctx) — ptr[i] / arr[i] -# ============================================================ -def translate_subscript(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译下标表达式,返回加载的元素值(委托到 gen.translate_subscript)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_subscript(builder, pool, mod, node, trans) - return None - - -# ============================================================ -# find_global_in_module - 在模块全局变量链表中按名称查找 -# -# 查找策略: -# 1. 精确匹配 (如 "_mbuddy" 匹配 @_mbuddy) -# 2. 后缀匹配 (如 "_mbuddy" 匹配 @"sha1._mbuddy") -# ============================================================ -def find_global_in_module(mod: llvmlite.LLVMModule | t.CPtr, - name: str) -> llvmlite.GlobalVariable | t.CPtr: - """在模块全局变量链表中按名称查找全局变量(委托到 gen.find_global_in_module)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.find_global_in_module(mod, name) - return None - - -# ============================================================ -# make_global_ref - 创建全局变量引用 (@name,类型为 ty*) -# ============================================================ -def make_global_ref(pool: memhub.MemBuddy | t.CPtr, - name: str, - ty: llvmlite.LLVMType | t.CPtr) -> llvmlite.Value | t.CPtr: - """创建全局变量引用 (类型为 ty*,名称为 @name)(委托到 gen.make_global_ref)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.make_global_ref(pool, name, ty) - return None - - -# ============================================================ -# _is_t_type_object_name - 检查 name 是否是 t.py 中的类型对象名 -# ============================================================ -def _is_t_type_object_name(name: str) -> int: - """检查 name 是否是 t.py 中的类型对象名(CPtr/CInt/CDouble 等)(委托到 gen._is_t_type_object_name)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._is_t_type_object_name(name) - return 0 - - -# ============================================================ -# _resolve_module_attribute_global - 解析模块属性访问的全局变量引用 -# ============================================================ -def _resolve_module_attribute_global(pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - trans: HT.Translator | t.CPtr, - at: ast.Attribute | t.CPtr, - ty_hint: llvmlite.LLVMType | t.CPtr) -> llvmlite.Value | t.CPtr: - """解析模块属性访问,返回全局变量引用 (用于跨模块 global 访问)(委托到 gen._resolve_module_attribute_global)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._resolve_module_attribute_global(pool, mod, trans, at, ty_hint) - return None - - -# ============================================================ -# _get_cderef_attr_base - c.Deref(ptr).attr 属性访问的 base 指针 -# ============================================================ -def _get_cderef_attr_base(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - at_value: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """检测 at.value 是否为 c.Deref(ptr) 调用,返回 ptr 指针(不做 load)(委托到 gen._get_cderef_attr_base)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g._get_cderef_attr_base(builder, pool, mod, at_value, trans) - return None - - -# ============================================================ -# 翻译属性访问 Attribute(value, attr, ctx) — obj.field -# ============================================================ -def translate_attribute(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """翻译属性访问,返回加载的字段值(委托到 gen.translate_attribute)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.translate_attribute(builder, pool, mod, node, trans) - return None - - -# ============================================================ -# 获取下标表达式的元素指针(不加载值,用于赋值) -# ============================================================ -def get_subscript_ptr(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """获取下标表达式的元素指针(用于赋值 lhs)(委托到 gen.get_subscript_ptr)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.get_subscript_ptr(builder, pool, mod, node, trans) - return None - - -# ============================================================ -# 获取属性访问的字段指针(不加载值,用于赋值) -# ============================================================ -def get_attribute_ptr(builder: llvmlite.IRBuilder | t.CPtr, - pool: memhub.MemBuddy | t.CPtr, - mod: llvmlite.LLVMModule | t.CPtr, - node: ast.AST | t.CPtr, - trans: HT.Translator | t.CPtr = None) -> llvmlite.Value | t.CPtr: - """获取属性访问的字段指针(用于赋值 lhs)(委托到 gen.get_attribute_ptr)""" - import lib.core.Gen.Generator as Generator - g: Generator.Generator | t.CPtr = (Generator.Generator | t.CPtr)(t.CVoid(_g_gen, t.CPtr)) - if g is not None: - return g.get_attribute_ptr(builder, pool, mod, node, trans) - return None diff --git a/output.s b/output.s deleted file mode 100644 index 8f5d814..0000000 --- a/output.s +++ /dev/null @@ -1,1281 +0,0 @@ - .def @feat.00; - .scl 3; - .type 0; - .endef - .globl @feat.00 -@feat.00 = 0 - .file "124730a62158dfd3.ll" - .def main; - .scl 2; - .type 32; - .endef - .section .rdata,"dr" - .p2align 3, 0x0 # -- Begin function main -.LCPI0_0: - .quad 0x4008000000000000 # double 3 -.LCPI0_1: - .quad 0x4010000000000000 # double 4 - .text - .globl main - .p2align 4 -main: # @main -.seh_proc main -# %bb.0: # %entry - pushq %rbp - .seh_pushreg %rbp - pushq %rsi - .seh_pushreg %rsi - pushq %rdi - .seh_pushreg %rdi - subq $64, %rsp - .seh_stackalloc 64 - leaq 64(%rsp), %rbp - .seh_setframe %rbp, 64 - .seh_endprologue - callq __main - movl $65001, %ecx # imm = 0xFDE9 - callq SetConsoleCP - movl $65001, %ecx # imm = 0xFDE9 - callq SetConsoleOutputCP - leaq .str.124730a62158dfd3.0(%rip), %rcx - callq 748d0424e8976fa0.begin - movl $256, %ecx # imm = 0x100 - callq malloc - movq %rax, %rsi - leaq .str.124730a62158dfd3.1(%rip), %rcx - callq 748d0424e8976fa0.section - movq $3, 40(%rsp) - movq $2, 32(%rsp) - leaq .str.124730a62158dfd3.2(%rip), %r8 - movl $256, %edx # imm = 0x100 - movl $1, %r9d - movq %rsi, %rcx - callq snprintf - leaq .str.124730a62158dfd3.45(%rip), %rdi - movq %rdi, %rcx - movq %rsi, %rdx - callq printf - leaq .str.124730a62158dfd3.4(%rip), %rdx - leaq .str.124730a62158dfd3.5(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.6(%rip), %rdx - leaq .str.124730a62158dfd3.7(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.8(%rip), %rdx - leaq .str.124730a62158dfd3.9(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.10(%rip), %rdx - leaq .str.124730a62158dfd3.11(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.12(%rip), %rdx - leaq .str.124730a62158dfd3.13(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.14(%rip), %rdx - leaq .str.124730a62158dfd3.15(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.16(%rip), %rcx - callq 748d0424e8976fa0.ok - leaq .str.124730a62158dfd3.17(%rip), %rcx - callq 748d0424e8976fa0.section - movq $100, 40(%rsp) - movq $2, 32(%rsp) - leaq .str.124730a62158dfd3.18(%rip), %r8 - movl $256, %edx # imm = 0x100 - movl $5, %r9d - movq %rsi, %rcx - callq snprintf - movq %rdi, %rcx - movq %rsi, %rdx - callq printf - leaq .str.124730a62158dfd3.20(%rip), %rdx - leaq .str.124730a62158dfd3.21(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.22(%rip), %rdx - leaq .str.124730a62158dfd3.23(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.24(%rip), %rdx - leaq .str.124730a62158dfd3.25(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.26(%rip), %rcx - callq 748d0424e8976fa0.ok - leaq .str.124730a62158dfd3.27(%rip), %rcx - callq 748d0424e8976fa0.section - movabsq $4628651735144066958, %rax # imm = 0x403C463ABE41EF8E - movq %rax, 40(%rsp) - movq $7, 48(%rsp) - movq $7, 32(%rsp) - leaq .str.124730a62158dfd3.28(%rip), %r8 - movq .LCPI0_0(%rip), %xmm3 # xmm3 = [3.0E+0,0.0E+0] - movl $256, %edx # imm = 0x100 - movq %rsi, %rcx - movq %xmm3, %r9 - callq snprintf - movq %rdi, %rcx - movq %rsi, %rdx - callq printf - leaq .str.124730a62158dfd3.30(%rip), %rdx - leaq .str.124730a62158dfd3.31(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.32(%rip), %rdx - leaq .str.124730a62158dfd3.33(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.34(%rip), %rdx - leaq .str.124730a62158dfd3.35(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.36(%rip), %rcx - callq 748d0424e8976fa0.ok - leaq .str.124730a62158dfd3.37(%rip), %rcx - callq 748d0424e8976fa0.section - movabsq $4618441417868443648, %rax # imm = 0x4018000000000000 - movq %rax, 32(%rsp) - leaq .str.124730a62158dfd3.38(%rip), %r8 - movq .LCPI0_1(%rip), %xmm3 # xmm3 = [4.0E+0,0.0E+0] - movl $256, %edx # imm = 0x100 - movq %rsi, %rcx - movq %xmm3, %r9 - callq snprintf - movq %rdi, %rcx - movq %rsi, %rdx - callq printf - leaq .str.124730a62158dfd3.40(%rip), %rdx - leaq .str.124730a62158dfd3.41(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.42(%rip), %rdx - leaq .str.124730a62158dfd3.43(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.44(%rip), %r8 - movl $256, %edx # imm = 0x100 - movl $7, %r9d - movq %rsi, %rcx - callq snprintf - movq %rdi, %rcx - movq %rsi, %rdx - callq printf - leaq .str.124730a62158dfd3.46(%rip), %rdx - leaq .str.124730a62158dfd3.47(%rip), %r8 - movl $1, %ecx - callq 748d0424e8976fa0.check - leaq .str.124730a62158dfd3.48(%rip), %rcx - callq 748d0424e8976fa0.ok - movq %rsi, %rcx - callq free - nop - .seh_startepilogue - addq $64, %rsp - popq %rdi - popq %rsi - popq %rbp - .seh_endepilogue - jmp 748d0424e8976fa0.end # TAILCALL - .seh_endproc - # -- End function - .def 124730a62158dfd3.A.__init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.A.__init__ # -- Begin function 124730a62158dfd3.A.__init__ - .p2align 4 -124730a62158dfd3.A.__init__: # @"124730a62158dfd3.A.__init__" -# %bb.0: # %entry - movl %edx, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.A.get_a; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.A.get_a # -- Begin function 124730a62158dfd3.A.get_a - .p2align 4 -124730a62158dfd3.A.get_a: # @"124730a62158dfd3.A.get_a" -# %bb.0: # %entry - movl (%rcx), %eax - retq - # -- End function - .def 124730a62158dfd3.A.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.A.__before_init__ # -- Begin function 124730a62158dfd3.A.__before_init__ - .p2align 4 -124730a62158dfd3.A.__before_init__: # @"124730a62158dfd3.A.__before_init__" -# %bb.0: # %entry - movl $0, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.B.__init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.B.__init__ # -- Begin function 124730a62158dfd3.B.__init__ - .p2align 4 -124730a62158dfd3.B.__init__: # @"124730a62158dfd3.B.__init__" -# %bb.0: # %entry - movl %edx, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.B.get_b; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.B.get_b # -- Begin function 124730a62158dfd3.B.get_b - .p2align 4 -124730a62158dfd3.B.get_b: # @"124730a62158dfd3.B.get_b" -# %bb.0: # %entry - movl (%rcx), %eax - retq - # -- End function - .def 124730a62158dfd3.B.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.B.__before_init__ # -- Begin function 124730a62158dfd3.B.__before_init__ - .p2align 4 -124730a62158dfd3.B.__before_init__: # @"124730a62158dfd3.B.__before_init__" -# %bb.0: # %entry - movl $0, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.C.__init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.C.__init__ # -- Begin function 124730a62158dfd3.C.__init__ - .p2align 4 -124730a62158dfd3.C.__init__: # @"124730a62158dfd3.C.__init__" -# %bb.0: # %entry - movl %edx, (%rcx) - movl %r8d, 4(%rcx) - movl %r9d, 8(%rcx) - retq - # -- End function - .def 124730a62158dfd3.C.get_c; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.C.get_c # -- Begin function 124730a62158dfd3.C.get_c - .p2align 4 -124730a62158dfd3.C.get_c: # @"124730a62158dfd3.C.get_c" -# %bb.0: # %entry - movl 8(%rcx), %eax - retq - # -- End function - .def 124730a62158dfd3.C.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.C.__before_init__ # -- Begin function 124730a62158dfd3.C.__before_init__ - .p2align 4 -124730a62158dfd3.C.__before_init__: # @"124730a62158dfd3.C.__before_init__" -# %bb.0: # %entry - movq $0, (%rcx) - movl $0, 8(%rcx) - retq - # -- End function - .def 124730a62158dfd3.Base.who; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Base.who # -- Begin function 124730a62158dfd3.Base.who - .p2align 4 -124730a62158dfd3.Base.who: # @"124730a62158dfd3.Base.who" -# %bb.0: # %entry - movl $1, %eax - retq - # -- End function - .def 124730a62158dfd3.Base.base_method; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Base.base_method # -- Begin function 124730a62158dfd3.Base.base_method - .p2align 4 -124730a62158dfd3.Base.base_method: # @"124730a62158dfd3.Base.base_method" -# %bb.0: # %entry - movl $100, %eax - retq - # -- End function - .def 124730a62158dfd3.Base.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Base.__before_init__ # -- Begin function 124730a62158dfd3.Base.__before_init__ - .p2align 4 -124730a62158dfd3.Base.__before_init__: # @"124730a62158dfd3.Base.__before_init__" -# %bb.0: # %entry - movl $0, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.Left.who; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Left.who # -- Begin function 124730a62158dfd3.Left.who - .p2align 4 -124730a62158dfd3.Left.who: # @"124730a62158dfd3.Left.who" -# %bb.0: # %entry - movl $2, %eax - retq - # -- End function - .def 124730a62158dfd3.Left.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Left.__before_init__ # -- Begin function 124730a62158dfd3.Left.__before_init__ - .p2align 4 -124730a62158dfd3.Left.__before_init__: # @"124730a62158dfd3.Left.__before_init__" -# %bb.0: # %entry - movl $0, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.Right.who; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Right.who # -- Begin function 124730a62158dfd3.Right.who - .p2align 4 -124730a62158dfd3.Right.who: # @"124730a62158dfd3.Right.who" -# %bb.0: # %entry - movl $3, %eax - retq - # -- End function - .def 124730a62158dfd3.Right.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Right.__before_init__ # -- Begin function 124730a62158dfd3.Right.__before_init__ - .p2align 4 -124730a62158dfd3.Right.__before_init__: # @"124730a62158dfd3.Right.__before_init__" -# %bb.0: # %entry - movl $0, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.Diamond.__init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Diamond.__init__ # -- Begin function 124730a62158dfd3.Diamond.__init__ - .p2align 4 -124730a62158dfd3.Diamond.__init__: # @"124730a62158dfd3.Diamond.__init__" -# %bb.0: # %entry - movl %edx, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.Diamond.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Diamond.__before_init__ # -- Begin function 124730a62158dfd3.Diamond.__before_init__ - .p2align 4 -124730a62158dfd3.Diamond.__before_init__: # @"124730a62158dfd3.Diamond.__before_init__" -# %bb.0: # %entry - movl $0, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.ShapeM.area; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.ShapeM.area # -- Begin function 124730a62158dfd3.ShapeM.area - .p2align 4 -124730a62158dfd3.ShapeM.area: # @"124730a62158dfd3.ShapeM.area" -# %bb.0: # %entry - xorps %xmm0, %xmm0 - retq - # -- End function - .def 124730a62158dfd3.ShapeM.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.ShapeM.__before_init__ # -- Begin function 124730a62158dfd3.ShapeM.__before_init__ - .p2align 4 -124730a62158dfd3.ShapeM.__before_init__: # @"124730a62158dfd3.ShapeM.__before_init__" -# %bb.0: # %entry - leaq 124730a62158dfd3.ShapeM.vtable(%rip), %rax - movq %rax, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.ColorM.__init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.ColorM.__init__ # -- Begin function 124730a62158dfd3.ColorM.__init__ - .p2align 4 -124730a62158dfd3.ColorM.__init__: # @"124730a62158dfd3.ColorM.__init__" -# %bb.0: # %entry - movl %edx, 8(%rcx) - retq - # -- End function - .def 124730a62158dfd3.ColorM.color_code; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.ColorM.color_code # -- Begin function 124730a62158dfd3.ColorM.color_code - .p2align 4 -124730a62158dfd3.ColorM.color_code: # @"124730a62158dfd3.ColorM.color_code" -# %bb.0: # %entry - movl 8(%rcx), %eax - retq - # -- End function - .def 124730a62158dfd3.ColorM.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.ColorM.__before_init__ # -- Begin function 124730a62158dfd3.ColorM.__before_init__ - .p2align 4 -124730a62158dfd3.ColorM.__before_init__: # @"124730a62158dfd3.ColorM.__before_init__" -# %bb.0: # %entry - movq $0, 8(%rcx) - leaq 124730a62158dfd3.ColorM.vtable(%rip), %rax - movq %rax, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.ColoredCircle.__init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.ColoredCircle.__init__ # -- Begin function 124730a62158dfd3.ColoredCircle.__init__ - .p2align 4 -124730a62158dfd3.ColoredCircle.__init__: # @"124730a62158dfd3.ColoredCircle.__init__" -# %bb.0: # %entry - movl %r8d, 8(%rcx) - movsd %xmm1, 16(%rcx) - retq - # -- End function - .def 124730a62158dfd3.ColoredCircle.area; - .scl 2; - .type 32; - .endef - .section .rdata,"dr" - .p2align 3, 0x0 # -- Begin function 124730a62158dfd3.ColoredCircle.area -.LCPI25_0: - .quad 0x400921fb53c8d4f0 # double 3.1415926499999998 - .text - .globl 124730a62158dfd3.ColoredCircle.area - .p2align 4 -124730a62158dfd3.ColoredCircle.area: # @"124730a62158dfd3.ColoredCircle.area" -# %bb.0: # %entry - movsd 16(%rcx), %xmm1 # xmm1 = mem[0],zero - movsd .LCPI25_0(%rip), %xmm0 # xmm0 = [3.1415926499999998E+0,0.0E+0] - mulsd %xmm1, %xmm0 - mulsd %xmm1, %xmm0 - retq - # -- End function - .def 124730a62158dfd3.ColoredCircle.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.ColoredCircle.__before_init__ # -- Begin function 124730a62158dfd3.ColoredCircle.__before_init__ - .p2align 4 -124730a62158dfd3.ColoredCircle.__before_init__: # @"124730a62158dfd3.ColoredCircle.__before_init__" -# %bb.0: # %entry - movq $0, 16(%rcx) - movq $0, 8(%rcx) - leaq 124730a62158dfd3.ColoredCircle.vtable(%rip), %rax - movq %rax, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.Vec2M.__new__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2M.__new__ # -- Begin function 124730a62158dfd3.Vec2M.__new__ - .p2align 4 -124730a62158dfd3.Vec2M.__new__: # @"124730a62158dfd3.Vec2M.__new__" -# %bb.0: # %entry - movl $16, %ecx - jmp malloc # TAILCALL - # -- End function - .def 124730a62158dfd3.Vec2M.__init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2M.__init__ # -- Begin function 124730a62158dfd3.Vec2M.__init__ - .p2align 4 -124730a62158dfd3.Vec2M.__init__: # @"124730a62158dfd3.Vec2M.__init__" -# %bb.0: # %entry - movsd %xmm1, (%rcx) - movsd %xmm2, 8(%rcx) - retq - # -- End function - .def 124730a62158dfd3.Vec2M.__add__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2M.__add__ # -- Begin function 124730a62158dfd3.Vec2M.__add__ - .p2align 4 -124730a62158dfd3.Vec2M.__add__: # @"124730a62158dfd3.Vec2M.__add__" -# %bb.0: # %entry - pushq %rsi - pushq %rdi - subq $40, %rsp - movq %rdx, %rsi - movq %rcx, %rdi - movl $1, %ecx - movl $16, %edx - callq calloc - movupd (%rsi), %xmm0 - movupd (%rdi), %xmm1 - addpd %xmm0, %xmm1 - movupd %xmm1, (%rax) - addq $40, %rsp - popq %rdi - popq %rsi - retq - # -- End function - .def 124730a62158dfd3.Vec2M.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2M.__before_init__ # -- Begin function 124730a62158dfd3.Vec2M.__before_init__ - .p2align 4 -124730a62158dfd3.Vec2M.__before_init__: # @"124730a62158dfd3.Vec2M.__before_init__" -# %bb.0: # %entry - movq $0, 8(%rcx) - movq $0, (%rcx) - retq - # -- End function - .def 124730a62158dfd3.Vec2Extra.extra_val; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2Extra.extra_val # -- Begin function 124730a62158dfd3.Vec2Extra.extra_val - .p2align 4 -124730a62158dfd3.Vec2Extra.extra_val: # @"124730a62158dfd3.Vec2Extra.extra_val" -# %bb.0: # %entry - movl $7, %eax - retq - # -- End function - .def 124730a62158dfd3.Vec2Extra.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2Extra.__before_init__ # -- Begin function 124730a62158dfd3.Vec2Extra.__before_init__ - .p2align 4 -124730a62158dfd3.Vec2Extra.__before_init__: # @"124730a62158dfd3.Vec2Extra.__before_init__" -# %bb.0: # %entry - retq - # -- End function - .def 124730a62158dfd3.Vec2Both.__new__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2Both.__new__ # -- Begin function 124730a62158dfd3.Vec2Both.__new__ - .p2align 4 -124730a62158dfd3.Vec2Both.__new__: # @"124730a62158dfd3.Vec2Both.__new__" -# %bb.0: # %entry - movl $16, %ecx - jmp malloc # TAILCALL - # -- End function - .def 124730a62158dfd3.Vec2Both.__init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2Both.__init__ # -- Begin function 124730a62158dfd3.Vec2Both.__init__ - .p2align 4 -124730a62158dfd3.Vec2Both.__init__: # @"124730a62158dfd3.Vec2Both.__init__" -# %bb.0: # %entry - movsd %xmm1, (%rcx) - movsd %xmm2, 8(%rcx) - retq - # -- End function - .def 124730a62158dfd3.Vec2Both.__before_init__; - .scl 2; - .type 32; - .endef - .globl 124730a62158dfd3.Vec2Both.__before_init__ # -- Begin function 124730a62158dfd3.Vec2Both.__before_init__ - .p2align 4 -124730a62158dfd3.Vec2Both.__before_init__: # @"124730a62158dfd3.Vec2Both.__before_init__" -# %bb.0: # %entry - movq $0, 8(%rcx) - movq $0, (%rcx) - retq - # -- End function - .bss - .globl _pass_count # @_pass_count - .p2align 2, 0x0 -_pass_count: - .long 0 # 0x0 - - .globl _fail_count # @_fail_count - .p2align 2, 0x0 -_fail_count: - .long 0 # 0x0 - - .globl _total_pass # @_total_pass - .p2align 2, 0x0 -_total_pass: - .long 0 # 0x0 - - .globl _total_fail # @_total_fail - .p2align 2, 0x0 -_total_fail: - .long 0 # 0x0 - - .globl INT # @INT - .p2align 2, 0x0 -INT: - .long 0 # 0x0 - - .globl INTPTR # @INTPTR - .p2align 2, 0x0 -INTPTR: - .long 0 # 0x0 - - .globl BOOL # @BOOL - .p2align 2, 0x0 -BOOL: - .long 0 # 0x0 - - .globl UINT # @UINT - .p2align 2, 0x0 -UINT: - .long 0 # 0x0 - - .globl UINTPTR # @UINTPTR - .p2align 2, 0x0 -UINTPTR: - .long 0 # 0x0 - - .globl BYTE # @BYTE - .p2align 2, 0x0 -BYTE: - .long 0 # 0x0 - - .globl BYTEPTR # @BYTEPTR - .p2align 2, 0x0 -BYTEPTR: - .long 0 # 0x0 - - .globl WORD # @WORD - .p2align 2, 0x0 -WORD: - .long 0 # 0x0 - - .globl DWORD # @DWORD - .p2align 2, 0x0 -DWORD: - .long 0 # 0x0 - - .globl QWORD # @QWORD - .p2align 2, 0x0 -QWORD: - .long 0 # 0x0 - - .globl TCHAR # @TCHAR - .p2align 2, 0x0 -TCHAR: - .long 0 # 0x0 - - .globl CHARLIST # @CHARLIST - .p2align 2, 0x0 -CHARLIST: - .long 0 # 0x0 - - .globl VOID # @VOID - .p2align 2, 0x0 -VOID: - .long 0 # 0x0 - - .globl SHORT # @SHORT - .p2align 2, 0x0 -SHORT: - .long 0 # 0x0 - - .globl SHORTPTR # @SHORTPTR - .p2align 2, 0x0 -SHORTPTR: - .long 0 # 0x0 - - .globl USHORT # @USHORT - .p2align 2, 0x0 -USHORT: - .long 0 # 0x0 - - .globl USHORTPTR # @USHORTPTR - .p2align 2, 0x0 -USHORTPTR: - .long 0 # 0x0 - - .globl LONGLONG # @LONGLONG - .p2align 2, 0x0 -LONGLONG: - .long 0 # 0x0 - - .globl ULONGLONG # @ULONGLONG - .p2align 2, 0x0 -ULONGLONG: - .long 0 # 0x0 - - .globl LONG # @LONG - .p2align 2, 0x0 -LONG: - .long 0 # 0x0 - - .globl ULONG # @ULONG - .p2align 2, 0x0 -ULONG: - .long 0 # 0x0 - - .globl WCHAR # @WCHAR - .p2align 2, 0x0 -WCHAR: - .long 0 # 0x0 - - .globl WCHARPTR # @WCHARPTR - .p2align 2, 0x0 -WCHARPTR: - .long 0 # 0x0 - - .globl CHARPTR # @CHARPTR - .p2align 2, 0x0 -CHARPTR: - .long 0 # 0x0 - - .globl FSIZE_t # @FSIZE_t - .p2align 2, 0x0 -FSIZE_t: - .long 0 # 0x0 - - .globl LBA_t # @LBA_t - .p2align 2, 0x0 -LBA_t: - .long 0 # 0x0 - - .globl VOIDPTR # @VOIDPTR - .p2align 2, 0x0 -VOIDPTR: - .long 0 # 0x0 - - .globl FLOAT # @FLOAT - .p2align 2, 0x0 -FLOAT: - .long 0 # 0x0 - - .globl DOUBLE # @DOUBLE - .p2align 2, 0x0 -DOUBLE: - .long 0 # 0x0 - - .globl FLOAT8 # @FLOAT8 - .p2align 2, 0x0 -FLOAT8: - .long 0 # 0x0 - - .globl FLOAT16 # @FLOAT16 - .p2align 2, 0x0 -FLOAT16: - .long 0 # 0x0 - - .globl FLOAT32 # @FLOAT32 - .p2align 2, 0x0 -FLOAT32: - .long 0 # 0x0 - - .globl FLOAT64 # @FLOAT64 - .p2align 2, 0x0 -FLOAT64: - .long 0 # 0x0 - - .globl FLOAT128 # @FLOAT128 - .p2align 2, 0x0 -FLOAT128: - .long 0 # 0x0 - - .globl INT8 # @INT8 - .p2align 2, 0x0 -INT8: - .long 0 # 0x0 - - .globl INT16 # @INT16 - .p2align 2, 0x0 -INT16: - .long 0 # 0x0 - - .globl INT32 # @INT32 - .p2align 2, 0x0 -INT32: - .long 0 # 0x0 - - .globl INT64 # @INT64 - .p2align 2, 0x0 -INT64: - .long 0 # 0x0 - - .globl UINT8 # @UINT8 - .p2align 2, 0x0 -UINT8: - .long 0 # 0x0 - - .globl UINT16 # @UINT16 - .p2align 2, 0x0 -UINT16: - .long 0 # 0x0 - - .globl UINT32 # @UINT32 - .p2align 2, 0x0 -UINT32: - .long 0 # 0x0 - - .globl UINT64 # @UINT64 - .p2align 2, 0x0 -UINT64: - .long 0 # 0x0 - - .globl INT8PTR # @INT8PTR - .p2align 2, 0x0 -INT8PTR: - .long 0 # 0x0 - - .globl INT16PTR # @INT16PTR - .p2align 2, 0x0 -INT16PTR: - .long 0 # 0x0 - - .globl INT32PTR # @INT32PTR - .p2align 2, 0x0 -INT32PTR: - .long 0 # 0x0 - - .globl INT64PTR # @INT64PTR - .p2align 2, 0x0 -INT64PTR: - .long 0 # 0x0 - - .globl UINT8PTR # @UINT8PTR - .p2align 2, 0x0 -UINT8PTR: - .long 0 # 0x0 - - .globl UINT16PTR # @UINT16PTR - .p2align 2, 0x0 -UINT16PTR: - .long 0 # 0x0 - - .globl UINT32PTR # @UINT32PTR - .p2align 2, 0x0 -UINT32PTR: - .long 0 # 0x0 - - .globl UINT64PTR # @UINT64PTR - .p2align 2, 0x0 -UINT64PTR: - .long 0 # 0x0 - - .globl CHAR8 # @CHAR8 - .p2align 2, 0x0 -CHAR8: - .long 0 # 0x0 - - .globl CHAR16 # @CHAR16 - .p2align 2, 0x0 -CHAR16: - .long 0 # 0x0 - - .globl CHAR32 # @CHAR32 - .p2align 2, 0x0 -CHAR32: - .long 0 # 0x0 - - .globl CHAR8PTR # @CHAR8PTR - .p2align 2, 0x0 -CHAR8PTR: - .long 0 # 0x0 - - .globl CHAR16PTR # @CHAR16PTR - .p2align 2, 0x0 -CHAR16PTR: - .long 0 # 0x0 - - .globl CHAR32PTR # @CHAR32PTR - .p2align 2, 0x0 -CHAR32PTR: - .long 0 # 0x0 - - .globl i8 # @i8 - .p2align 2, 0x0 -i8: - .long 0 # 0x0 - - .globl i16 # @i16 - .p2align 2, 0x0 -i16: - .long 0 # 0x0 - - .globl i32 # @i32 - .p2align 2, 0x0 -i32: - .long 0 # 0x0 - - .globl i64 # @i64 - .p2align 2, 0x0 -i64: - .long 0 # 0x0 - - .globl u8 # @u8 - .p2align 2, 0x0 -u8: - .long 0 # 0x0 - - .globl u16 # @u16 - .p2align 2, 0x0 -u16: - .long 0 # 0x0 - - .globl u32 # @u32 - .p2align 2, 0x0 -u32: - .long 0 # 0x0 - - .globl u64 # @u64 - .p2align 2, 0x0 -u64: - .long 0 # 0x0 - - .globl SIZE_T # @SIZE_T - .p2align 2, 0x0 -SIZE_T: - .long 0 # 0x0 - - .globl SSIZE_T # @SSIZE_T - .p2align 2, 0x0 -SSIZE_T: - .long 0 # 0x0 - - .globl PTRDIFF_T # @PTRDIFF_T - .p2align 2, 0x0 -PTRDIFF_T: - .long 0 # 0x0 - - .globl int8_t # @int8_t - .p2align 2, 0x0 -int8_t: - .long 0 # 0x0 - - .globl int16_t # @int16_t - .p2align 2, 0x0 -int16_t: - .long 0 # 0x0 - - .globl int32_t # @int32_t - .p2align 2, 0x0 -int32_t: - .long 0 # 0x0 - - .globl int64_t # @int64_t - .p2align 2, 0x0 -int64_t: - .long 0 # 0x0 - - .globl uint8_t # @uint8_t - .p2align 2, 0x0 -uint8_t: - .long 0 # 0x0 - - .globl uint16_t # @uint16_t - .p2align 2, 0x0 -uint16_t: - .long 0 # 0x0 - - .globl uint32_t # @uint32_t - .p2align 2, 0x0 -uint32_t: - .long 0 # 0x0 - - .globl uint64_t # @uint64_t - .p2align 2, 0x0 -uint64_t: - .long 0 # 0x0 - - .globl size_t # @size_t - .p2align 2, 0x0 -size_t: - .long 0 # 0x0 - - .globl ssize_t # @ssize_t - .p2align 2, 0x0 -ssize_t: - .long 0 # 0x0 - - .globl ptrdiff_t # @ptrdiff_t - .p2align 2, 0x0 -ptrdiff_t: - .long 0 # 0x0 - - .globl intptr_t # @intptr_t - .p2align 2, 0x0 -intptr_t: - .long 0 # 0x0 - - .globl uintptr_t # @uintptr_t - .p2align 2, 0x0 -uintptr_t: - .long 0 # 0x0 - - .globl wchar_t # @wchar_t - .p2align 2, 0x0 -wchar_t: - .long 0 # 0x0 - - .globl char8_t # @char8_t - .p2align 2, 0x0 -char8_t: - .long 0 # 0x0 - - .globl char16_t # @char16_t - .p2align 2, 0x0 -char16_t: - .long 0 # 0x0 - - .globl char32_t # @char32_t - .p2align 2, 0x0 -char32_t: - .long 0 # 0x0 - - .globl float8_t # @float8_t - .p2align 2, 0x0 -float8_t: - .long 0 # 0x0 - - .globl float16_t # @float16_t - .p2align 2, 0x0 -float16_t: - .long 0 # 0x0 - - .globl float32_t # @float32_t - .p2align 2, 0x0 -float32_t: - .long 0 # 0x0 - - .globl float64_t # @float64_t - .p2align 2, 0x0 -float64_t: - .long 0 # 0x0 - - .globl float128_t # @float128_t - .p2align 2, 0x0 -float128_t: - .long 0 # 0x0 - - .globl _Bool # @_Bool - .p2align 2, 0x0 -_Bool: - .long 0 # 0x0 - - .globl HANDLE # @HANDLE - .p2align 2, 0x0 -HANDLE: - .long 0 # 0x0 - - .globl LPCSTR # @LPCSTR - .p2align 2, 0x0 -LPCSTR: - .long 0 # 0x0 - - .globl LPCWSTR # @LPCWSTR - .p2align 2, 0x0 -LPCWSTR: - .long 0 # 0x0 - - .section .rdata,"dr" - .p2align 3, 0x0 # @"124730a62158dfd3.ShapeM.vtable" -124730a62158dfd3.ShapeM.vtable: - .quad 124730a62158dfd3.ShapeM.area - - .p2align 3, 0x0 # @"124730a62158dfd3.ColorM.vtable" -124730a62158dfd3.ColorM.vtable: - .quad 124730a62158dfd3.ColorM.color_code - - .p2align 3, 0x0 # @"124730a62158dfd3.ColoredCircle.vtable" -124730a62158dfd3.ColoredCircle.vtable: - .quad 124730a62158dfd3.ColoredCircle.area - .quad 124730a62158dfd3.ColorM.color_code - - .p2align 4, 0x0 # @.str.124730a62158dfd3.0 -.str.124730a62158dfd3.0: - .asciz "MultiInheritTest: \345\244\232\347\273\247\346\211\277\344\270\223\351\241\271\346\265\213\350\257\225" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.1 -.str.124730a62158dfd3.1: - .asciz "\345\244\232\347\273\247\346\211\277\345\255\227\346\256\265\345\220\210\345\271\266" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.2 -.str.124730a62158dfd3.2: - .asciz "C: a=%d b=%d c=%d" - -.str.124730a62158dfd3.4: # @.str.124730a62158dfd3.4 - .asciz "C.a \345\220\210\345\271\266 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.5 -.str.124730a62158dfd3.5: - .asciz "C.a \345\220\210\345\271\266 FAILED" - -.str.124730a62158dfd3.6: # @.str.124730a62158dfd3.6 - .asciz "C.b \345\220\210\345\271\266 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.7 -.str.124730a62158dfd3.7: - .asciz "C.b \345\220\210\345\271\266 FAILED" - -.str.124730a62158dfd3.8: # @.str.124730a62158dfd3.8 - .asciz "C.c \350\207\252\350\272\253 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.9 -.str.124730a62158dfd3.9: - .asciz "C.c \350\207\252\350\272\253 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.10 -.str.124730a62158dfd3.10: - .asciz "C.get_a \347\273\247\346\211\277 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.11 -.str.124730a62158dfd3.11: - .asciz "C.get_a \347\273\247\346\211\277 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.12 -.str.124730a62158dfd3.12: - .asciz "C.get_b \347\273\247\346\211\277 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.13 -.str.124730a62158dfd3.13: - .asciz "C.get_b \347\273\247\346\211\277 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.14 -.str.124730a62158dfd3.14: - .asciz "C.get_c \350\207\252\350\272\253 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.15 -.str.124730a62158dfd3.15: - .asciz "C.get_c \350\207\252\350\272\253 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.16 -.str.124730a62158dfd3.16: - .asciz "\345\255\227\346\256\265\345\220\210\345\271\266\346\265\213\350\257\225\345\256\214\346\210\220" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.17 -.str.124730a62158dfd3.17: - .asciz "\350\217\261\345\275\242\345\216\273\351\207\215 + \346\234\200\345\267\246\344\274\230\345\205\210" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.18 -.str.124730a62158dfd3.18: - .asciz "Diamond: shared=%d who=%d base=%d" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.20 -.str.124730a62158dfd3.20: - .asciz "Diamond.shared \350\217\261\345\275\242\345\216\273\351\207\215 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.21 -.str.124730a62158dfd3.21: - .asciz "Diamond.shared \350\217\261\345\275\242\345\216\273\351\207\215 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.22 -.str.124730a62158dfd3.22: - .asciz "who() \346\234\200\345\267\246\344\274\230\345\205\210(Left) OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.23 -.str.124730a62158dfd3.23: - .asciz "who() \346\234\200\345\267\246\344\274\230\345\205\210 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.24 -.str.124730a62158dfd3.24: - .asciz "Base \346\226\271\346\263\225\347\273\247\346\211\277 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.25 -.str.124730a62158dfd3.25: - .asciz "Base \346\226\271\346\263\225\347\273\247\346\211\277 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.26 -.str.124730a62158dfd3.26: - .asciz "\350\217\261\345\275\242\345\216\273\351\207\215\346\265\213\350\257\225\345\256\214\346\210\220" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.27 -.str.124730a62158dfd3.27: - .asciz "\350\231\232\346\226\271\346\263\225\345\244\232\347\273\247\346\211\277 vtable" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.28 -.str.124730a62158dfd3.28: - .asciz "ColoredCircle: r=%.1f color=%d area=%.2f code=%d" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.30 -.str.124730a62158dfd3.30: - .asciz "ColorM.color \345\255\227\346\256\265 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.31 -.str.124730a62158dfd3.31: - .asciz "ColorM.color \345\255\227\346\256\265 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.32 -.str.124730a62158dfd3.32: - .asciz "color_code \350\231\232\346\226\271\346\263\225\345\210\206\346\264\276 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.33 -.str.124730a62158dfd3.33: - .asciz "color_code \350\231\232\346\226\271\346\263\225\345\210\206\346\264\276 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.34 -.str.124730a62158dfd3.34: - .asciz "area \350\231\232\346\226\271\346\263\225\350\246\206\347\233\226 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.35 -.str.124730a62158dfd3.35: - .asciz "area \350\231\232\346\226\271\346\263\225\350\246\206\347\233\226 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.36 -.str.124730a62158dfd3.36: - .asciz "\350\231\232\346\226\271\346\263\225\345\244\232\347\273\247\346\211\277\346\265\213\350\257\225\345\256\214\346\210\220" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.37 -.str.124730a62158dfd3.37: - .asciz "\350\277\220\347\256\227\347\254\246\351\207\215\350\275\275 + \346\226\271\346\263\225\347\273\247\346\211\277\351\223\276" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.38 -.str.124730a62158dfd3.38: - .asciz "Vec2Both add: (%.1f, %.1f)" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.40 -.str.124730a62158dfd3.40: - .asciz "Vec2Both __add__ \347\273\247\346\211\277 OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.41 -.str.124730a62158dfd3.41: - .asciz "Vec2Both __add__ \347\273\247\346\211\277 FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.42 -.str.124730a62158dfd3.42: - .asciz "Vec2Both __add__ y OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.43 -.str.124730a62158dfd3.43: - .asciz "Vec2Both __add__ y FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.44 -.str.124730a62158dfd3.44: - .asciz "Vec2Both extra_val: %d" - -.str.124730a62158dfd3.45: # @.str.124730a62158dfd3.45 - .asciz "%s\n" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.46 -.str.124730a62158dfd3.46: - .asciz "extra_val \347\273\247\346\211\277(Vec2Extra) OK" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.47 -.str.124730a62158dfd3.47: - .asciz "extra_val \347\273\247\346\211\277(Vec2Extra) FAILED" - - .p2align 4, 0x0 # @.str.124730a62158dfd3.48 -.str.124730a62158dfd3.48: - .asciz "\350\277\220\347\256\227\347\254\246\351\207\215\350\275\275\347\273\247\346\211\277\351\223\276\346\265\213\350\257\225\345\256\214\346\210\220" - diff --git a/sendaiandsplit.py b/sendaiandsplit.py new file mode 100644 index 0000000..fdea621 --- /dev/null +++ b/sendaiandsplit.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- +"""sendaiandsplit.py - TransPyV/includes 源码合并/分割工具 + +用法: + python sendaiandsplit.py 0 # 合并 TransPyV/App 下所有 .vp → ./TPV.vp + python sendaiandsplit.py 1 # 分割 ./TPV.vp → ./TPV0.vp, ./TPV1.vp, ...(每块 199KB) + python sendaiandsplit.py includes 0 # 合并 ./includes 下所有 .vp/.vp.txt → ./includes.vp + python sendaiandsplit.py includes 1 # 分割 ./includes.vp → ./includes0.vp.txt, ./includes1.vp.txt, ...(每块 199KB) +""" +import os +import sys + +# 默认模式(TransPyV/App)配置 +APP_DIR = os.path.join("TransPyV", "App") +APP_OUTPUT = "TPV.vp" +APP_SPLIT_PREFIX = "TPV" + +# includes 模式配置(用户已将 includes 下文件后缀改为 .vp.txt) +INCLUDES_DIR = "includes" +INCLUDES_OUTPUT = "includes.vp" +INCLUDES_SPLIT_PREFIX = "includes" + +# 分割块大小(199KB) +CHUNK_SIZE = 199 * 1024 + + +def merge(src_dir: str, out_file: str, exts) -> int: + """递归扫描 src_dir 下后缀匹配 exts(单个 str 或 tuple)的文件,按排序合并为 out_file""" + if not os.path.isdir(src_dir): + print(f"错误: 目录 {src_dir} 不存在", file=sys.stderr) + return 1 + if isinstance(exts, str): + exts = (exts,) + + matched = [] + for root, _dirs, files in os.walk(src_dir): + for f in files: + if any(f.endswith(e) for e in exts): + matched.append(os.path.join(root, f)) + matched.sort() # 稳定顺序,保证合并结果可复现 + + total = 0 + try: + with open(out_file, "w", encoding="utf-8") as out: + for path in matched: + with open(path, "r", encoding="utf-8") as fh: + content = fh.read() + out.write(content) + if not content.endswith("\n"): + out.write("\n") + total += len(content) + except OSError as exc: + print(f"错误: 写入 {out_file} 失败: {exc}", file=sys.stderr) + return 1 + + print(f"合并完成: {len(matched)} 个文件 → {out_file} ({total} 字节)") + return 0 + + +def split(in_file: str, out_prefix: str, out_ext: str) -> int: + """将 in_file 按 199KB 分块,输出 {out_prefix}{number}.{out_ext}""" + if not os.path.exists(in_file): + print(f"错误: {in_file} 不存在,请先运行对应的合并命令", file=sys.stderr) + return 1 + + try: + with open(in_file, "r", encoding="utf-8") as fh: + data = fh.read() + except OSError as exc: + print(f"错误: 读取 {in_file} 失败: {exc}", file=sys.stderr) + return 1 + + n = 0 + for i in range(0, len(data), CHUNK_SIZE): + chunk = data[i:i + CHUNK_SIZE] + name = f"{out_prefix}{n}.{out_ext}" + try: + with open(name, "w", encoding="utf-8") as out: + out.write(chunk) + except OSError as exc: + print(f"错误: 写入 {name} 失败: {exc}", file=sys.stderr) + return 1 + print(f"{name}: {len(chunk)} 字节") + n += 1 + + print(f"分割完成: {n} 个文件(每块上限 199KB)") + return 0 + + +def print_usage() -> None: + print("用法: python sendaiandsplit.py <0|1> [或] python sendaiandsplit.py includes <0|1>", file=sys.stderr) + print(" 0 = 合并 TransPyV/App 下所有 .vp → ./TPV.vp", file=sys.stderr) + print(" 1 = 分割 ./TPV.vp → ./TPV0.vp, ./TPV1.vp, ...(每块 199KB)", file=sys.stderr) + print(" includes 0 = 合并 ./includes 下所有 .vp/.vp.txt → ./includes.vp", file=sys.stderr) + print(" includes 1 = 分割 ./includes.vp → ./includes0.vp.txt, ./includes1.vp.txt, ...(每块 199KB)", file=sys.stderr) + + +def main() -> int: + args = sys.argv[1:] + + # 默认模式: sendaiandsplit.py 0|1 + if len(args) == 1 and args[0] in ("0", "1"): + if args[0] == "0": + return merge(APP_DIR, APP_OUTPUT, ".vp") + return split(APP_OUTPUT, APP_SPLIT_PREFIX, "vp") + + # includes 模式: sendaiandsplit.py includes 0|1 + if len(args) == 2 and args[0] == "includes" and args[1] in ("0", "1"): + if args[1] == "0": + # 同时匹配 .vp 与 .vp.txt(用户计划将 includes 后缀改为 .vp.txt) + return merge(INCLUDES_DIR, INCLUDES_OUTPUT, (".vp", ".vp.txt")) + return split(INCLUDES_OUTPUT, INCLUDES_SPLIT_PREFIX, "vp.txt") + + print_usage() + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/thistest/.tpv_build/temp/_sha1_map.txt b/thistest/.tpv_build/temp/_sha1_map.txt index bd24749..e23efc9 100644 --- a/thistest/.tpv_build/temp/_sha1_map.txt +++ b/thistest/.tpv_build/temp/_sha1_map.txt @@ -1 +1,18 @@ +aa246c6e6aa30484:includes/atom.vp +691880abe4506068:includes/hello.vp +6ddf430432a0e373:includes/json/__init__.vp +240a9a4157959a9f:includes/json/__parser.vp +20cd49775c100a38:includes/json/__writer.vp +04e5fe47ff2af528:includes/memhub.vp +f5522571bcce7bcb:includes/stdint.vp +285b6aa29a34754d:includes/stdio.vp +6c658cc728d0bbf4:includes/stdlib.vp +928c0ff6d8c69ec9:includes/string.vp +6339cb65da404fad:includes/this.vp +c9f4be41ca1cc2b4:includes/viperio.vp +3624cfde3c5cb6cb:includes/viperstring.vp +fc980acec33d69a7:includes/w32/win32base.vp +bbdf3bbd4c3bc28c:includes/w32/win32console.vp +e0f0afe3caa1e486:includes/_dict.vp +7cadfe07e983fd90:includes/_list.vp 7b4ae756e327a77e:main.vp

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

b^C+(XZ+*z*@#DLn*K&#R`6(LMZMwFwlOp; zXdvFzqh`6qPvWm~{IouVrN|;VOQ+iQisdYkk9|uia^6}gnyvER?28&6&8SboAS4Qm z(@}Gp3mS;uk`Jd%mct7nY;%s+_UCFi3qt94K+5sU%F8CBZf)Yf?Xv)nJ_}M4&xtQ+ z02V0Ea!aG2!8z09nQi`Ml@Uwe1?bOuKo*2Nb3j}%;u><^wyGv_9^p;Cn!uy4CQ{~6 zehL~;O=K-(PA%Ey)EKruS7TTZj@AWXB4~VT#wFI+zBRG=jz4ld`XkS|O$800)isPa z#C?8Euao!kEi!x>>oHnfXQ)Wn&S74lHS9|=zE5GJXA|4G97a2Yl zzl>jSdu>f_zRND@IpWcDDW0RzxT)Mw-4rx9+t6rVa;_~ly!7U}anzH`4cfUmQ^m{9 zjjS?5V=gu?XmGw&QK_G9At_`I!M>1fZYpHc^3%UZZqtI|(QsSxE?GZaF6UK0z2SuB zm}R@5NwZyG3JRE2&>*tR!VX0BOm~FJ2s7?&2tqMZZxQ8Cod24ZRTp@5=46 zR0iSMM}*sio!_Xxk1uh}yo3QJfjjDW|Noo6obYJ4{i{Y)i(ke^*OM#xbB@Pk&NDs@ zS6D%V);u|jgkoTOr6*_KQVyNB)|2y8imS-dkmLIt7()&`nt`d-w=d}eI4`Z+1i7+g zP+d4cO|!3`$6+l$(Ovdu8;^z@$(7D5(QOf)sA|U|JP8PAmFTv3xtc6qvAjkg{waxN zC=dk=l+pHOhDv$a-dNA(yeEt59Dl&)S;A89J40Be!LOh}l3}+#`-PS~99 zY?IGS+ik))7+q#v)#a;TKHTI(51B^?2akq%@N{i_sGV&X-GqXEcGle_UbINhR*A7l zzpU}1eVgeLZSGBU+`##B@rXTUNfxEt^YxOOj+c{A~&%M5B!fca3mm~A9< zt4}B%4WaOEpLY|H;Xdu-Lwzgny zvW`)eBZUU>@%Tm3v}@TL9RWO=-r%l?va)YkwcrfSVm4I^@rgpyN%&*DI`8T&xS!rD z5%LQao)Bd`qe6u^mz3H?>dAaO8tP|WreG0LVOoS@?`Gw_S-i9f7H^^=a^71(16Awx zWrj+5i5;-;cV-=QSQ@$!m*{qp%2P&1;L7yta6Yd0o&z zd2L^2sLb-(f|1v@)9LVf&RTeCnfjZ1eP-j)FgtNtTUNUkA%|fR&YIa4FPUxe7Bjn` zfil~^%utzSwgn@zZKu;=_Ppy*t{7nWZlB?JGz=HVWoB`pMaZF8gtKP2#Y=`;yu}PJ zXrK(YFEdnT8E(PIaNFs07=G*x*z=T2$K04~kI!v98g9>@F}E#3j>96HHMcEZa@*o9 z=5|2?<+gp9p)$*D3r23+PN%``I8D6L&;6m#X*~Lhq&45fV&ecTHequ(r&`beNm$QP zSul>+;+0(Or&0J&B~uuK;n6Uqap6PDD%bYHLI~T7Y!lAPm#}!xS5MdCmDFq4(=BN5 zRpaT}ml-PYGKobj2+K8WhX6TBiQH%0Dvk1}mS#XtM?GR0B}+S68R)Y+AM@u&{BJ{_ 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 diff --git a/Test/EdgeCaseTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/EdgeCaseTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/EdgeCaseTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/EdgeCaseTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/EdgeCaseTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/EdgeCaseTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/EdgeCaseTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/_sha1_map.txt b/Test/EdgeCaseTest/.tpv_build/temp/_sha1_map.txt index 5842e36..8591871 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp ac0d686cb2cc783b:main.vp diff --git a/Test/EdgeCaseTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/EdgeCaseTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/EdgeCaseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/EdgeCaseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/EdgeCaseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/EdgeCaseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/EdgeCaseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/EdgeCaseTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/EdgeCaseTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/EdgeCaseTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/EdgeCaseTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/EdgeCaseTest/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/EdgeCaseTest/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/EdgeCaseTest/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/EqTest/.tpv_build/temp/78/78943d0dbc89a29a.vpi b/Test/EqTest/.tpv_build/temp/78/78943d0dbc89a29a.vpi deleted file mode 100644 index 02e87b5..0000000 --- a/Test/EqTest/.tpv_build/temp/78/78943d0dbc89a29a.vpi +++ /dev/null @@ -1,13 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import w32.win32console -import t, c -from t import CInt, CExport -import stdio -import stdlib -import string -import testcheck -def main() -> CInt | CExport: pass - diff --git a/Test/EqTest/.tpv_build/temp/_sha1_map.txt b/Test/EqTest/.tpv_build/temp/_sha1_map.txt index 2e6e600..3f35259 100644 --- a/Test/EqTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/EqTest/.tpv_build/temp/_sha1_map.txt @@ -1 +1,13 @@ -78943d0dbc89a29a:main.vp +aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp +f5522571bcce7bcb:includes/stdint.vp +285b6aa29a34754d:includes/stdio.vp +6c658cc728d0bbf4:includes/stdlib.vp +40b053f21c0df07c:includes/string.vp +748d0424e8976fa0:includes/testcheck.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +7cadfe07e983fd90:includes/_list.vp +cb3633a2a25f2da9:main.vp diff --git a/Test/EqTest/output/78943d0dbc89a29a.deps.json b/Test/EqTest/output/78943d0dbc89a29a.deps.json deleted file mode 100644 index ff257cb..0000000 --- a/Test/EqTest/output/78943d0dbc89a29a.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/EqTest/temp/78943d0dbc89a29a.doc.json b/Test/EqTest/temp/78943d0dbc89a29a.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/EqTest/temp/78943d0dbc89a29a.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/EqTest/temp/78943d0dbc89a29a.vpi b/Test/EqTest/temp/78943d0dbc89a29a.vpi deleted file mode 100644 index 50073af..0000000 --- a/Test/EqTest/temp/78943d0dbc89a29a.vpi +++ /dev/null @@ -1,16 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -from stdint import * -import w32.win32console -import t, c -from t import CInt, CExport -import stdio -import stdlib -import string -import testcheck - -def main() -> CInt | CExport: pass diff --git a/Test/EqTest/temp/_phase1_manifest.json b/Test/EqTest/temp/_phase1_manifest.json index 86fa4d1..95295f7 100644 --- a/Test/EqTest/temp/_phase1_manifest.json +++ b/Test/EqTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\EqTest\\App\\main.vp": {"sha1": "78943d0dbc89a29a", "mtime": 1782354684.7481763, "size": 2169}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\EqTest\\App\\main.vp": {"sha1": "cb3633a2a25f2da9", "mtime": 1786169627.2935512, "size": 2344}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/EqTest/temp/_sha1_map.txt b/Test/EqTest/temp/_sha1_map.txt index 75e9aca..7b6fcf9 100644 --- a/Test/EqTest/temp/_sha1_map.txt +++ b/Test/EqTest/temp/_sha1_map.txt @@ -1,8 +1,8 @@ 285b6aa29a34754d:includes/stdio.vp +40b053f21c0df07c:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 748d0424e8976fa0:includes/testcheck.vp -78943d0dbc89a29a:main.vp -928c0ff6d8c69ec9:includes/string.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp +cb3633a2a25f2da9:main.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/Extern2Test/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/Extern2Test/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/Extern2Test/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/Extern2Test/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/Extern2Test/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/Extern2Test/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/Extern2Test/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt b/Test/Extern2Test/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/Extern2Test/.tpv_build/temp/0d/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/19/19f8024d10c828e8.deps.txt b/Test/Extern2Test/.tpv_build/temp/19/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/Test/Extern2Test/.tpv_build/temp/19/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/Extern2Test/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/Extern2Test/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/Extern2Test/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/Extern2Test/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/Extern2Test/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt b/Test/Extern2Test/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/Test/Extern2Test/.tpv_build/temp/22/22bc0df83b3f0e62.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib ast.tokens \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/Extern2Test/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/Extern2Test/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/Extern2Test/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt b/Test/Extern2Test/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/Test/Extern2Test/.tpv_build/temp/2b/2b77d783c41d21d1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt b/Test/Extern2Test/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/Test/Extern2Test/.tpv_build/temp/32/32cfd766982bc6e7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/Extern2Test/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/Extern2Test/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/Extern2Test/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/Extern2Test/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/Extern2Test/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/Extern2Test/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/Extern2Test/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/Extern2Test/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/Extern2Test/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/Extern2Test/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/43/4337fb260448bbe2.deps.txt b/Test/Extern2Test/.tpv_build/temp/43/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/Extern2Test/.tpv_build/temp/43/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/Extern2Test/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/Extern2Test/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt b/Test/Extern2Test/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/Extern2Test/.tpv_build/temp/4d/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/Extern2Test/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/Extern2Test/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/Extern2Test/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/Extern2Test/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/65/657e182b27c2a022.deps.txt b/Test/Extern2Test/.tpv_build/temp/65/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/Extern2Test/.tpv_build/temp/65/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/Extern2Test/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/Extern2Test/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi b/Test/Extern2Test/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi deleted file mode 100644 index ba1cab0..0000000 --- a/Test/Extern2Test/.tpv_build/temp/6c/6c658cc728d0bbf4.vpi +++ /dev/null @@ -1,18 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -from stdint import * -import t -def malloc(size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def calloc(nmemb: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def realloc(p: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CVoid | t.CPtr | t.State: pass - -def free(p: t.CVoid | t.CPtr) -> t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass - -def exit(status: int) -> t.State: pass - diff --git a/Test/Extern2Test/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/Extern2Test/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/Extern2Test/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/Extern2Test/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/Extern2Test/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/Extern2Test/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt b/Test/Extern2Test/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/Extern2Test/.tpv_build/temp/6f/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/Extern2Test/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/Extern2Test/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/Extern2Test/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/Extern2Test/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt b/Test/Extern2Test/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt index 234ee18..c6014d4 100644 --- a/Test/Extern2Test/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/7c/7cadfe07e983fd90.deps.txt @@ -1 +1 @@ -t c memhub string stdint \ No newline at end of file +t c memhub string stdint _list \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/7c/7cadfe07e983fd90.vpi b/Test/Extern2Test/.tpv_build/temp/7c/7cadfe07e983fd90.vpi deleted file mode 100644 index 1688341..0000000 --- a/Test/Extern2Test/.tpv_build/temp/7c/7cadfe07e983fd90.vpi +++ /dev/null @@ -1,27 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -from stdint import * -class list[T]: - __data__: t.CVoid | t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __pool__: memhub.MemManager | t.CPtr - __elem_size__: t.CSizeT - __iter_index__: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT): pass - def __len__(self) -> t.CSizeT: pass - def append(self, item: T): pass - def get(self, index: t.CSizeT) -> T: pass - def __getitem__(self, index: t.CSizeT) -> T: pass - def set(self, index: t.CSizeT, value: T): pass - def __setitem__(self, index: t.CSizeT, value: T): pass - def pop(self) -> T: pass - def clear(self): pass - def __iter__(self) -> list[T] | t.CPtr: pass - def __next__(self) -> T: pass - diff --git a/Test/Extern2Test/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/Extern2Test/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/Extern2Test/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/Extern2Test/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/Extern2Test/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/Extern2Test/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/Extern2Test/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/Extern2Test/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/Extern2Test/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/_sha1_map.txt b/Test/Extern2Test/.tpv_build/temp/_sha1_map.txt index f401f95..1ec53d0 100644 --- a/Test/Extern2Test/.tpv_build/temp/_sha1_map.txt +++ b/Test/Extern2Test/.tpv_build/temp/_sha1_map.txt @@ -1,16 +1,7 @@ -aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -f9d023d1df2bc9c5:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp -6c658cc728d0bbf4:includes/stdlib.vp -ffaf70367668b227:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp -7cadfe07e983fd90:includes/_list.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp c7355810f354ba5c:main.vp diff --git a/Test/Extern2Test/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/Extern2Test/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/Extern2Test/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/Extern2Test/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/Extern2Test/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt b/Test/Extern2Test/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt index b092476..90b6af3 100644 --- a/Test/Extern2Test/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/aa/aa246c6e6aa30484.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/aa/aa246c6e6aa30484.vpi b/Test/Extern2Test/.tpv_build/temp/aa/aa246c6e6aa30484.vpi deleted file mode 100644 index 850204b..0000000 --- a/Test/Extern2Test/.tpv_build/temp/aa/aa246c6e6aa30484.vpi +++ /dev/null @@ -1,22 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -ATOMIC_RELAXED: t.CDefine = 0 -ATOMIC_CONSUME: t.CDefine = 1 -ATOMIC_ACQUIRE: t.CDefine = 2 -ATOMIC_RELEASE: t.CDefine = 3 -ATOMIC_ACQ_REL: t.CDefine = 4 -ATOMIC_SEQ_CST: t.CDefine = 5 -def __atomic_test_and_set(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CBool: pass - -def __atomic_clear(ptr: t.CUInt64T | t.CPtr, order: t.CInt) -> t.CVoid: pass - -def __atomic_thread_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_signal_fence(order: t.CInt) -> t.CVoid: pass - -def __atomic_always_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - -def __atomic_is_lock_free(size: t.CSizeT, ptr: t.CVoid | t.CPtr) -> t.CBool: pass - diff --git a/Test/Extern2Test/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/Extern2Test/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/Extern2Test/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/Extern2Test/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/Extern2Test/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt b/Test/Extern2Test/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt deleted file mode 100644 index 60b345d..0000000 --- a/Test/Extern2Test/.tpv_build/temp/b3/b370d93b74bf55cc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdio hashtable \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt b/Test/Extern2Test/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/Test/Extern2Test/.tpv_build/temp/b5/b543bc1dfb592119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt b/Test/Extern2Test/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/Test/Extern2Test/.tpv_build/temp/b5/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/Extern2Test/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/Extern2Test/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/Extern2Test/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/Extern2Test/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/Extern2Test/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/Extern2Test/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/Extern2Test/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt b/Test/Extern2Test/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/Extern2Test/.tpv_build/temp/c9/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/Extern2Test/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/Extern2Test/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/Extern2Test/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/Extern2Test/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/Extern2Test/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/Extern2Test/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/Extern2Test/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/Extern2Test/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/Extern2Test/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/de/de3357cb9182715e.deps.txt b/Test/Extern2Test/.tpv_build/temp/de/de3357cb9182715e.deps.txt deleted file mode 100644 index 3d26bad..0000000 --- a/Test/Extern2Test/.tpv_build/temp/de/de3357cb9182715e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.stmts ast.exprs ast.astaux ast.visitor ast.lexer ast.parser ast.parser \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/Extern2Test/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/Extern2Test/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/Extern2Test/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/Extern2Test/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/Extern2Test/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/Extern2Test/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt b/Test/Extern2Test/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/Test/Extern2Test/.tpv_build/temp/f5/f5d13f1be34f417a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/Extern2Test/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/Extern2Test/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/Extern2Test/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/Extern2Test/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt b/Test/Extern2Test/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt deleted file mode 100644 index 6803c16..0000000 --- a/Test/Extern2Test/.tpv_build/temp/f9/f9d023d1df2bc9c5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio stdio stdlib \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi b/Test/Extern2Test/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi deleted file mode 100644 index fb3ad3b..0000000 --- a/Test/Extern2Test/.tpv_build/temp/f9/f9d023d1df2bc9c5.vpi +++ /dev/null @@ -1,97 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import string -import atom -import viperio -import stdio -import stdlib -MEMHUB_ALIGN: t.CDefine = 8 -MEMSLAB_MIN_BLOCK: t.CDefine = 16 -MEMSLAB_BITMAP_BYTES: t.CDefine = 256 -MEMBUDDY_MIN_BLOCK: t.CDefine = 32 -MEMBUDDY_MAX_ORDERS: t.CDefine = 32 -MEMBUDDY_HEADER_SIZE: t.CDefine = 8 -def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass - -def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass - -def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass - -@t.CVTable -class MemManager: - __provides__: list[str] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def calloc(self, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self) -> 'MemManager' | t.CPtr: pass - def __exit__(self): pass - def alloc_buf(self, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass - -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemSlab(MemManager): - block_size: t.CSizeT - block_count: t.CSizeT - used_count: t.CSizeT - free_list: t.CVoid | t.CPtr - alloc_map: t.CUInt8T | t.CPtr - alloc_map_size: t.CSizeT - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - -class MemBuddy(MemManager): - __provides__: list[str] - max_order: t.CInt - free_lists: t.CUInt64T | t.CPtr - lock_val: t.CVolatile | t.CInt - usable: t.CVoid | t.CPtr - usable_size: t.CSizeT - chk_stack: t.CUInt64T | t.CPtr - chk_cap: t.CSizeT - chk_depth: t.CSizeT - chk_base: t.CVoid | t.CPtr - def __init__(self, base: t.CVoid | t.CPtr, size: t.CSizeT): pass - def mark(self) -> t.CSizeT: pass - def reset_to(self, mark: t.CSizeT): pass - def reset_all(self): pass - def _fl_push(self, order: t.CInt, block: t.CVoid | t.CPtr): pass - def _fl_pop(self, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self, block: t.CVoid | t.CPtr, order: t.CInt): pass - def _is_valid_ptr(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self): pass - def _unlock(self): pass - def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self) -> t.CInt: pass - def realloc(self, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self) -> t.CSizeT: pass - def stats(self) -> t.CSizeT: pass - def free_count(self) -> t.CSizeT: pass - def free_bytes(self) -> t.CSizeT: pass - def used_bytes(self) -> t.CSizeT: pass - def dump_stats(self, label: t.CChar | t.CPtr): pass - def self_check(self) -> t.CInt: pass - diff --git a/Test/Extern2Test/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/Extern2Test/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/Extern2Test/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/Extern2Test/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/Extern2Test/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/Extern2Test/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/Extern2Test/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/Extern2Test/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt b/Test/Extern2Test/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt deleted file mode 100644 index 5dd68c7..0000000 --- a/Test/Extern2Test/.tpv_build/temp/fd/fde6db0747bdd959.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens ast.base ast.exprs ast.stmts ast.astaux ast.lexer \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/ff/ffaf70367668b227.deps.txt b/Test/Extern2Test/.tpv_build/temp/ff/ffaf70367668b227.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/Test/Extern2Test/.tpv_build/temp/ff/ffaf70367668b227.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/Test/Extern2Test/.tpv_build/temp/ff/ffaf70367668b227.vpi b/Test/Extern2Test/.tpv_build/temp/ff/ffaf70367668b227.vpi deleted file mode 100644 index 2e97004..0000000 --- a/Test/Extern2Test/.tpv_build/temp/ff/ffaf70367668b227.vpi +++ /dev/null @@ -1,54 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import t, c -def strcpy(dest: str, src: str) -> str: pass - -def strcat(dest: str, src: str) -> str: pass - -def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass - -def strlen(src: str) -> t.CSizeT | t.CExport: pass - -def strcmp(str1: str, str2: str) -> t.CInt: pass - -def samestr(str1: str, str2: str) -> bool: pass - -def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass - -def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass - -def strchr(s: str, cr: t.CInt) -> str: pass - -def strrchr(s: str, cr: t.CInt) -> str: pass - -def strstr(s: str, needle: str) -> str: pass - -def strspn(s: str, skip: str) -> int: pass - -def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass - -def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass - -def atoi(src: str) -> t.CInt: pass - -def atoll(src: str) -> t.CInt64T: pass - -def atof(src: str) -> t.CDouble: pass - -def split(s: str, delim: str, result: t.CArray[str]) -> int: pass - -ascii_lowercase: str -ascii_uppercase: str -ascii_letters: str -digits: str -hexdigits: str -octdigits: str -punctuation: str -whitespace: str -printable: str diff --git a/Test/FakeDuckTest/.tpv_build/temp/48/48352329f97d0858.vpi b/Test/FakeDuckTest/.tpv_build/temp/48/48352329f97d0858.vpi deleted file mode 100644 index f5e8787..0000000 --- a/Test/FakeDuckTest/.tpv_build/temp/48/48352329f97d0858.vpi +++ /dev/null @@ -1,16 +0,0 @@ -"""Auto-generated Python stub file""" - - -from stdint import * -import w32.win32console -import t, c -from t import CInt, CExport -import _fakeduck -import stdio -import stdlib -import string -import memhub -import testcheck -import _withcontent -def main() -> CInt | CExport: pass - diff --git a/Test/FakeDuckTest/.tpv_build/temp/_sha1_map.txt b/Test/FakeDuckTest/.tpv_build/temp/_sha1_map.txt index e253d66..57e8423 100644 --- a/Test/FakeDuckTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/FakeDuckTest/.tpv_build/temp/_sha1_map.txt @@ -1 +1,16 @@ -48352329f97d0858:main.vp +aa246c6e6aa30484:includes/atom.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp +f5522571bcce7bcb:includes/stdint.vp +285b6aa29a34754d:includes/stdio.vp +6c658cc728d0bbf4:includes/stdlib.vp +40b053f21c0df07c:includes/string.vp +748d0424e8976fa0:includes/testcheck.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp +652aff7c2e85125c:includes/w32/win32process.vp +b311b47f33281389:includes/_fakeduck.vp +7cadfe07e983fd90:includes/_list.vp +2bdb90cc78b22356:includes/_withcontent.vp +703f69a554ed2a4e:main.vp diff --git a/Test/FakeDuckTest/output/48352329f97d0858.deps.json b/Test/FakeDuckTest/output/48352329f97d0858.deps.json deleted file mode 100644 index ce88263..0000000 --- a/Test/FakeDuckTest/output/48352329f97d0858.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "_withcontent": "74cd54a2cba56957", "_list": "7cadfe07e983fd90", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "_fakeduck": "b311b47f33281389", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/FakeDuckTest/output/74cd54a2cba56957.deps.json b/Test/FakeDuckTest/output/74cd54a2cba56957.deps.json index bf4bdad..9e920ec 100644 --- a/Test/FakeDuckTest/output/74cd54a2cba56957.deps.json +++ b/Test/FakeDuckTest/output/74cd54a2cba56957.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "stdio": "285b6aa29a34754d", "main": "48352329f97d0858", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "_withcontent": "74cd54a2cba56957", "_list": "7cadfe07e983fd90", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "_fakeduck": "b311b47f33281389", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "memhub": "2408ce147bac090b", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "4c39369ffedaddac", "stdlib": "6c658cc728d0bbf4", "main": "703f69a554ed2a4e", "testcheck": "748d0424e8976fa0", "_withcontent": "74cd54a2cba56957", "_list": "7cadfe07e983fd90", "atom": "aa246c6e6aa30484", "_fakeduck": "b311b47f33281389", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/FakeDuckTest/output/7cadfe07e983fd90.deps.json b/Test/FakeDuckTest/output/7cadfe07e983fd90.deps.json deleted file mode 100644 index bf4bdad..0000000 --- a/Test/FakeDuckTest/output/7cadfe07e983fd90.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "stdio": "285b6aa29a34754d", "main": "48352329f97d0858", "stdlib": "6c658cc728d0bbf4", "testcheck": "748d0424e8976fa0", "_withcontent": "74cd54a2cba56957", "_list": "7cadfe07e983fd90", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "_fakeduck": "b311b47f33281389", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/FakeDuckTest/output/_shared_sym_includes.pickle b/Test/FakeDuckTest/output/_shared_sym_includes.pickle index 8ac455e76217e56fd353f9858a62350b0a585997..3b0490e9f45e94641de37fd8b45ed2c21f0fb2e3 100644 GIT binary patch literal 772083 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 z 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 `uG_NYLOWP59G%R!cb64%^-LnKUNTi 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 HobUKQ=AxE@ diff --git a/Test/DictTest/output/b3c2b99b6f3be4c7.deps.json b/Test/DictTest/output/b3c2b99b6f3be4c7.deps.json deleted file mode 100644 index 9ff7454..0000000 --- a/Test/DictTest/output/b3c2b99b6f3be4c7.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"memhub": "04e5fe47ff2af528", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/DictTest/output/e0f0afe3caa1e486.deps.json b/Test/DictTest/output/e0f0afe3caa1e486.deps.json index 74a5ecd..356b131 100644 --- a/Test/DictTest/output/e0f0afe3caa1e486.deps.json +++ b/Test/DictTest/output/e0f0afe3caa1e486.deps.json @@ -1 +1 @@ -{"memhub": "04e5fe47ff2af528", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "atom": "aa246c6e6aa30484", "main": "b3c2b99b6f3be4c7", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file +{"main": "0335b22a0838d62a", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "memhub": "2408ce147bac090b", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "stdio": "285b6aa29a34754d", "viperio": "2c175afd85852faf", "string": "40b053f21c0df07c", "stdlib": "6c658cc728d0bbf4", "json.__init__": "6ddf430432a0e373", "__init__": "6ddf430432a0e373", "json": "6ddf430432a0e373", "testcheck": "748d0424e8976fa0", "atom": "aa246c6e6aa30484", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "_dict": "e0f0afe3caa1e486", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "d137b1f3311f3a7f", "fileio": "d137b1f3311f3a7f", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/DictTest/temp/20cd49775c100a38.stub.ll.dep b/Test/DictTest/temp/20cd49775c100a38.stub.ll.dep index 7df8e8d..389b8dd 100644 --- a/Test/DictTest/temp/20cd49775c100a38.stub.ll.dep +++ b/Test/DictTest/temp/20cd49775c100a38.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|40b053f21c0df07c|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/DictTest/temp/240a9a4157959a9f.stub.ll.dep b/Test/DictTest/temp/240a9a4157959a9f.stub.ll.dep index 7df8e8d..389b8dd 100644 --- a/Test/DictTest/temp/240a9a4157959a9f.stub.ll.dep +++ b/Test/DictTest/temp/240a9a4157959a9f.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|285b6aa29a34754d|6c658cc728d0bbf4|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +2408ce147bac090b|285b6aa29a34754d|2c175afd85852faf|40b053f21c0df07c|6c658cc728d0bbf4|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/DictTest/temp/_phase1_manifest.json b/Test/DictTest/temp/_phase1_manifest.json index 90f8b47..b9785ef 100644 --- a/Test/DictTest/temp/_phase1_manifest.json +++ b/Test/DictTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\DictTest\\App\\main.vp": {"sha1": "b3c2b99b6f3be4c7", "mtime": 1782827868.8446941, "size": 8245}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_dict.vp": {"sha1": "e0f0afe3caa1e486", "mtime": 1785678335.3256674, "size": 12341}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.vp": {"sha1": "6ddf430432a0e373", "mtime": 1785424554.7204792, "size": 7707}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.vp": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.vp": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "04e5fe47ff2af528", "mtime": 1786093335.1900027, "size": 27855}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "928c0ff6d8c69ec9", "mtime": 1786032947.9330952, "size": 11557}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"d:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\DictTest\\App\\main.vp": {"sha1": "0335b22a0838d62a", "mtime": 1786169641.1653085, "size": 8384}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_dict.vp": {"sha1": "e0f0afe3caa1e486", "mtime": 1785678335.3256674, "size": 12341}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.vp": {"sha1": "aa246c6e6aa30484", "mtime": 1785389628.701967, "size": 1198}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.vp": {"sha1": "6ddf430432a0e373", "mtime": 1785424554.7204792, "size": 7707}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.vp": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.vp": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.vp": {"sha1": "2408ce147bac090b", "mtime": 1786323167.9697752, "size": 33121}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.vp": {"sha1": "f5522571bcce7bcb", "mtime": 1785563642.3805652, "size": 4356}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.vp": {"sha1": "285b6aa29a34754d", "mtime": 1785332415.1829746, "size": 561}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.vp": {"sha1": "6c658cc728d0bbf4", "mtime": 1785750602.5446548, "size": 413}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.vp": {"sha1": "40b053f21c0df07c", "mtime": 1786533758.705974, "size": 11985}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.vp": {"sha1": "748d0424e8976fa0", "mtime": 1785332415.20287, "size": 1919}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.vp": {"sha1": "2c175afd85852faf", "mtime": 1786320035.0415876, "size": 1685}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.vp": {"sha1": "fc980acec33d69a7", "mtime": 1785332415.2228394, "size": 2653}, "d:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.vp": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/DictTest/temp/_sha1_map.txt b/Test/DictTest/temp/_sha1_map.txt index 7818b0a..52c1d51 100644 --- a/Test/DictTest/temp/_sha1_map.txt +++ b/Test/DictTest/temp/_sha1_map.txt @@ -1,15 +1,15 @@ -04e5fe47ff2af528:includes/memhub.vp +0335b22a0838d62a:main.vp 20cd49775c100a38:includes/json\__writer.vp +2408ce147bac090b:includes/memhub.vp 240a9a4157959a9f:includes/json\__parser.vp 285b6aa29a34754d:includes/stdio.vp +2c175afd85852faf:includes/viperio.vp +40b053f21c0df07c:includes/string.vp 6c658cc728d0bbf4:includes/stdlib.vp 6ddf430432a0e373:includes/json\__init__.vp 748d0424e8976fa0:includes/testcheck.vp -928c0ff6d8c69ec9:includes/string.vp aa246c6e6aa30484:includes/atom.vp -b3c2b99b6f3be4c7:main.vp bbdf3bbd4c3bc28c:includes/w32\win32console.vp -c9f4be41ca1cc2b4:includes/viperio.vp e0f0afe3caa1e486:includes/_dict.vp f5522571bcce7bcb:includes/stdint.vp fc980acec33d69a7:includes/w32\win32base.vp diff --git a/Test/DictTest/temp/b3c2b99b6f3be4c7.doc.json b/Test/DictTest/temp/b3c2b99b6f3be4c7.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/Test/DictTest/temp/b3c2b99b6f3be4c7.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/DictTest/temp/b3c2b99b6f3be4c7.vpi b/Test/DictTest/temp/b3c2b99b6f3be4c7.vpi deleted file mode 100644 index fdd1e50..0000000 --- a/Test/DictTest/temp/b3c2b99b6f3be4c7.vpi +++ /dev/null @@ -1,17 +0,0 @@ -""" -Auto-generated Python stub file from main.vp -Module: main -""" - - -from stdint import * -import w32.win32console -import t, c -from t import CInt, CExport -import stdio -import stdlib -import string -import memhub -import testcheck - -def main() -> CInt | CExport: pass diff --git a/Test/DictTest/temp/c9f4be41ca1cc2b4.stub.ll.dep b/Test/DictTest/temp/c9f4be41ca1cc2b4.stub.ll.dep deleted file mode 100644 index 793e7ed..0000000 --- a/Test/DictTest/temp/c9f4be41ca1cc2b4.stub.ll.dep +++ /dev/null @@ -1 +0,0 @@ -f5522571bcce7bcb \ No newline at end of file diff --git a/Test/DictTest/temp/c9f4be41ca1cc2b4.vpi b/Test/DictTest/temp/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index f7ed5fd..0000000 --- a/Test/DictTest/temp/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.vp -Module: viperio -""" - - -import t, c -from stdint import * - -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self: Buf, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT = 0, owned: bool = False) -> t.CInt: pass - def clear(self: Buf) -> t.CInt: pass - def write(self: Buf, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self: Buf) -> t.CChar | t.CPtr: pass - def reset(self: Buf) -> t.CInt: pass - def __enter__(self: Buf) -> 'Buf' | t.CPtr: pass - def __exit__(self: Buf) -> t.CInt: pass - def free(self: Buf) -> t.CInt: pass \ No newline at end of file diff --git a/Test/DictTest/temp/e0f0afe3caa1e486.stub.ll.dep b/Test/DictTest/temp/e0f0afe3caa1e486.stub.ll.dep index 9399bc1..8a8431d 100644 --- a/Test/DictTest/temp/e0f0afe3caa1e486.stub.ll.dep +++ b/Test/DictTest/temp/e0f0afe3caa1e486.stub.ll.dep @@ -1 +1 @@ -04e5fe47ff2af528|20cd49775c100a38|240a9a4157959a9f|285b6aa29a34754d|6c658cc728d0bbf4|6ddf430432a0e373|928c0ff6d8c69ec9|aa246c6e6aa30484|c9f4be41ca1cc2b4|f5522571bcce7bcb \ No newline at end of file +20cd49775c100a38|2408ce147bac090b|240a9a4157959a9f|285b6aa29a34754d|2c175afd85852faf|40b053f21c0df07c|6c658cc728d0bbf4|6ddf430432a0e373|aa246c6e6aa30484|f5522571bcce7bcb \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt b/Test/DocTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt index 8c2cb2a..aecf391 100644 --- a/Test/DocTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt +++ b/Test/DocTest/.tpv_build/temp/03/03d3ece355d95d76.deps.txt @@ -1 +1 @@ -t c vipermath \ No newline at end of file +t c vipermath _list \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt b/Test/DocTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DocTest/.tpv_build/temp/06/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt b/Test/DocTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DocTest/.tpv_build/temp/06/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt b/Test/DocTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt deleted file mode 100644 index 29f4eea..0000000 --- a/Test/DocTest/.tpv_build/temp/1f/1f6617c02fc8899d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint string stdlib memhub t c \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/20/20cd49775c100a38.vpi b/Test/DocTest/.tpv_build/temp/20/20cd49775c100a38.vpi deleted file mode 100644 index 35a55ed..0000000 --- a/Test/DocTest/.tpv_build/temp/20/20cd49775c100a38.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from stdio import snprintf -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT -def _write_char(buf: t.CChar | t.CPtr, pos: t.CSizeT, ch: t.CChar) -> t.CSizeT: pass - -def _write_str(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_string_escaped(buf: t.CChar | t.CPtr, pos: t.CSizeT, s: t.CChar | t.CPtr) -> t.CSizeT: pass - -def _write_value(buf: t.CChar | t.CPtr, pos: t.CSizeT, val: JsonValue | t.CPtr, pool: memhub.MemManager | t.CPtr) -> t.CSizeT: pass - -def write(pool: memhub.MemManager | t.CPtr, val: JsonValue | t.CPtr, pretty: bool) -> t.CChar | t.CPtr: pass - diff --git a/Test/DocTest/.tpv_build/temp/24/240a9a4157959a9f.vpi b/Test/DocTest/.tpv_build/temp/24/240a9a4157959a9f.vpi deleted file mode 100644 index 8dd3a38..0000000 --- a/Test/DocTest/.tpv_build/temp/24/240a9a4157959a9f.vpi +++ /dev/null @@ -1,35 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -from . import JsonValue, JSON_NULL, JSON_BOOL, JSON_INT, JSON_FLOAT, JSON_STRING, JSON_ARRAY, JSON_OBJECT, null, bool_val, int_val, float_val, string_val, array, object -class ParseState: - src: t.CChar | t.CPtr - pos: t.CSizeT - len: t.CSizeT - pool: memhub.MemManager | t.CPtr - def __init__(self, src: t.CChar | t.CPtr, pool: memhub.MemManager | t.CPtr): pass - -def _peek(s: ParseState | t.CPtr) -> t.CChar: pass - -def _advance(s: ParseState | t.CPtr) -> t.CChar: pass - -def _skip_whitespace(s: ParseState | t.CPtr): pass - -def _expect(s: ParseState | t.CPtr, ch: t.CChar) -> bool: pass - -def _parse_string(s: ParseState | t.CPtr) -> t.CChar | t.CPtr: pass - -def _parse_number(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_value(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_array(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def _parse_object(s: ParseState | t.CPtr) -> JsonValue | t.CPtr: pass - -def parse(pool: memhub.MemManager | t.CPtr, src: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - diff --git a/Test/DocTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt b/Test/DocTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/Test/DocTest/.tpv_build/temp/33/33d64eeb99369a85.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperlib llvmlite.__types llvmlite.__values llvmlite.__function llvmlite.__module llvmlite.__builder llvmlite.__verify \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt b/Test/DocTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt index b092476..90b6af3 100644 --- a/Test/DocTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt +++ b/Test/DocTest/.tpv_build/temp/34/3487a256b250bb74.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt b/Test/DocTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/Test/DocTest/.tpv_build/temp/3e/3e775aa83705b119.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdeflate zdeflate zlib.zinflate zinflate zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff stdlib string memhub t c \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt b/Test/DocTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DocTest/.tpv_build/temp/3f/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt b/Test/DocTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/Test/DocTest/.tpv_build/temp/40/40c03bc03431ef81.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string stdio viperlib memhub linkedlist llvmlite.__types llvmlite.__function \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/45/451745df21e598af.deps.txt b/Test/DocTest/.tpv_build/temp/45/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/Test/DocTest/.tpv_build/temp/45/451745df21e598af.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zdef zdef zlib.zhuff zhuff string memhub t c \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt b/Test/DocTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt deleted file mode 100644 index 675a55f..0000000 --- a/Test/DocTest/.tpv_build/temp/63/63d0e4548b4c4672.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub stdio stdlib linkedlist \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt b/Test/DocTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/Test/DocTest/.tpv_build/temp/64/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt b/Test/DocTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/Test/DocTest/.tpv_build/temp/6b/6b3bc463fd044545.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__function llvmlite.__module \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt b/Test/DocTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DocTest/.tpv_build/temp/6d/6dde8fc09b24666c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi b/Test/DocTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi deleted file mode 100644 index 274a8af..0000000 --- a/Test/DocTest/.tpv_build/temp/6d/6ddf430432a0e373.vpi +++ /dev/null @@ -1,65 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -import memhub -import string -import viperio -JSON_NULL: t.CDefine = 0 -JSON_BOOL: t.CDefine = 1 -JSON_INT: t.CDefine = 2 -JSON_FLOAT: t.CDefine = 3 -JSON_STRING: t.CDefine = 4 -JSON_ARRAY: t.CDefine = 5 -JSON_OBJECT: t.CDefine = 6 -class JsonValue: - vtype: t.CInt - bool_val: t.CInt - int_val: t.CInt64T - float_val: t.CDouble - str_val: t.CChar | t.CPtr - next: 'JsonValue' | t.CPtr - key: t.CChar | t.CPtr - child: 'JsonValue' | t.CPtr - child_count: t.CSizeT - def __new__(self, pool: memhub.MemManager | t.CPtr): pass - def type(self) -> t.CInt: pass - def is_null(self) -> bool: pass - def is_bool(self) -> bool: pass - def is_int(self) -> bool: pass - def is_float(self) -> bool: pass - def is_string(self) -> bool: pass - def is_array(self) -> bool: pass - def is_object(self) -> bool: pass - def as_bool(self) -> bool: pass - def as_int(self) -> t.CInt64T: pass - def as_float(self) -> t.CDouble: pass - def as_string(self) -> t.CChar | t.CPtr: pass - def __len__(self) -> t.CSizeT: pass - def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass - def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass - def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass - def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass - def _append_child(self, child: 'JsonValue' | t.CPtr): pass - -def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass - -def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass - -def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass - -def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass - -def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass - -def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass - -def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass - -from .__parser import parse -from .__writer import write diff --git a/Test/DocTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt b/Test/DocTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DocTest/.tpv_build/temp/72/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt b/Test/DocTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/Test/DocTest/.tpv_build/temp/74/74cd54a2cba56957.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32process stdlib stdio string \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt b/Test/DocTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/Test/DocTest/.tpv_build/temp/87/874bac141c97bae9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt b/Test/DocTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt index 0ec8cde..65fe728 100644 --- a/Test/DocTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt +++ b/Test/DocTest/.tpv_build/temp/8e/8ebed83a7817fa0c.deps.txt @@ -1 +1 @@ -stdint t c \ No newline at end of file +stdint t c _list \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt b/Test/DocTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/Test/DocTest/.tpv_build/temp/90/90921d009fdd674c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zchecksum zchecksum zlib.zhuff zhuff zlib.zdef zdef string memhub t c \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt b/Test/DocTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt index b43b46a..5367dd4 100644 --- a/Test/DocTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt +++ b/Test/DocTest/.tpv_build/temp/99/995f884b86cf981e.deps.txt @@ -1 +1 @@ -t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork \ No newline at end of file +t stdint vqt6._types vqt6._qtcore vqt6._qtwidgets vqt6._qtgui vqt6._qtnetwork _list \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/_sha1_map.txt b/Test/DocTest/.tpv_build/temp/_sha1_map.txt index eabc9df..eb75dc6 100644 --- a/Test/DocTest/.tpv_build/temp/_sha1_map.txt +++ b/Test/DocTest/.tpv_build/temp/_sha1_map.txt @@ -1,17 +1,14 @@ aa246c6e6aa30484:includes/atom.vp -6ddf430432a0e373:includes/json/__init__.vp -240a9a4157959a9f:includes/json/__parser.vp -20cd49775c100a38:includes/json/__writer.vp -04e5fe47ff2af528:includes/memhub.vp +ac87eb59087b9c33:includes/builtins.vp +2a61eed4abe49e06:includes/memhub.vp f5522571bcce7bcb:includes/stdint.vp 285b6aa29a34754d:includes/stdio.vp 6c658cc728d0bbf4:includes/stdlib.vp -928c0ff6d8c69ec9:includes/string.vp +40b053f21c0df07c:includes/string.vp 748d0424e8976fa0:includes/testcheck.vp -c9f4be41ca1cc2b4:includes/viperio.vp -fc980acec33d69a7:includes/w32/win32base.vp -bbdf3bbd4c3bc28c:includes/w32/win32console.vp -e0f0afe3caa1e486:includes/_dict.vp +2c175afd85852faf:includes/viperio.vp +e710417730391023:includes/w32/win32base.vp +db613a1bd6a3ca26:includes/w32/win32console.vp 7cadfe07e983fd90:includes/_list.vp 14a9b576ab5d21c9:main.vp f26d7266c4f8762b:remote.vp diff --git a/Test/DocTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt b/Test/DocTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt index b092476..90b6af3 100644 --- a/Test/DocTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt +++ b/Test/DocTest/.tpv_build/temp/a4/a44503977f4f5951.deps.txt @@ -1 +1 @@ -t c \ No newline at end of file +t c _list \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt b/Test/DocTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt deleted file mode 100644 index 49760f6..0000000 --- a/Test/DocTest/.tpv_build/temp/a7/a7748ef067f79205.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub stdio linkedlist llvmlite.__types llvmlite.__values llvmlite.__function \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt b/Test/DocTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/Test/DocTest/.tpv_build/temp/af/af37c9ab38eea99e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt b/Test/DocTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt index ffede5f..680a6a8 100644 --- a/Test/DocTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt +++ b/Test/DocTest/.tpv_build/temp/b3/b311b47f33281389.deps.txt @@ -1 +1 @@ -t memhub string \ No newline at end of file +t memhub string _list \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt b/Test/DocTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DocTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi b/Test/DocTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi deleted file mode 100644 index 4dace02..0000000 --- a/Test/DocTest/.tpv_build/temp/bb/bbdf3bbd4c3bc28c.vpi +++ /dev/null @@ -1,141 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -from w32.win32base import * -ENABLE_PROCESSED_INPUT: t.CDefine = 1 -ENABLE_LINE_INPUT: t.CDefine = 2 -ENABLE_ECHO_INPUT: t.CDefine = 4 -ENABLE_WINDOW_INPUT: t.CDefine = 8 -ENABLE_MOUSE_INPUT: t.CDefine = 16 -ENABLE_INSERT_MODE: t.CDefine = 32 -ENABLE_QUICK_EDIT_MODE: t.CDefine = 64 -ENABLE_EXTENDED_FLAGS: t.CDefine = 128 -ENABLE_PROCESSED_OUTPUT: t.CDefine = 1 -ENABLE_WRAP_AT_EOL_OUTPUT: t.CDefine = 2 -ENABLE_VIRTUAL_TERMINAL_PROCESSING: t.CDefine = 4 -DISABLE_NEWLINE_AUTO_RETURN: t.CDefine = 8 -ENABLE_LVB_GRID_WORLDWIDE: t.CDefine = 16 -FOREGROUND_BLUE: t.CDefine = 1 -FOREGROUND_GREEN: t.CDefine = 2 -FOREGROUND_RED: t.CDefine = 4 -FOREGROUND_INTENSITY: t.CDefine = 8 -BACKGROUND_BLUE: t.CDefine = 16 -BACKGROUND_GREEN: t.CDefine = 32 -BACKGROUND_RED: t.CDefine = 64 -BACKGROUND_INTENSITY: t.CDefine = 128 -KEY_EVENT: t.CDefine = 1 -MOUSE_EVENT: t.CDefine = 2 -WINDOW_BUFFER_SIZE_EVENT: t.CDefine = 4 -MENU_EVENT: t.CDefine = 8 -FOCUS_EVENT: t.CDefine = 16 -class COORD: - X: SHORT - Y: SHORT - -class SMALL_RECT: - Left: SHORT - Top: SHORT - Right: SHORT - Bottom: SHORT - -class CONSOLE_SCREEN_BUFFER_INFO: - dwSize: COORD - dwCursorPosition: COORD - wAttributes: WORD - srWindow: SMALL_RECT - dwMaximumWindowSize: COORD - -class CONSOLE_CURSOR_INFO: - dwSize: ULONG - bVisible: BOOL - -class CHAR_INFO: - UnicodeChar: WCHAR - Attributes: WORD - -class KEY_EVENT_RECORD: - bKeyDown: BOOL - wRepeatCount: WORD - wVirtualKeyCode: WORD - wVirtualScanCode: WORD - uChar: WCHAR - dwControlKeyState: ULONG - -class MOUSE_EVENT_RECORD: - dwMousePosition: COORD - dwButtonState: ULONG - dwControlKeyState: ULONG - dwEventFlags: ULONG - -class WINDOW_BUFFER_SIZE_RECORD: - dwSize: COORD - -class INPUT_RECORD: - EventType: WORD - Event: KEY_EVENT_RECORD - -def SetConsoleOutputCP(codepage: UINT) -> BOOL | t.State: pass - -def SetConsoleCP(codepage: UINT) -> BOOL | t.State: pass - -def GetConsoleCP() -> UINT | t.State: pass - -def GetConsoleOutputCP() -> UINT | t.State: pass - -def GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL | t.State: pass - -def SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL | t.State: pass - -def GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: CONSOLE_CURSOR_INFO | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterA(hConsoleOutput: HANDLE, cCharacter: t.CChar, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputCharacterW(hConsoleOutput: HANDLE, cCharacter: WCHAR, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfCharsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FillConsoleOutputAttribute(hConsoleOutput: HANDLE, wAttribute: WORD, nLength: ULONG, dwWriteCoord: COORD, lpNumberOfAttrsWritten: ULONG | t.CPtr) -> BOOL | t.State: pass - -def WriteConsoleA(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: t.CConst | VOIDPTR, nNumberOfCharsToWrite: ULONG, lpNumberOfCharsWritten: ULONG | t.CPtr, lpReserved: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleA(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: VOIDPTR, nNumberOfCharsToRead: ULONG, lpNumberOfCharsRead: ULONG | t.CPtr, pInputControl: VOIDPTR) -> BOOL | t.State: pass - -def GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ULONG | t.CPtr) -> BOOL | t.State: pass - -def SetConsoleMode(hConsoleHandle: HANDLE, dwMode: ULONG) -> BOOL | t.State: pass - -def ReadConsoleInputA(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: INPUT_RECORD | t.CPtr, nLength: ULONG, lpNumberOfEventsRead: ULONG | t.CPtr) -> BOOL | t.State: pass - -def GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: ULONG | t.CPtr) -> BOOL | t.State: pass - -def FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL | t.State: pass - -def SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL | t.State: pass - -def SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL | t.State: pass - -def GetConsoleTitleA(lpConsoleTitle: CHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def GetConsoleTitleW(lpConsoleTitle: WCHARPTR, nSize: ULONG) -> ULONG | t.State: pass - -def AllocConsole() -> BOOL | t.State: pass - -def FreeConsole() -> BOOL | t.State: pass - -def SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: SMALL_RECT | t.CPtr) -> BOOL | t.State: pass - -def ScrollConsoleScreenBufferA(hConsoleOutput: HANDLE, lpScrollRectangle: SMALL_RECT | t.CPtr, lpClipRectangle: SMALL_RECT | t.CPtr, dwDestinationOrigin: COORD, lpFill: CHAR_INFO | t.CPtr) -> BOOL | t.State: pass - diff --git a/Test/DocTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt b/Test/DocTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/Test/DocTest/.tpv_build/temp/c3/c3a6aed1f1fb8b1e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stdlib string vipermath stdio t c memhub \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt b/Test/DocTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/Test/DocTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi b/Test/DocTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi deleted file mode 100644 index 885e69d..0000000 --- a/Test/DocTest/.tpv_build/temp/c9/c9f4be41ca1cc2b4.vpi +++ /dev/null @@ -1,19 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -from stdint import * -class Buf: - data: t.CChar | t.CPtr - length: t.CSizeT - capacity: t.CSizeT - owned: bool - def __init__(self, data: t.CChar | t.CPtr, capacity: t.CSizeT, length: t.CSizeT, owned: bool): pass - def clear(self): pass - def write(self, src: t.CChar | t.CPtr, count: t.CSizeT) -> t.CSizeT: pass - def cstr(self) -> t.CChar | t.CPtr: pass - def reset(self): pass - def __enter__(self) -> 'Buf' | t.CPtr: pass - def __exit__(self): pass - def free(self): pass - diff --git a/Test/DocTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt b/Test/DocTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt deleted file mode 100644 index b092476..0000000 --- a/Test/DocTest/.tpv_build/temp/d3/d3917d97537f703c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt b/Test/DocTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/Test/DocTest/.tpv_build/temp/d5/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt b/Test/DocTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt index 4bc7daa..0cd6b2a 100644 --- a/Test/DocTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt +++ b/Test/DocTest/.tpv_build/temp/e0/e0f0afe3caa1e486.deps.txt @@ -1 +1 @@ -t c memhub string json stdint \ No newline at end of file +t c memhub string json stdint _dict \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi b/Test/DocTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi deleted file mode 100644 index 7f9cd6c..0000000 --- a/Test/DocTest/.tpv_build/temp/e0/e0f0afe3caa1e486.vpi +++ /dev/null @@ -1,49 +0,0 @@ -"""Auto-generated Python stub file""" - - -import t, c -import memhub -import string -import json -from stdint import * -VARIANT_NONE: t.CDefine = 0 -VARIANT_INT: t.CDefine = 1 -VARIANT_FLOAT: t.CDefine = 2 -VARIANT_DOUBLE: t.CDefine = 3 -VARIANT_STR: t.CDefine = 4 -VARIANT_DICT: t.CDefine = 5 -VARIANT_LIST: t.CDefine = 6 -VARIANT_BOOL: t.CDefine = 7 -VARIANT_PTR: t.CDefine = 8 -_VARIANT_SIZE: t.CDefine = 16 -class dict: - __keys__: t.CPtr - __values__: t.CPtr - __count__: t.CSizeT - __capacity__: t.CSizeT - __mbuddy__: memhub.MemBuddy | t.CPtr - __iter_index__: t.CSizeT - def __new__(self, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass - def __init__(self, mb: memhub.MemBuddy | t.CPtr): pass - def __len__(self) -> t.CSizeT: pass - def _find(self, key: str) -> t.CSizeT: pass - def __getitem__(self, key: str) -> t.CPtr: pass - def __setitem__(self, key: str, val: t.CNeedPtr): pass - def _set_variant_raw(self, key: str, vtype: t.CInt, ptr: t.CPtr): pass - def set_int(self, key: str, val: int): pass - def set_str(self, key: str, val: str): pass - def set_float(self, key: str, val: float): pass - def set_double(self, key: str, val: t.CDouble): pass - def set_dict(self, key: str, val: dict | t.CPtr): pass - def set_list(self, key: str, val: t.CPtr): pass - def set_bool(self, key: str, val: t.CInt): pass - def get_vtype(self, key: str) -> t.CInt: pass - def get(self, key: str, default: t.CPtr) -> t.CPtr: pass - def contains(self, key: str) -> t.CInt: pass - def __iter__(self) -> dict | t.CPtr: pass - def __next__(self) -> str: pass - def to_json(self, pool: memhub.MemManager | t.CPtr) -> json.JsonValue | t.CPtr: pass - def from_json(self, pool: memhub.MemManager | t.CPtr, root: json.JsonValue | t.CPtr): pass - def dumps(self, pool: memhub.MemManager | t.CPtr) -> str: pass - def loads(self, pool: memhub.MemManager | t.CPtr, json_str: str): pass - diff --git a/Test/DocTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt b/Test/DocTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/Test/DocTest/.tpv_build/temp/f6/f6ab8989f3545e83.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt b/Test/DocTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/Test/DocTest/.tpv_build/temp/f6/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt b/Test/DocTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/Test/DocTest/.tpv_build/temp/f9/f9e36e2cd6fa659f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string viperlib memhub linkedlist llvmlite.__types \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt b/Test/DocTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt deleted file mode 100644 index c6ad617..0000000 --- a/Test/DocTest/.tpv_build/temp/fc/fc980acec33d69a7.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint \ No newline at end of file diff --git a/Test/DocTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi b/Test/DocTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi deleted file mode 100644 index 32c489d..0000000 --- a/Test/DocTest/.tpv_build/temp/fc/fc980acec33d69a7.vpi +++ /dev/null @@ -1,101 +0,0 @@ -"""Auto-generated Python stub file""" - -import c - -import t -from stdint import * -HANDLE: t.CTypedef = VOIDPTR -LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr -LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr -INVALID_HANDLE_VALUE: t.CDefine = 4294967295 -NULL: t.CDefine = 0 -TRUE: t.CDefine = 1 -FALSE: t.CDefine = 0 -INFINITE: t.CDefine = 4294967295 -WAIT_FAILED: t.CDefine = 4294967295 -WAIT_OBJECT_0: t.CDefine = 0 -WAIT_TIMEOUT: t.CDefine = 258 -WAIT_ABANDONED: t.CDefine = 128 -MAX_PATH: t.CDefine = 260 -ERROR_SUCCESS: t.CDefine = 0 -ERROR_FILE_NOT_FOUND: t.CDefine = 2 -ERROR_ACCESS_DENIED: t.CDefine = 5 -ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122 -class SECURITY_ATTRIBUTES: - nLength: ULONG - lpSecurityDescriptor: VOIDPTR - bInheritHandle: BOOL - -class OVERLAPPED: - Internal: ULONGLONG - InternalHigh: ULONGLONG - Offset: ULONG - OffsetHigh: ULONG - hEvent: HANDLE - -class FILETIME: - dwLowDateTime: DWORD - dwHighDateTime: DWORD - -class SYSTEMTIME: - wYear: WORD - wMonth: WORD - wDayOfWeek: WORD - wDay: WORD - wHour: WORD - wMinute: WORD - wSecond: WORD - wMilliseconds: WORD - -class GUID: - Data1: DWORD - Data2: WORD - Data3: WORD - Data4: BYTEPTR - -class LARGE_INTEGER: - QuadPart: LONGLONG - -class ULARGE_INTEGER: - QuadPart: ULONGLONG - -def GetLastError() -> ULONG | t.State: pass - -def SetLastError(dwErrCode: ULONG) -> t.State: pass - -def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass - -def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass - -def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass - -def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass - -def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass - -def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass - -def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass - -def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass - -def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass - -def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass - -def Sleep(dwMilliseconds: ULONG) -> t.State: pass - -def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass - -def GetTickCount() -> ULONG | t.State: pass - -def GetTickCount64() -> ULONGLONG | t.State: pass - -def GetCommandLineA() -> CHARPTR | t.State: pass - diff --git a/Test/DocTest/output/14a9b576ab5d21c9.deps.json b/Test/DocTest/output/14a9b576ab5d21c9.deps.json index 0125fe7..506105f 100644 --- a/Test/DocTest/output/14a9b576ab5d21c9.deps.json +++ b/Test/DocTest/output/14a9b576ab5d21c9.deps.json @@ -1 +1 @@ -{"stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"stdio": "285b6aa29a34754d", "string": "4c39369ffedaddac", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/DocTest/output/748d0424e8976fa0.deps.json b/Test/DocTest/output/748d0424e8976fa0.deps.json index e702d0a..ac84e38 100644 --- a/Test/DocTest/output/748d0424e8976fa0.deps.json +++ b/Test/DocTest/output/748d0424e8976fa0.deps.json @@ -1 +1 @@ -{"main": "14a9b576ab5d21c9", "stdio": "285b6aa29a34754d", "testcheck": "748d0424e8976fa0", "string": "928c0ff6d8c69ec9", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file +{"main": "14a9b576ab5d21c9", "stdio": "285b6aa29a34754d", "string": "4c39369ffedaddac", "testcheck": "748d0424e8976fa0", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb", "w32.win32base": "fc980acec33d69a7", "win32base": "fc980acec33d69a7"} \ No newline at end of file diff --git a/Test/DocTest/output/_shared_sym_includes.pickle b/Test/DocTest/output/_shared_sym_includes.pickle index 61874ca6ce63bf6198b6059138b8a7d18583c37d..b1846954c6d50340383788da83f2307ff6a75e83 100644 GIT binary patch literal 449366 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 r1bRdx`dQBtCBJwWV`fq@CJpHi>_xA~5 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